MFA 코드와 AWS CLI를 이용해 로그인하기

  • Post Author:
  • Post Category:칼럼
  • Post Comments:1 Comment
  • Post last modified:March 10, 2020
This entry is part 8 of 13 in the series Cloud Security

AWS 명령줄 도구에서 MFA 로그인을 해야 하는 상황이 있다. 로그인하는 방법은 Authenticate Access using MFA Through the AWS CLI에서 자세히 설명하지만 이 글을 다 읽는다 해도 그 과정이 엄청나게 번거롭다는 생각에 정신이 아득해질 뿐이다.

그래서! 인생을 편하게 해줄 간단한 스크립트를 작성했다. 사용법은 매우 간단하다.

$ awslogin.sh
This will save new AWS credentials into the profile aws4-mfa once signed with MFA token, which issued with the profile aws4.

Would you like to proceed? [y/n]:

$ AWS_LOGIN_PROFILE=my-profile AWS_PROFILE=my-profile-mfa awslogin.sh 987654
Successfully logged in

혹시라도 실패하는 경우에는 간단하게 안내를 해준다.

An error occurred (AccessDenied) when calling the GetSessionToken operation: MultiFactorAuthentication failed with invalid MFA one time pass code.

USAGE: source awslogin.sh 123456
See https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

오류 문구

이 스크립트를 사용하려면 먼저 AWS의 Access key와 Secret key를 ~/.aws/credentials 파일이나 환경변수로 등록해야 한다. 그리고 AWS_LOGIN_PROFILEAWS_PROFILEdirenv 같은 도구를 이용해 설정하면 더욱 편리하다.

  • AWS_LOGIN_PROFILE: AWS에서 발급 받은 키 값을 가진 Profile을 적는다.
  • AWS_PROFILE: awslogin.sh로 MFA 로그인하면 임시로 세션을 발급 받는데 그 세션 토큰 값을 저장할 Profile을 가리킨다.

https://gist.github.com/andromedarabbit/d3ee35b234b5951a8c3e0a83e8f80172

Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
follow me
  • RT @not_unot_u: 네 번째 올리신 청원글이에요. 너무 고생하고 계시는데 동의 한 번 씩 부탁드립니다. 거의 다 왔습니다! 7월 11일 마감인데 이제 2만명만 채우면 청와대 답변 받을 수 있어요. https://t.co/3mVDM3jsrP
    24 hours ago
  • 그런데 전화를 받은 윤석열 검찰총장이 박 장관에게 ‘(조국 후보자가) 이제 그만 물러나라는 뜻으로 제가 (압수수색을) 지시했습니다’ 이렇게 말했다는 거지. 윤석열을 대통령으로 뽑은 기억은 없는데 희안하구만 https://t.co/yEEQXfey4g
    1 day ago
  • 훌륭한 시스템을 체험하지 못한 사람이 시스템의 부재로 야기되는 문제를 인식할 수 있을까? “난 잘하고 있는데 왜 너는 자꾸 불평하느냐?”라고 생각하지 않을까?
    2 days ago
Buy me a coffeeBuy me a coffee
×
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
Latest Posts