

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Amazon EC2: Memerlukan MFA (GetSessionToken) untuk operasi EC2 tertentu
<a name="reference_policies_examples_ec2_require-mfa"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan akses penuh ke semua operasi AWS API di Amazon EC2. Namun, itu secara tegas menolak akses ke `StopInstances` dan `TerminateInstances` Operasi API jika pengguna tidak diautentikasi menggunakan [Multi-Factor Authentication (MFA)](id_credentials_mfa.md). Untuk melakukan ini secara terprogram, pengguna harus menyertakan nilai opsional `SerialNumber` dan `TokenCode` saat memanggil operasi `GetSessionToken`. Operasi ini mengembalikan kredensial sementara yang diautentikasi menggunakan MFA. Untuk mempelajari lebih lanjut tentang GetSessionToken, lihat[Meminta kredensi untuk pengguna di lingkungan yang tidak tepercaya](id_credentials_temp_request.md#api_getsessiontoken).

Apa yang dikerjakan oleh kebijakan ini?
+ Pernyataan `AllowAllActionsForEC2` mengizinkan semua tindakan Amazon EC2
+ Pernyataan `DenyStopAndTerminateWhenMFAIsNotPresent` menolak tindakan `StopInstances` dan `TerminateInstances` saat konteks MFA hilang. Ini berarti tindakan tersebut ditolak saat konteks multi-factor authentication hilang (artinya MFA tidak digunakan). Penolakan mennimpa izin.

**catatan**  
Pemeriksaaan ketentuan untuk `MultiFactorAuthPresent` dalam pernyataan `Deny` tidak boleh berupa `{"Bool":{"aws:MultiFactorAuthPresent":false}}` karena kunci tersebut tidak ada dan tidak dapat dievaluasi saat MFA tidak digunakan. Sebagai gantinya, gunakan periksa `BoolIfExists` untuk melihat apakah kuncinya ada sebelum memeriksa nilai. Lihat informasi yang lebih lengkap di [... IfExists operator kondisi](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}
            }
        }
    ]
}
```

------