반응형
    
    
    
  AWS IAM 사용자에게 MFA 강제 적용하고 정책과 MFA 디바이스를 스스로 관리 설정하는 정책
AWS IAM 사용자에게 MFA(Multi-Factor Authentication)를 강제 적용하고 각 사용자가 자신의 정책과 MFA 디바이스를 스스로 관리하도록 허용하는 IAM 정책입니다.
1. MFA 미사용 시 모든 액세스를 차단하는 정책(MFA 강제 정책)
MFA 인증 여부를 확인하고 MFA 인증된 경우에만 AWS 리소스에 대한 접근을 허용하는 정책을 정의합니다.
정책 이름 : EnforceMFAAccessPolicy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyAllActionsWithoutMFA",
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws:MultiFactorAuthPresent": "false"
        }
      }
    },
    {
      "Sid": "AllowMinimalMFASetup",
      "Effect": "Allow",
      "Action": [
        "iam:CreateVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:ListMFADevices",
        "iam:ResyncMFADevice",
        "iam:DeactivateMFADevice",
        "iam:DeleteVirtualMFADevice",
        "iam:GetUser",
        "iam:ListVirtualMFADevices",
        "sts:GetSessionToken"
      ],
      "Resource": [
        "arn:aws:iam::*:user/${aws:username}",
        "arn:aws:iam::*:mfa/${aws:username}"
      ]
    },
    {
      "Sid": "AllowChangeOwnPassword",
      "Effect": "Allow",
      "Action": [
        "iam:ChangePassword",
        "iam:GetLoginProfile",
        "iam:UpdateLoginProfile"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    }
  ]
}2. IAM 사용자가 자신의 비밀번호 및 MFA 디바이스를 스스로 등록/관리하는 정책(자체 관리 정책)
사용자가 자신의 정책 및 MFA 디바이스를 관리할 수 있는 권한을 부여하는 정책을 정의합니다.
정책 이름 : SelfManageMFAAndPolicyPolicy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowManageOwnInlinePolicies",
      "Effect": "Allow",
      "Action": [
        "iam:GetUserPolicy",
        "iam:ListUserPolicies",
        "iam:PutUserPolicy",
        "iam:DeleteUserPolicy"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    },
    {
      "Sid": "AllowFullSelfMFADeviceManagement",
      "Effect": "Allow",
      "Action": [
        "iam:CreateVirtualMFADevice",
        "iam:DeleteVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:DeactivateMFADevice",
        "iam:ListVirtualMFADevices",
        "iam:ListMFADevices",
        "iam:ResyncMFADevice",
        "iam:GetUser"
      ],
      "Resource": [
        "arn:aws:iam::*:user/${aws:username}",
        "arn:aws:iam::*:mfa/${aws:username}"
      ]
    },
    {
      "Sid": "AllowManageOwnPassword",
      "Effect": "Allow",
      "Action": [
        "iam:GetLoginProfile",
        "iam:UpdateLoginProfile",
        "iam:ChangePassword"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    }
  ]
}
728x90
    
    
  반응형
    
    
    
  '퍼블릭 클라우드' 카테고리의 다른 글
| AWS EC2 인스턴스에서 Swap 메모리를 사용하지 않는 이유 (0) | 2025.05.05 | 
|---|---|
| AWS에서 S3에 접근하는 두 가지 주요 방법 (0) | 2025.05.01 | 
| AWS Management Console 접근을 소스 IP 기반으로 제한하는 방법 (0) | 2025.04.29 | 
| Amazon EC2 인스턴스에서 Squid 프록시 서버를 구축하는 방법 (0) | 2025.04.22 | 
| 우분투 24.04에서 ssh-rsa 알고리즘을 허용하지 않는 문제 (0) | 2025.04.18 | 
 
                  
                 
                  
                 
                  
                