반응형
[사유]
AWS 로그인 시 MFA로 보안을 강화한 경우가 많을거다.
MFA를 통한 session token 없이 aws cli를 사용하게 되는 경우 IAM이 poweruser여도 어김없이 AccessDeniedException이 나온다
[해결]
./.aws/credential 파일안에 profile 정보들이 있을텐데 다음과 같은 정보들이 있어야한다.
- aws_access_key_id
- aws_secret_access_key
- aws_session_token
[적용]
1. AWS 사용자 정보에서 mfa와 user_arn 정보를 가져온다

2. profile 설정
./aws/config 파일에 1에서 가져온 정보들을 입력한다
vi ~/.aws/config
[iam-dev]
mfa_serial = MFA_SERIAL
output = json
[profile dev]
user_arn = USER_ARN
source_profile = iam-dev
region = ap-northeast-2
사용할 IAM 계정 등록
vi ~/.aws/credentials
[iam-dev]
aws_access_key_id = ACCESS_KEY
aws_secret_access_key = SECRET_KEY
3. session token 생성
IAM 사용자의 경우 12시간 동안 유효하고 root계정인 경우 1시간만 유효하다
aws sts get-session-token --serial-number [MFA_SERIAL] --token-code [OTP] --profile dev
# 결과
{
"Credentials": {
"AccessKeyId": "ACCESSKEY",
"SecretAccessKey": "SECRETKEY",
"SessionToken": "SESSIONTOKEN",
"Expiration": "2022-02-14T16:51:17+00:00"
}
}
SessionToken 값을 credential 아래에 추가해준다
vi ~/.aws/credentials
[aws-dev]
aws_access_key_id = ACCESS_KEY
aws_secret_access_key = SECRET_KEY
aws_session_token = SESSION_TOKEN
728x90
'[AWS] > [Troubleshooting]' 카테고리의 다른 글
| [AWS] EKS cluster생성시, coredns가 계속 pending 상태가 유지되고, 노드그룹 생성 후 타임아웃 나는 이유 (0) | 2022.06.01 |
|---|