Amazon EC2 : nécessite MFA (GetSessionToken) pour des opérations spécifiques EC2 - AWS Identity and Access Management

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 spécifiques EC2

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 sur 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, consultezDemande d’informations d’identification temporaires pour les utilisateurs dans des environnements non fiables.

À quoi sert cette politique ?

  • La AllowAllActionsForEC2 déclaration autorise toutes les EC2 actions d'Amazon.

  • L'instruction DenyStopAndTerminateWhenMFAIsNotPresent rejette les actions StopInstances et TerminateInstances 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 de plus amples informations, veuillez consulter ... IfExists opérateurs de conditions.

JSON
{ "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} } } ] }