본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] IAM 사용자를 위한 MFA 강제 적용 정책

by BTC_서주은 2023. 7. 31.

                                                                                       베하 ~~~~!

안녕하세요 오늘도 서 지 타 산 입니다 !!

여름 더위 조심하시고 건강한 여름 보내세요 🌊🍦

이번 시간에는 IAM 사용자를 위한 정보를 가져왔어요.

MFA 강제하는 설정에 대하여 함께 알아보아요.

팔로팔로팔로미 ~~~~~


AWS IAM 사용자를 위한 MFA 강제 적용 정책

MFA 강제 적용 정책은 사용자의 로그인 절차에 여러 보안 단계를 추가하여 계정 보호를 강화하는데,

단순 비밀번호만으로는 접근이 어려운 보안강화 방법입니다.

 

이는 악의적인 공격과 대량 접근을 방지하고, 계정 훔침을 감지하는데 도움이 됩니다.

 MFA를 통해 사용자에게 더욱 안전한 환경을 제공할 수 있습니다.

  • 사용 과정 
    • 1단계 : MFA 로그인을 강제할 정책 생성
    • 2단계: 테스트 사용자 그룹에 정책 연결
    • 3단계: 사용자 엑세스 테스트

 

IAM > 액세스 관리 > 정책 > 정책 생성 > JSON(아래 링크에서 복사)

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

 

{
    "Version": "2012-10-17", 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToCreateVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowUserToManageTheirOwnMFA",
            "Effect": "Allow",
            "Action": [
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowUserToDeactivateTheirOwnMFAOnlyWhenUsingMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice"
            ],
            "Resource": [
                "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 사용자에 MFA를 강제하는 설정은 json 정책으로 생성하여야 합니다.
해당 정책으로 MFA를 등록하는 것은 IAM 사용자가 로그인을 했을 때, MFA가 등록되어 있지 않으면, 
MFA를 등록하는 권한 외에는 모든 권한을 거부하는 정책입니다. 

따라서 사용자는 IAM 페이지에서 MFA를 등록을 하고, 

MFA를 이용하여 로그인을 해야만 정상적인 권한을 부여받습니다.

 

아래 조금 더 자세한 순서를 확인해봅시다.


 
1) AWS Console -> IAM -> Policy
2) 위에서 말씀드린 json으로 정책 생성 (기존에 제공되는 것이 아니므로, 생성하셔야 합니다.)
3) 생성된 정책을 iam 사용자에게 부여
 
4) 적용 된 모습 (모든 권한 거부)
 
 

Reference 
[1] MFA 디바이스 적용을 구성합니다.
https://docs.aws.amazon.com/ko_kr/singlesignon/latest/userguide/how-to-configure-mfa-device-enforcement.html 
[2] IAM Identity Center에서 MFA를 사용하기 전에 고려하세요
https://docs.aws.amazon.com/ko_kr/singlesignon/latest/userguide/mfa-considerations.html 
[3] IAM 자습서: 사용자가 자신의 자격 증명 및 MFA 설정을 관리하도록 허용
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html 
[4] IAM: IAM 사용자가 MFA 디바이스를 스스로 관리하도록 허용
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html 


여기까지 MFA 강제 적용을 위한 IAM 정책을 생성하여,

사용자에게 적용하는 방법에 대하여 알아보았어요.

다음 시간에도 유용한 정보로 돌아올게요.

그럼 다음 시간도 서지타산과 함께해요.

제에에에바아아아아아알 ~~~~~

댓글