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

  • Post author:
  • Post category:칼럼
  • Post comments:1 Comment
  • Post last modified:March 10, 2020

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 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
트위터
  • Dec 6, 2021
    아, 이런 시도가 나쁘다는 말은 아니고 그저 문서만 봐선 더 쉬워보이지 않는다는 정도랄까. 짬날 때 어떤 가치가 있는지 들여다볼 필요가 있겠다
  • Dec 6, 2021
    재택근무하다 말고 온 가족이 선별진료소로 가는 와중에 나는 조수석에 앉아 아이패드와 에어팟으로 원격회의에 참석하고(경황이 없어 취소도 못…) 정신은 없었으나 선별진료소 근방의 주차상황까지 공유가 된 터라… https://t.co/02zsjvFXqK
  • Dec 6, 2021
    유치원에 확진자 나오니 원과 학부모의 신속한 대응이란. 순식간에 가장 대기시간이 짧은 선별진료소가 어디인지까지 서로 정보 공유하고 불과 몇시간 만에 전원이 집에 돌아왔다. 진료소 가는 길에 백신이 전혀 쓸모… https://t.co/9O85nAvva1

This Post Has One Comment

Leave a Reply