

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

# Contoh kunci konteks multivaluasi
<a name="reference_policies_condition_examples-multi-valued-context-keys"></a>

Kumpulan contoh kebijakan berikut menunjukkan cara membuat kondisi kebijakan dengan kunci konteks multivalued.

## Contoh: Tolak kebijakan dengan operator set kondisi ForAllValues
<a name="reference_policies_condition_examples-multi-valued-context-keys-1"></a>

Contoh berikut menunjukkan cara menggunakan kebijakan berbasis identitas untuk menolak penggunaan tindakan penandaan IAM saat awalan kunci tag tertentu disertakan dalam permintaan. Nilai untuk [`aws:TagKeys`](reference_policies_condition-keys.md#condition-keys-tagkeys)menyertakan wildcard (\*) untuk pencocokan string paral. Kebijakan ini menyertakan operator yang `ForAllValues` disetel dengan kunci konteks `aws:TagKeys` karena kunci konteks permintaan dapat menyertakan beberapa nilai. Agar kunci `aws:TagKeys` konteks cocok, setiap nilai dalam konteks permintaan harus cocok dengan setidaknya satu nilai dalam kebijakan.

Operator `ForAllValues` set juga mengembalikan true jika tidak ada kunci konteks dalam permintaan.

Anda dapat mencegah kunci konteks atau kunci konteks yang hilang dengan nilai kosong dievaluasi ke true dengan menyertakan operator `Null` kondisi dalam kebijakan Anda dengan nilai `false` untuk memeriksa apakah kunci konteks dalam permintaan ada dan nilainya bukan null. Untuk informasi selengkapnya, lihat [Operator ketentuan memeriksa keberadaan kunci kondisi](reference_policies_elements_condition_operators.md#Conditions_Null).

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Gunakan kebijakan ini bersama dengan kebijakan lain yang mengizinkan tindakan tertentu.

**Example Tolak nilai kondisi kebijakan tunggal untuk kunci konteks multivalued**  
**Dalam contoh berikut, kebijakan menolak permintaan di mana nilai untuk `aws:TagKeys` dalam permintaan tidak menyertakan kunci awalan1.** Konteks permintaan dapat memiliki beberapa nilai, tetapi karena operator set `ForAllValues` kondisi, semua nilai kunci tag dalam konteks permintaan harus dimulai dengan **kunci** awalan1.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyRestrictedTags",
      "Effect": "Deny",
      "Action": [
        "iam:Tag*",
        "iam:UnTag*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ForAllValues:StringNotLike": {
          "aws:TagKeys": "key1*"
        }
      }
    }
  ]
}
```
Tabel berikut menunjukkan cara AWS mengevaluasi kebijakan ini berdasarkan nilai kunci kondisi dalam permintaan Anda. Untuk pernyataan Deny, Pertandingan Ditolak dan Tidak ada kecocokan Tidak ditolak, jadi mungkin diizinkan oleh pernyataan lain.  


| Kondisi Kebijakan | Permintaan Konteks | Hasil | 
| --- | --- | --- | 
|  <pre>"ForAllValues:StringNotLike": {<br />  "aws:TagKeys": "key1*"<br />}</pre>  | <pre>aws:TagKeys:<br />  – key1:legal</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
| <pre>"ForAllValues:StringNotLike": {<br />  "aws:TagKeys": "key1*"<br />}</pre>  | <pre>aws:TagKeys:<br />  – key1:hr<br />  – key1:personnel</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
| <pre>"ForAllValues:StringNotLike": {<br />  "aws:TagKeys": "key1*"<br />}</pre>  | <pre>aws:TagKeys:<br />  – {{key2}}:audit</pre>  | **Pertandingan** | 
| <pre>"ForAllValues:StringNotLike": {<br />  "aws:TagKeys": "key1*"<br />}</pre>  | Tidak `aws:TagKeys` dalam konteks permintaan. | **Pertandingan** | 

**Example Tolak beberapa nilai kondisi kebijakan untuk kunci konteks multivalued**  
**Dalam contoh berikut, kebijakan menolak permintaan di mana nilai untuk `aws:TagKeys` dalam permintaan tidak menyertakan awalan **key1 atau key2**.** **Konteks permintaan dapat memiliki beberapa nilai, tetapi karena operator set `ForAllValues` kondisi, semua nilai kunci tag dalam konteks permintaan harus dimulai dengan awalan **key1 atau key2**.**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyRestrictedTags",
      "Effect": "Deny",
      "Action": [
        "iam:Tag*",
        "iam:UnTag*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "ForAllValues:StringNotLike": {
          "aws:TagKeys": [
            "key1*",
            "key2*"
          ]
        }
      }
    }
  ]
}
```
Tabel berikut menunjukkan cara AWS mengevaluasi kebijakan ini berdasarkan nilai kunci kondisi dalam permintaan Anda. Untuk pernyataan Deny, Pertandingan Ditolak dan Tidak ada kecocokan Tidak ditolak, jadi mungkin diizinkan oleh pernyataan lain.  


