AWS AccessKey 보안을 AWS MFA 인증 정보인 aws_session_token이 없는 경우 AWS CLI 관련 작업은 전부 차단됩니다. 그래서 간단하게 aws credential 정보인 aws_access_key_id 와 aws_secret_access_key와 mfa 장비 arn만 있으면 자동으로 mfa profile을 생성해주는 Python Script "aws-mfa" 를 소개해드리려고 합니다.
Installation
aws-mfa 스크립트를 설치하기 위해서는 아래의 명령어를 사용하시면 됩니다.
$ pip3 install aws-mfa
Configuration
우선 MFA Device를 추가하는 방법에 대해서 안내드립니다.
AWS Console에 로그인 하신 다음
보안 자격 증명을 클릭하셔서 MFA 생성 탭으로 내려가신 다음 MFA 디바이스 할당을 통해 MFA를 생성할 수 있습니다.
선택할 수 있는 MFA 디바이스 는 여러개 있지만, aws-mfa에서 사용할 수 있는 MFA 값은 인증 관리자 앱을 이용하는 방법이며
다음 으로 가서 인증 앱을 설치하고 QR 코드를 통해 MFA를 추가해주시면 됩니다.
aws-mfa 를 성공적으로 설치하셨고 MFA Device를 추가하여 OTP Token 값을 받을 수 있다면, ~/.aws/credentials
파일에 아래와 같이 추가해주시면 됩니다.
만약 Windows를 사용하는 경우C:\Users\username\.aws\credentials
[default-long-term]
aws_access_key_id = 발급받은 AWS Access Key
aws_secret_access_key = 발급받은 AWS Secret Key
aws_mfa_device = 등록한 AWS MFA 장비 ARN
사용하실 profile이름 뒤에 --long-term
붙여서 생성하신 다음, aws-mfa를 실행하게 되면 사용하실 profile이 생성됩니다.
[default]
assumed_role = False
aws_access_key_id = mfa 활성화 된 access key
aws_secret_access_key = mfa 활성화 된 secret key
aws_session_token = session token
aws_security_token = security token
expiration = 2022-09-02 01:38:09
Usage
aws-mfa를 설치하였으면, 사용하는 방법에 대해서 설명드리겠습니다.
아래와 같이 aws-mfa
를 실행하게 되면
아래와 같이 OTP Token을 입력하게 되어 있습니다.
INFO - Validating credentials for profile: default
INFO - Short term credentials section default is missing, obtaining new credentials.
Enter AWS MFA code for device AWS MFA 장비 ARN (renewing for 1800 seconds):
여기서 OTP Token을 입력하게 되면 1800초 동안 동일한 MFA 인증된 credentials를 사용할 수 있게 됩니다.
Reference
자세한 사항은 스크립트 개발자의 github 페이지를 참고해주세요.
댓글
댓글 0개
댓글을 남기려면 로그인하세요.