이 문서는 AWS CLI 및 MFA를 윈도우 환경에서 사용하는 방법에 대해서 설명하고 있습니다
Prerequisite
1-1. Install AWS CLI
AWS Cli를 사용하기 위해서는 AWS Cli를 다운로드를 받아 설치하셔야 합니다.
-
Windows용 AWS CLI MSI 설치 관리자(64비트)를 다운로드하여 실행합니다.
https://awscli.amazonaws.com/AWSCLIV2.msi
또는 msiexec 명령을 실행하여 MSI 설치 관리자를 실행할 수 있습니다.
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
- 설치를 확인하려면 시작 메뉴를 열고, cmd를 검색하여 명령 프롬프트 창을 열고, 명령 프롬프트에서
C:\> aws --version
명령을 사용합니다.
1-2. Configure root AWS credentials
aws cli를 사용하기 위해서는 profile이 필요합니다.
root profile을 aws credentials 파일에 추가하기 위해서는 아래의 명령어를 실행시키시면 됩니다.
aws configure --profile root_user
명령어를 실행시키면
1. AWS 액세스 키 ID를 입력하라는 메시지가 표시될 때 (예: AKIAEXAMPLEABCQWE):
다운로드한 루트 사용자의 액세스 키 ID를 붙여넣습니다.
2. 루트 사용자의 ** AWS 보안 액세스 키**를 입력하라는 메시지가 표시되면:
보안 액세스 키 ID를 붙여넣습니다. 루트 사용자의 자격 증명이 포함된 파일(csv)에서 이 정보를 찾을 수 있습니다.
3. (선택 사항) 기본 리전 이름을 묻는 메시지가 표시되면 건너뛰고 Enter 키를 눌러도 됩니다.
4. (선택 사항) 기본 출력 형식을 묻는 메시지가 표시되면 건너뛰고 Enter 키를 눌러도 됩니다.
1-3. Install python
AWS CLI에 MFA를 적용하기 위해서는 python이 설치 되어 있어야 합니다.
https://www.python.org/downloads/windows/ 링크를 가셔서
Windows installer (64-bit)를 통해 python3.12를 설치하시면 됩니다.
1-4. Install aws-mfa
이제는 aws-mfa를 설치하셔야 합니다.
aws-mfa를 설치하는 방법은 python package module을 통해서 설치 가능합니다.
C:\> pip install aws-mfa
Process
2-1. aws credentials 파일 수정
AWS CLI 및 aws-mfa 설치가 완료하였으면 AWS AcessKey 및 SecretKey를 통해 MFA를 적용하는 방법을 설명드리겠습니다.
기본적으로 윈도우 경우 자격 증명 파일은 다음에 저장됩니다.
C:\Users\username\.aws\credentials
자격 증명 파일을 열어서 아래와 같이 설정해주시면 됩니다.
[default-long-term] aws_access_key_id = YOUR_LONGTERM_KEY_ID aws_secret_access_key = YOUR_LONGTERM_ACCESS_KEY
파일을 저장해 주시고 쉘에서 아래의 명령어를 실행시켜 주세요
aws-mfa --duration <seconds> --device <mfa device arn>
MFA 장비명을 찾는 방법은 아래의 방법을 따르시면 됩니다.
1. AWS Console 우측 상단에 profile을 선택하신 다음 보안 자격 (Security Credentials) 를 선택하시고
2. 아래로 내리시면 등록된 MFA 장비의 ARN을 확인 하실 수 있습니다.
2-2. aws-mfa로 임시 세션 확보
2-1에서 명령어를 실행하셨으면 C:\Users\username\.aws\credentials 파일에 몇줄이 추가된것을 확인하실 수 있습니다.
[default]
assumed_role = False
aws_access_key_id = <mfa 전용 access key id>
aws_secret_access_key = <mfa 전용 secret access key>
aws_session_token = <session token>
aws_security_token = <security token>
expiration = 2022-09-02 01:38:09
aws_session_token은 임시적으로 받은 session 값이고 해당 session에 대한 보안 값이 aws_security_token입니다.
expiration이 지나게 되면 아래의 명령어를 실행하시게 되면 MFA code를 입력하라고 할 때 핸드폰이나 PC에 등록되어 있는 6자리 OTP 코드를 입력해주시면 됩니다.
C:/> aws-mfa
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 CODE>
INFO - Fetching Credentials - Profile: default, Duration: 1800
INFO - Success! Your credentials will expire in 1800 seconds at: 2022-09-02 03:09:16+00:00
※스마일샤크가 제공하는 모든 콘텐츠는 관련 법의 보호를 받습니다. 스마일샤크 콘텐츠를 사전허가 없이 무단으로 복사·배포·판매·전시·개작할 경우 민·형사상 책임이 따를 수 있습니다. 콘텐츠 사용과 관련해 궁금한 점이 있으면 전화(☎: 070-4369-2028) 또는 이메일(contact@smileshark.kr)로 문의하기 바랍니다
댓글
댓글 0개
댓글을 남기려면 로그인하세요.