| Kondisi Kebijakan | Permintaan Konteks | Hasil | 
| --- | --- | --- | 
|  <pre>"ForAllValues:StringNotLike": {<br />  "aws:TagKeys": [<br />    "key1*",<br />    "key2*"<br />  ]<br />}</pre>  | <pre>aws:TagKeys:<br />  – key1:legal</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
| <pre>"ForAllValues:StringNotLike": {<br />   "aws:TagKeys": [<br />    "key1*",<br />    "key2*"<br />  ]<br />}</pre>  | <pre>aws:TagKeys:<br />  – key1:hr<br />  – key1:personnel</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
| <pre>"ForAllValues:StringNotLike": {<br />   "aws:TagKeys": [<br />    "key1*",<br />    "key2*"<br />  ]<br />}</pre>  | <pre>aws:TagKeys:<br />  – key1:hr<br />  – key2:audit</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
| <pre>"ForAllValues:StringNotLike": {<br />   "aws:TagKeys": [<br />    "key1*",<br />    "key2*"<br />  ]<br />}</pre>  | <pre>aws:TagKeys:<br />  – {{key3}}:legal</pre>  | **Pertandingan** | 
| <pre>"ForAllValues:StringNotLike": {<br />   "aws:TagKeys": [<br />    "key1*",<br />    "key2*"<br />  ]<br />}</pre>  | Tidak `aws:TagKeys` dalam konteks permintaan. | **Pertandingan** | 

## Contoh: Tolak kebijakan dengan operator set kondisi ForAnyValue
<a name="reference_policies_condition_examples-multi-valued-context-keys-2"></a>

Contoh kebijakan berbasis identitas berikut menyangkal pembuatan snapshot volume instans EC2 jika ada snapshot yang ditandai dengan salah satu kunci tag yang ditentukan dalam kebijakan, atau. `environment` `webserver` Kebijakan ini menyertakan operator yang `ForAnyValue` disetel dengan kunci konteks `aws:TagKeys` karena kunci konteks permintaan dapat menyertakan beberapa nilai. Jika permintaan penandaan Anda menyertakan salah satu nilai kunci tag yang ditentukan dalam kebijakan, kunci `aws:TagKeys` konteks akan mengembalikan nilai true dengan mengaktifkan efek kebijakan penolakan.

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Gunakan kebijakan ini bersama dengan kebijakan lain yang mengizinkan tindakan tertentu.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ec2:CreateSnapshot",
        "ec2:CreateSnapshots"
      ],
      "Resource": "arn:aws:ec2:us-west-2::snapshot/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": "webserver"
        }
      }
    }
  ]
}
```

------

Tabel berikut menunjukkan cara AWS mengevaluasi kebijakan ini berdasarkan nilai kunci kondisi dalam permintaan Anda. Untuk pernyataan Deny, Pertandingan Ditolak dan Tidak ada kecocokan Tidak ditolak, jadi mungkin diizinkan oleh pernyataan lain.


| Kondisi Kebijakan | Permintaan Konteks | Hasil | 
| --- | --- | --- | 
|  <pre>"ForAnyValue:StringEquals": {<br />  "aws:TagKeys": "webserver"<br />}</pre>  | <pre>aws:TagKeys:<br />  – webserver</pre>  | **Pertandingan** | 
|  <pre>"ForAnyValue:StringEquals": {<br />  "aws:TagKeys": "webserver"<br />}</pre>  | <pre>aws:TagKeys:<br />  – environment<br />  – webserver<br />  – test</pre>  | **Pertandingan** | 
|  <pre>"ForAnyValue:StringEquals": {<br />  "aws:TagKeys": "webserver"<br />}</pre>  | <pre>aws:TagKeys:<br />  – environment<br />  – test</pre>  | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 
|  <pre>"ForAnyValue:StringEquals": {<br />  "aws:TagKeys": "webserver"<br />}</pre>  | Tidak `aws:TagKeys` dalam konteks permintaan. | **Tidak ada kecocokan**<br />Mungkin diizinkan oleh pernyataan lain. | 