Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Amazon EC2 : nécessite MFA (GetSessionToken) pour des opérations EC2 spécifiques
Cet exemple montre comment créer une politique basée sur l'identité qui permet un accès complet à toutes les opérations d' AWS API dans Amazon EC2. Cependant, il refuse explicitement l'accès aux opérations d'API TerminateInstances
et StopInstances
si l'utilisateur n'est pas authentifié à l'aide de l'authentification MFA. Pour le faire par programmation, l'utilisateur doit inclure des valeurs SerialNumber
et TokenCode
facultatives lors de l'appel de l'opération GetSessionToken
. Cette opération renvoie les informations d'identification temporaires qui ont été authentifiées à l'aide de MFA. Pour en savoir plus GetSessionToken, consultezGetSessionToken : informations d'identification temporaires pour les utilisateurs dans des environnements non de confiance.
À quoi sert cette politique ?
-
L'instruction
AllowAllActionsForEC2
autorise toutes les actions Amazon EC2. -
L'instruction
DenyStopAndTerminateWhenMFAIsNotPresent
rejette les actionsStopInstances
etTerminateInstances
lorsque le contexte de MFA est manquant. Cela signifie que les actions sont refusées lorsque le contexte d'authentification multi-facteur est manquant (c'est-à-dire, quand l'authentification MFA n'a pas été utilisée). Un refus remplace l'autorisation.
Note
Le contrôle de la condition MultiFactorAuthPresent
de l'instruction Deny
ne doit pas être {"Bool":{"aws:MultiFactorAuthPresent":false}}
, car cette clé n'est pas présente et ne peut pas être évaluée quand l'authentification MFA n'est pas utilisée. Utilisez donc plutôt le contrôle BoolIfExists
pour voir si la clé est présente avant de vérifier la valeur. Pour plus d'informations, voir ... IfExists opérateurs de conditions.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllActionsForEC2", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": false} } } ] }