aws sts get-session-token 결과를 내보내는 원라이너

2374 단어 tipsaws-cliAWS
AWS 하고 있으면 잘 나오는 이쪽의 Session Token의 Export. aws sts get-session-token 로 취득하면 됩니다만 매번 미묘하게 귀찮았습니다.
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=

Shell등으로 구현되고 있는 것도 발견했습니다만, 자신의 취향으로 원라이너로 했습니다.

Qiita의 기능으로 복사 버튼 눌러 사용하면 편리합니다.


출력하여 다른 터미널에 붙여 싶을 때는 출력하여 복사.
aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}'

자신의 세션에서 사용할 때는 eval하면 환경 변수로 읽어줍니다.
eval $(aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}')

WSL이라면 마지막으로 clip.exe 를 사용하여 클립보드에 COPY해도 편리합니다.
aws sts get-session-token --query 'Credentials | {A:AccessKeyId,B:SecretAccessKey,C:SessionToken}' --output yaml | awk  'NR==1{print "export AWS_ACCESS_KEY_ID="$2} NR==2{print "export AWS_SECRET_ACCESS_KEY="$2} NR==3{print "export AWS_SESSION_TOKEN="$2}' | clip.exe

좋은 웹페이지 즐겨찾기