안녕하세요~
이번에는 업비트API에 접근하기 위한 Secret Key/Access Key 를 분리보관하는 방법에 대해 적어보겠습니다.
Secret Key 와 Access Key가 공개되면 , 누구든지 업비트 API에 접근하여 제 계좌정보 등을 알 수 있기때문에 보안에 유의해야 하는데요,
이를 위한 방법으로는 두 가지 가 있습니다.
◆ JSON, XML 등의 파일에 Key를 저장해두고 파싱하여 사용하는 방법 ◆ os 환경변수에 저장해둔 후, 호출하여 사용 |
저는 개인적으로 두 번째 방법을 선호하여, 해당 방법으로 구현했습니다.
첫번째 방법은, 제 로컬 코드 전체가 실수로 공유되었을 때 제 key전체가 공개될 수도 있고..
혹시라도 제가 git 에 배포할때 ignore 없이 다 올려버릴수도 있기때문입니다..
저는 MAC OS를 사용하기에 , mac OS 기준으로 설명드리겠습니다.
우선 터미널을 켜서, 루트 디렉토리로 이동한 뒤, ~/.bash_profile 명령어 사용하여 파일 열어줍니다.
bash_profile 은 시스템이 로드될 떄마다 구동되는 쉘로, 필요한 변수들을 저장해두면 용이합니다.
해당 파일을 vi editor 로 연 뒤
i 를 누르고 export 변수명 = "비밀번호" 작성 후 esc+:wq! 작성 후 빠져나옵니다.
export UPBIT_OPEN_API_ACCESS_KEY="발급받은 secret code"
wq 는 vi editor 를 빠져나올 떄 저장하고 나오겠다는 명령어입니다.
그냥 q로 빠져나오게 되면 저장하지 않고 나오겠다는 뜻이 됩니다.
해당 변경사항을 적용해주기 위해 ,
source ~/.bash_profile 명령어를 입력합니다.
해당 명령어가 error 없이 잘 수행되었다면
echo $UPBIT_OPEN_API_ACCESS_KEY
명령어를 입력해봅니다.
변수값이 제대로 출력된다면 , 환경변수가 제대로 저장된 것입니다.
아직 끝이아닙니다!
bash_profile은 로그인 시 구동되는 쉘이고, 터미널이 시작될때는 zsh쉘이 구동되므로,
터미널이 재구동 될 때마다 bash_profile에 적용된 내용이 날라갑니다.
따라서 zsh쉘에도 if 문을 작성하여 bash_profile 내용이 적용되도록 해주어야합니다.
vi ~/.zshrc 명령어를 입력 후
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
~
해당내용을 붙여넣고 마찬가지로 esc + :wq! 로 나오면 끝입니다.
이후에 소스에는 secret key나 access key를 입력하지않아도
os.environ 을 이용하여 환경변수를 가져와서 사용하면 됩니다.
(해당 소스는 upbit 개발자 사이트의 잔액정보 가져오기 api입니다)
'IT > [개발]코인자동매매' 카테고리의 다른 글
4. 비트코인 자동매매 - 변동성 돌파 전략이란 ? , 비트코인 일봉보기 (파이썬) (1) | 2022.02.26 |
---|---|
2. mac python pip 설치하기 , 업비트 module설치 (command not found: pip 에러) (0) | 2022.02.19 |
1. vscode(visual studio code)로 python 시작하기 (0) | 2022.02.19 |