바이낸스 API 보안을 위한 환경 변수 설정 : 윈도우 10

바이낸스 API 보안을 위한 환경 변수 설정 : 윈도우 10

이번 포스팅에서는 바이낸스 API 보안을 유지할 수 있는 키 관리 방법에 대해 알아보겠습니다. 물론 바이낸스 뿐만 아니라 API key로 인증하는 모든 곳에 적용 가능합니다. API Key를 윈도우 10 환경 변수로 설정하는 방법과 파이썬 코드에서 환경 변수를 불러오는 방법을 확인해 보시기 바랍니다.


글의 순서

API 보안의 중요성
API 보안을 위한 Key 보관 방법
파이썬 코드에서 API Key 사용 : os 내장 모듈
환경변수 (environment variable)
환경변수 설정 : 윈도우 10


API 보안의 중요성

API 중에서는 API Key를 통해서 사용권한을 통제하는 것도 있습니다. 이 통제 과정을 영어로는 authentication이라고 하고, 우리말로는 인증이라고 합니다. API Key, API Secret으로 인증하는 API가 쓰기 편한 경우가 많습니다. 코인 거래소 중 바이낸스나 업비트도 API Key로 간편하게 인증하며, 인증 후에는 계좌조회부터 코인 매매까지 원하는 작업을 할 수 있습니다.

이렇게 간편한 만큼 만약 해커가 이 API Key, API Secret을 손에 넣는다면 간편하게 돈을 빼내 올 수도 있습니다. 따라서, API Key는 은행계좌의 비밀번호와 같은 수준으로 관리해야 합니다. 누군가 나의 API Key를 안다면 내 코인 계좌에 마음껏 들락거릴 수 있습니다. 내 계좌에 들어와서 계좌이체 한다면 내 계좌에 있던 코인은 사라지는 것입니다.



API 보안을 위한 Key 보관 방법

API 연동을 위해 필요한 API Key, API Secret는 보안 상 코드에 저장하면 안 됩니다. 여기서 API Key, API Secret는 각각 API에 접근하기 위한 접근키(access key)와 보안키(secret key)를 의미합니다. 꼭 기억해 둘 사항은 ‘API Key를 코드 상에 저장하면 안 된다.’는 것입니다.

API Key, API Secret 보안성을 높일 수 있는 방법 중 하나가 시스템의 환경 변수로 설정해 두고 쓰는 방법입니다. API Key, API Secret를 환경 변수로 설정해 두고 사용하실 것을 추천합니다.

지금부터는 파이썬 코드에서 os 내장모듈로 환경 변수를 불러오는 방법을 복습한 뒤, 환경 변수의 의미부터 윈도우 10에서 API Key를 환경 변수로 저장하는 방법까지 알아보겠습니다.


파이썬 코드에서 API Key 사용 : os 내장 모듈

환경변수로 저장해 둔 API Key를 파이썬 코드에서는 os 모듈을 이용해서 읽어올 수 있습니다. ‘바이낸스 코인거래소 API Key로 계좌에 접속하는 파이썬 프로그래밍’이란 포스팅에서 이부분을 간단히 설명하였는데요. 아래 코드는 Binan_API_KEY, Binan_SECRET_KEY라는 환경 변수에 키 값을 저장해 두고 읽어오는 방법을 보여주고 있습니다. 만약 이 코드를 실행시켰는데, 혹시 환경 변수 이름이 틀려서 api_key라는 변수에 아무런 값이 담기지 않았다면 ‘None’을 출력합니다.


환경변수 (environment variable)

환경변수는 사용자가 어떤 위치에서든 확인하고 갖다 쓸 수 있는 값을 의미합니다. 환경변수를 설정해 놓으면 언제, 어디서든 그것을 사용할 수 있습니다. 우리는 필요에 따라 환경변수를 추가하거나, 수정하거나, 제거할 수도 있습니다.

예를 들어 파이썬 프로그래밍을 할 때, 어떤 터미널에서도 파이썬을 실행시키려면 Path라는 환경변수에 파이썬 프로그램이 설치되어 있는 폴더가 표시되어 있어야 합니다. API Key도 마찬가지입니다. API_Key라는 환경변수에 키 값을 저장해 두면 됩니다.


