

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Amazon EC2: richiede MFA (GetSessionToken) per operazioni EC2 specifiche
<a name="reference_policies_examples_ec2_require-mfa"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a tutte le operazioni AWS API in Amazon EC2. Tuttavia, rifiuta esplicitamente l'accesso alle operazioni API `StopInstances` e `TerminateInstances` se l'utente non viene autenticato utilizzando l'[autenticazione a più fattori (MFA, Multi-Factor Authentication)](id_credentials_mfa.md). Per eseguire questa operazione a livello di programmazione, l'utente deve includere valori `SerialNumber` e `TokenCode` opzionali durante la chiamata all'operazione `GetSessionToken`. Questa operazione restituisce credenziali temporanee autenticate utilizzando MFA. Per saperne di più, consulta. GetSessionToken [Richiesta di credenziali per gli utenti in ambienti non attendibili](id_credentials_temp_request.md#api_getsessiontoken)

Che cosa fa questa policy?
+ L'istruzione `AllowAllActionsForEC2` consente tutte le operazioni Amazon EC2.
+ La dichiarazione `DenyStopAndTerminateWhenMFAIsNotPresent` rifiuta le operazioni `TerminateInstances` e `StopInstances` quando manca il contesto MFA. Ciò significa che le operazioni vengono rifiutate quando manca il contesto dell'autenticazione a più fattori (ovvero, MFA non è stato utilizzato). Un rifiuto sostituisce il consenso.

**Nota**  
Il controllo della condizione per `MultiFactorAuthPresent` nella dichiarazione `Deny` non deve essere `{"Bool":{"aws:MultiFactorAuthPresent":false}}`, perché tale chiave non è presente e non può essere valutata quando MFA non viene utilizzato. Utilizzare invece il controllo `BoolIfExists` per vedere se la chiave è presente prima di controllare il valore. Per ulteriori informazioni, consulta [... IfExists operatori di condizionamento](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}
            }
        }
    ]
}
```

------