본문 바로가기

퍼블릭 클라우드

[AWS] IAM 사용자가 MFA 디바이스를 스스로 관리하도록 허용

728x90

AWS IAM 사용자가 MFA 디바이스를 스스로 관리하도록 허용

멀티 팩터 인증(MFA) 생성하기-실패

IAM 사용자(scbyun) 로그인

보안 자격 증명 > 멀티 팩터 인증(MFA)


IAM 정책 생성

IAM > 액세스 관리 > 정책 > 정책 생성 > JSON

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIndividualUserToListOnlyTheirOwnMFA",
            "Effect": "Allow",
            "Action": [
                "iam:ListMFADevices"
            ],
            "Resource": [
                "arn:aws:iam::*:mfa/*",
                "arn:aws:iam::*:user/${aws:username}"
            ]
        },
        {
            "Sid": "AllowIndividualUserToManageTheirOwnMFA",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice",
                "iam:DeleteVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:ResyncMFADevice"
            ],
            "Resource": [
                "arn:aws:iam::*:mfa/${aws:username}",
                "arn:aws:iam::*:user/${aws:username}"
            ]
        },
        {
            "Sid": "AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice"
            ],
            "Resource": [
                "arn:aws:iam::*:mfa/${aws:username}",
                "arn:aws:iam::*:user/${aws:username}"
            ],
            "Condition": {
                "Bool": {
                    "aws:MultiFactorAuthPresent": "true"
                }
            }
        },
        {
            "Sid": "BlockMostAccessUnlessSignedInWithMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ListUsers",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}

정책 이름 : iam-users-self-manage-mfa-and-credentials
정책 설명 : iam users self manage mfa and credentials

IAM 사용자(scbyun)에게 권한 추가


멀티 팩터 인증(MFA) 생성하기-성공

IAM 사용자(scbyun) 로그인

 

참고

- https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html

 

728x90