매개변수를 사용하여 AWS를 안전하게 체크 아웃하는 액세스 키 저장
이마
최근 AWS의 액세스 키가 GiitHub로 잘못 올라간 경우도 있다고 한다.
이를 막기 위한 수단으로 환경 변수에 수치를 삽입하고 읽는 방법 등이 있다고 하는데 AWS의 SystemManager에 매개 변수 저장 기능이 있다는 것을 알고 있다.
이번에는 이 기능을 사용해서 파이톤에서 접근 키를 얻으려고 합니다.
추기
다음과 같은 의견을 받았습니다.
액세스 키를 사용하지 않고 IAM 스크롤 막대를 사용하는 것이 좋습니다.
맞습니다...이번에는 우리의 여러 가지 상황에 액세스 키가 필요하기 때문에 이 방법으로 액세스 키를 얻었다.
그러니 그런 경우가 없다면 IAM 캐릭터를 쓰세요.
또한 이 매개변수는 ECS 등을 통해 환경 변수를 설정할 때 유용한 기능으로 저장됩니다.예를 들어 DB의 비밀번호 등을 명문으로 환경 변수 등을 채우지 않아도 된다고 열거했다.
(참조: ECS에서 기밀 정보를 환경 변수로 간단히 확장할 수 있습니다!
환경 확인
Amazon Linux AMI release 2018.03
실현 방법
GUI를 사용한 작업(물론 CLI도 가능)
이번에는 아래의 설정으로 수치를 만들겠습니다.값을 입력한 후
パラメータの作成
를 누릅니다.名前: /project/test
説明: test param
利用枠: 標準
タイプ: 安全な文字列
KMSの主要なソース(安全な文字列を選んだ場合選択): 現在のアカウント
KMSキーID: alias/aws/ssm
値: hello project
タグ: 空
잘 되면 이런 음반을 만들 수 있을 것 같아요. 이상은 콘솔 쪽에서 진행됐습니다.
다음은 EC2 인스턴스에서의 작업입니다.
aws-Pramtore-py 설치
pip install aws-paramstore-py
특별한 의존성 없이 설치해야 한다.다음 코드를 실행하면 값을 얻을 수 있습니다
hello project
from boto3.session import Session
import aws_paramstore_py as paramstore
ssm = Session(profile_name='default').client('ssm', region_name='ap-northeast-1')
params = paramstore.get('/project', decryption=True, ssm_client=ssm)
print(params['test'])
가장 적합한 곳
그러나 KMS로 암호화하면
aws_paramstore_py
되돌아오는 값이 암호화된 정보를 직접 전달하기 때문에 적합하지 않다.저자의 GitHub를 보니
decryption=False
옵션이 있었다.이걸
True
로 만들면 디코딩이 돼요.대단히 기쁘다.참고 자료
Reference
이 문제에 관하여(매개변수를 사용하여 AWS를 안전하게 체크 아웃하는 액세스 키 저장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/retimiled/items/c8563dbf1aee50ca3bb1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)