2017-09-25 10 views
0
 { 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1506369084151", 
     "Action": [ 
     "iam:CreateVirtualMFADevice", 
     "iam:EnableMFADevice", 
     "iam:ListMFADevices", 
     "iam:ResyncMFADevice" 
     ], 
     "Effect": "Allow", 
     "Resource": "arn:aws:iam::account_#:user/user_name" 
    } 
    ] 
} 

J'ai cette politique ci-dessus qui devrait permettre aux utilisateurs de mettre en place MFA par eux-mêmes. Toutefois, lorsque je teste cette stratégie (en me connectant comme l'un des utilisateurs, je ne suis pas en mesure d'effectuer l'action souhaitée)J'essaye de mettre en place MFA pour un utilisateur AWS dans l'organisation

Que manque-t-il dans l'extrait de stratégie? PS: La stratégie est attachée à l'utilisateur que j'essaie de me connecter en tant que. Donc, cette erreur idiote est exclue.

+0

Pourriez-vous préciser ce que vous s'il vous plaît dire par « pas en mesure d'effectuer l'action souhaitée »? Que faites-vous, et quelle erreur est affichée? –

+0

@JohnRotenstein J'essaie de mettre en place une politique IAM afin que l'utilisateur puisse lui-même configurer MFA pour son compte. Il n'y a pas d'erreur lors de la validation de la politique, juste que la politique ne fonctionne pas. L'utilisateur n'est donc pas en mesure de configurer MFA. –

+0

Sur quoi cliquent-ils lorsqu'ils tentent de configurer MFA? Qu'est-ce qui est montré à l'écran? Les boutons sont-ils disponibles? Des messages d'erreur sont-ils affichés? Veuillez fournir plus d'informations que "ne pas pouvoir configurer MFA". –

Répondre

2

Cela fonctionne pour moi:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "AllowEnableResyncDeleteListMFA", 
     "Effect": "Allow", 
     "Action": [ 
     "iam:CreateVirtualMFADevice", 
     "iam:EnableMFADevice", 
     "iam:ResyncMFADevice", 
     "iam:DeleteVirtualMFADevice" 
     ], 
     "Resource": [ 
     "arn:aws:iam::AWS_ACCOUNT_ID:mfa/${aws:username}", 
     "arn:aws:iam::AWS_ACCOUNT_ID:user/${aws:username}" 
     ] 
    }, 
    { 
     "Sid": "AllowDeactivateMFA", 
     "Effect": "Allow", 
     "Action": [ 
     "iam:DeactivateMFADevice" 
     ], 
     "Resource": [ 
     "arn:aws:iam::AWS_ACCOUNT_ID:mfa/${aws:username}", 
     "arn:aws:iam::AWS_ACCOUNT_ID:user/${aws:username}" 
     ], 
     "Condition": { 
     "Bool": { 
      "aws:MultiFactorAuthPresent": true 
     } 
     } 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "iam:ListMFADevices", 
     "iam:ListVirtualMFADevices", 
     "iam:ListUsers" 
     ], 
     "Resource": "*" 
    } 
    ] 
} 
+0

pour que cela fonctionne, je vais d'abord autoriser IAM ReadOnly ou IAMFullAccess au profil utilisateur (s)? –

+0

Non, pas besoin de permettre quoi que ce soit d'autre, car dans ma politique qui le permettent déjà –

+1

Merci. Ça marche pour moi. Nous pouvons également ajouter cette partie pour appliquer la configuration MFA avant que l'utilisateur ne commence à utiliser d'autres services. '{ \t \t "Sid": "DoNotAllowAnythingOtherThanAboveUnlessMFAd", \t \t "Effet": "Deny", \t \t "NotAction": "iam: *", \t \t "ressources": "*", \t \t "Condition": { \t \t "Null": { \t \t ": aws MultiFactorAuthAge": "true" \t \t \t \t} \t \t \t} \t \t} ' –