

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon EC2: Erfordert MFA (GetSessionToken) für bestimmte EC2-Operationen
<a name="reference_policies_examples_ec2_require-mfa"></a>

Dieses Beispiel zeigt, wie Sie eine identitätsbasierte Richtlinie erstellen könnten, die vollen Zugriff auf alle AWS API-Operationen in Amazon EC2 ermöglicht. Dabei wird jedoch explizit der Zugriff auf die API-Operationen `StopInstances` und `TerminateInstances` verweigert, wenn der Benutzer nicht über die [Multi-Factor Authentication (MFA)](id_credentials_mfa.md) authentifiziert wurde. Um dies programmgesteuert durchzuführen, muss der Benutzer optionale `SerialNumber`- und `TokenCode`-Werte beim Aufruf der `GetSessionToken`-Operation einschließen. Diese Operation gibt temporäre Anmeldeinformationen zurück, die per MFA authentifiziert wurden. Weitere Informationen GetSessionToken dazu finden Sie unter. [Anfordern von Anmeldeinformationen für Benutzer in nicht vertrauenswürdigen Umgebungen](id_credentials_temp_request.md#api_getsessiontoken)

Was macht diese Richtlinie?
+ Durch die `AllowAllActionsForEC2`-Anweisung werden alle Amazon EC2-Aktionen gewährt.
+ Die `DenyStopAndTerminateWhenMFAIsNotPresent`-Anweisung verweigert die Aktionen `TerminateInstances` und `StopInstances`, wenn der MFA-Kontext fehlt. Das bedeutet, dass die Aktionen verweigert werden, wenn der MFA-Kontext fehlt (also keine MFA stattgefunden hat). Eine Verweigerung überschreibt mögliche Berechtigungen.

**Anmerkung**  
Für die Bedingungsprüfung für `MultiFactorAuthPresent` in der `Deny`-Anwendung sollte nicht `{"Bool":{"aws:MultiFactorAuthPresent":false}}` verwendet werden, da der Schlüssel nicht vorhanden ist und auch nicht ausgewertet werden kann, wenn keine MFA verwendet wird. Verwenden Sie stattdessen die Prüfung `BoolIfExists`, um zu sehen, ob der Schlüssel vorhanden ist, bevor Sie den Wert prüfen. Weitere Informationen finden Sie unter [... IfExists Bedingungsoperatoren](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}
            }
        }
    ]
}
```

------