AWS IAM 사용자에게 MFA(Multi-Factor Authentication)를 강제로 적용하는 방법(MFA 강제 적용)
IAM 정책 생성(MFA 강제 적용)
IAM > 액세스 관리 > 정책 > 정책 생성 > JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:ListUsers",
"iam:ListMFADevices",
"iam:GetAccountPasswordPolicy",
"iam:GetAccountSummary"
],
"Resource": "*"
},
{
"Sid": "AllowChangeOwnPasswordsOnFirstLogin",
"Effect": "Allow",
"Action": [
"iam:ChangePassword",
"iam:GetUser"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "AllowChangeOwnPasswordsAfterMFAEnabled",
"Effect": "Allow",
"Action": [
"iam:GetLoginProfile",
"iam:UpdateLoginProfile"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/${aws:username}"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "DenyAllExceptListedIfNoMFA",
"Effect": "Deny",
"NotAction": [
"iam:ListUsers",
"iam:ChangePassword",
"iam:GetUser",
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice",
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
정책 이름 : force-iam-user-mfa-authentication
정책 설명 : Force an IAM User to use MFA authentication
IAM 사용자(testuser)에게 권한 추가
force-iam-user-mfa-authentication

AmazonEC2FullAccess

IAM 사용자(testuser) 로그인
MFA 비활성화(AmazonEC2FullAccess 권한 부여했지만 API 오류가 발생)

MFA 활성화

다시 IAM 사용자(testuser)로 로그인 합니다.

참고URL
- AWS Documentation : AWS: MFA 인증 IAM 사용자가 보안 인증 페이지에서 자신의 보안 인증을 관리할 수 있도록 허용
'퍼블릭 클라우드' 카테고리의 다른 글
| [draft] AWS CLI를 사용하여 EC2 인스턴스의 AMI를 생성하는 스크립트 (0) | 2025.11.16 |
|---|---|
| [draft] AWS RDS를 Percona XtraBackup을 사용하여 백업 및 복원하는 방법 (0) | 2025.11.16 |
| [draft] Amazon Linux 2023에 MySQL 클라이언트를 설치하는 방법 (0) | 2025.11.15 |
| [draft] Amazon CloudFront에서 CORS 오류 해결 방법 (0) | 2025.11.14 |
| [draft] Amazon CloudFront 경로 패턴 라우팅 설정 (0) | 2025.11.14 |