0

AWS 組織で MFA を有効にして、ユーザーが自分の MFA デバイスのみを管理できるようにしたいと考えています。しかし、ユーザーが API/CLI を介して (AWS コンソールを使用せずに) デバイスを管理できるようにしたいと考えています。

AWS ドキュメントでこのポリシーを見つけました。これは、独自の MFAdevice を作成/有効化/削除できるため、ほぼ適切です。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUsersToCreateEnableResyncDeleteTheirOwnVirtualMFADevice",
      "Effect": "Allow",
      "Action": [
        "iam:CreateVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:ResyncMFADevice",
        "iam:DeleteVirtualMFADevice"
      ],
      "Resource": [
        "arn:aws:iam::account-id-without-hyphens:mfa/${aws:username}",
        "arn:aws:iam::account-id-without-hyphens:user/${aws:username}"
      ]
    },
    {
      "Sid": "AllowUsersToDeactivateTheirOwnVirtualMFADevice",
      "Effect": "Allow",
      "Action": [
        "iam:DeactivateMFADevice"
      ],
      "Resource": [
        "arn:aws:iam::account-id-without-hyphens:mfa/${aws:username}",
        "arn:aws:iam::account-id-without-hyphens:user/${aws:username}"
      ],
      "Condition": {
        "Bool": {
          "aws:MultiFactorAuthPresent": true
        }
      }
    }
  ]
}

ただし、デバイスの非アクティブ化 ( iam:DeactivateMFADevice) の場合は、条件aws:MultiFactorAuthPresentが である必要がありますtrue。これは健全なセキュリティ対策であり、ユーザーは MFA を使用せずに MFA を無効にすることはできません。ただし、このポリシーでは、STS を使用して API/CLI を介して MFA でログに記録し、役割を引き受けると、リソース"arn:aws:iam::account-id-without-hyphens:mfa/${aws:username}"は存在しないため、実際のリソースを表していませ${aws:username} 。AWS コンソールをユーザーとして使用する場合、ブール値aws:MultiFactorAuthPresentは true になる可能性があると思います。しかし、私が知る限り、API/CLI では両方aws:MultiFactorAuthPresent==true${aws:username}存在することはできません。

では、MFA を使用しているときにデバイスを無効にすることをユーザーのみに許可するには、どのポリシーを作成すればよいでしょうか。

[免責事項、これはawless CLIで使用されます]

4

0 に答える 0