본문 바로가기

Cloud

AWS CLI에서 MFA 사용하기

  • MFA policy가 적용되면 MFA 미 설정 시 콘솔에 접근해도 모든 서비스가 deny
  • MFA policy가 적용되면 CLI에서 모든 서비스 deny
    • 해당 문제 해결을 위해 CLI mfa 설정하여 사용

절차

  1. role 생성 ( lhj1010-test-role)
    1. account 입력
    2. mfa 필요 체크
    3. policy 생성 또는 연결 (테스트를 위해 poweruseraccess 권한을 줌)
    4. 신뢰관계에 account 연결됨을 확인
    5. 이번 테스트에는 account 계정 전체가 아닌 특정 user를 대상으로 테스트하기 위해 user로 범위 수정

 

신뢰관계 수정

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::xxxxxxxxxxxx:user/dv-webop-lhj1010",
          "arn:aws:iam::xxxxxxxxxxxx:user/dv-webop-pij0921"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "Bool": {
          "aws:MultiFactorAuthPresent": "true"
        }
      }
    }
  ]
}

 

 

2. 사용자 계정에 sts assumrole 권한 추가 - (Simple Token Service)

- sts policy 생성 및 적용

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*" } ] }

 

 

3. credential 적용

[profile 명]
role_arn=arn:aws:iam::xxxxxxxxxx:role/lhj1010-test-role
source_profile=default
output=json
mfa_serial=arn:aws:iam::xxxxxxxxxx:mfa/dv-webop-lhj1010

 

 

4. cli 명령어 실행

적용됨을 확인쓰