환경변수 설정 : 윈도우 10

환경 변수를 설정하는 경로로 들어가는 방법은 다양한데요. 가장 간단한 방법부터 3가지 정도의 방법을 정리하면 다음과 같습니다.

▶ 윈도우 화면 맨 아래에 있는 작업표시줄 검색 창에서 ‘환경 변수’ 입력 후 엔터. 이때 중요한 것은 ‘환경 변수’처럼 환경과 변수 사이를 한 칸 띄워야 한다는 것입니다.
▶ 설정 → 시스템 → 정보 → 고급시스템 설정 → 환경 변수
▶ 윈도우 탐색기 : 내 PC → 마우스 오른쪽 클릭 → 속성 → 고급 시스템 설정 → 고급 탭 → 환경 변수

이 경로로 들어가면 ‘사용자 변수’ 또는 ‘시스템 변수’에 원하는 환경변수를 추가할 수 있습니다. 이 중 ‘시스템 변수’는 이 컴퓨터를 사용하는 모든 사용자가 사용할 수 있는 환경 변수입니다. 두 가지 정도의 환경변수를 예로 들어보겠습니다.

(1) Binan_API_KEY에 API Key를 저장하는 방법

Binan_API_KEY라는 환경 변수를 만들고, 이 변수에 바이낸스에서 받은 API Key를 추가해 보겠습니다. 위의 방법을 따라 환경 변수 창까지 갑니다. 환경 변수 창에서 ‘새로 만들기’ 버튼을 클릭합니다. 그러면 ‘새 사용자 변수’라는 창이 뜨는데, 여기에는 ‘변수 이름’과 ‘변수 값’을 입력하게 되어 있습니다.

만약 Binan_API_KEY라는 변수를 환경 변수로 사용하고자 한다면, ‘변수 이름’에 Binan_API_KEY를 입력하고, ‘변수 값’에 복사해 둔 API Key 값을 붙여넣기 하면 됩니다.

(2) Path에 파이썬 설치 경로를 저장하는 방법

만약 Path 라는 환경 변수에 파이썬이 설치되어 있는 폴더를 추가해 놓는다면, 어떤 위치에서도 파이썬을 실행시킬 수 있습니다. Path라는 환경 변수를 추가하는 방법도 간단합니다. 시스템 변수에서 Path를 찾아 선택한 후 ‘편집’ 버튼을 클릭하면 ‘환경 변수 편집’이라는 창이 뜹니다. 이 창의 오른쪽 맨 위에 ‘새로 만들기’ 버튼을 클릭한 후 파이썬이 설치되어 있는 폴더를 추가합니다. 예를 들어 파이썬이 ‘C:\Program Files\Python310’라는 폴더에 설치되어 있다면 ‘C:\Program Files\Python310’이 그대로 추가됩니다.


마치며 …

바이낸스 API는 API Key를 통해 인증합니다. 인증을 마치고 나면, 파이썬 코드로 바이낸스에서 계좌정보를 가져오는 것은 물론이고, 코인을 매매할 수도 있습니다. 그만큼 API 보안에 신경써야 합니다.

이번 포스팅에서는 바이낸스 API 보안을 유지할 수 있는 키 관리 방법에 대해 알아보았습니다. 이 포스팅에서 제시한 방법은 바이낸스 뿐만 아니라 API key로 인증하는 모든 곳에 적용 가능합니다. 핵심은 API Key를 코드 상에 저장하지 말고, 시스템 환경 변수로 저장한 후 사용할 것을 추전한다는 것입니다. 파이썬의 os 내장 모듈의 os.getenv도 기억해 주시기 바랍니다.

 

 

함께 참고하면 더 좋은 글 :
1. 바이낸스 코인거래소 API Key로 계좌에 접속하는 파이썬 프로그래밍
2. 파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍
3. 업비트 REST API를 이용한 비트코인 가격 추출 파이썬 프로그래밍
4. 파이썬 IDE 설정. 비주얼 스튜디오 코드(Visual Studio Code, VS code)


참고자료

DaleSeo, 파이썬에서 환경 변수 읽어오기 (os.environ)

Leave a Comment