

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
<a name="reference_policies_examples_ec2_require-mfa"></a>

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](id_credentials_mfa.md). 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, consultez[Demande d’informations d’identification temporaires pour les utilisateurs dans des environnements non fiables](id_credentials_temp_request.md#api_getsessiontoken).

À quoi sert cette politique ?
+ L'instruction `AllowAllActionsForEC2` autorise toutes les actions Amazon EC2.
+ 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](reference_policies_elements_condition_operators.md#Conditions_IfExists).

------
#### [ 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}
            }
        }
    ]
}
```

------