반응형
aws-vault란?
aws-vault는 AWS CLI를사용하기위해 보안 키를 안전하게 보관해 주는 도구입니다.
aws-vault를 사용하는 이유
만약 AWS IAM User의 KEY를 발급받았는데 MFA설정이 되어있고, MFA를 사용해야만 리소스에 접근할 수 있도록 설정이 되어있다면 반드시 임시토큰을 발급받아서 AWS CLI설정파일에 등록을 해야 합니다.
임시토큰은 기본적으로 12시간 동안만 유효하므로 매번 토큰을 생성하여 AWS CLI설정 파일에 토큰값을 업데이트 해줘야 하는데,
aws-vault는 이렇게 임시 토큰 발행부터 AWS CLI설정 파일에 값을 업데이트 하는 과정을 자동으로 해준다는 큰 장점을 갖고 있습니다.
aws-vault사용하지 않을 경우
IAM Role
- 아래 조건과 같이 MFA를 강제로 사용하게 되어있다면 CLI사용시 임시토큰을 발행 받고 AWS CLI설정을 업데이트 해줘야함
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
임시 토큰 생성
aws sts get-session-token --serial-number arn:aws:iam::123456789012:mfa/USER_NAME --token-code MFA_CODE
MFA 정보 업데이트
- C:\Users\kakaopaysec.aws\config
- 설정한 MFA의 arn 정보 입력
mfa_serial
[default]
[profile account1]
region = ap-northeast-2
mfa_serial = arn:aws:iam::123456789012:mfa/USER_NAME
- C:\Users\kakaopaysec.aws\credentials
[default]
[dev]
aws_access_key_id =
aws_secret_access_key =
aws_session_token =
aws-valut사용 했을 경우
위 과정을 aws-vault를 사용하여 자동화 할 수 있습니다.
choco install
- choco는 MAC의 brew와 비슷한 패키지 관리 툴입니다.
- 파워쉘을 관리자 권한으로 파워셀 실행 한 뒤 아래 명령어 입력
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
aws-vault 설치확인
aws-vault --version
aws-vault 프로파일 등록하기
aws-vault add account1
MFA 정보 업데이트
- C:\Users\kakaopaysec.aws\config
- 설정한 MFA의 arn 정보 입력
mfa_serial
[default]
[profile account1]
region = ap-northeast-2
mfa_serial = arn:aws:iam::123456789012:mfa/USER_NAME
aws cli 명령어 실행
- 명령어 실행시 생성한 MFA인증 토큰 값만 입력해주면 됨
aws-vault exec account1 -- aws s3 ls
반응형
'IT > AWS' 카테고리의 다른 글
[AWS] Image Builder란? (0) | 2021.12.14 |
---|---|
AWS Tag Editor 사용하기(한번에 여러 리소스 태그 설정) (0) | 2021.12.11 |
[AWS] Authy를 이용해 IAM User MFA설정하기 (0) | 2021.11.29 |
[AWS] VPC Peering과 Transit Gateway 비교 (0) | 2021.11.24 |
[AWS] 비용할인 체계, Savings Plans란? (0) | 2021.11.17 |