

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

# Menentukan kunci KMS dalam pernyataan kebijakan IAM
<a name="cmks-in-iam-policies"></a>

Anda dapat menggunakan kebijakan IAM untuk mengizinkan prinsipal menggunakan atau mengelola kunci KMS. Kunci KMS ditentukan dalam `Resource` elemen pernyataan kebijakan. 
+ Untuk menentukan kunci KMS dalam pernyataan kebijakan IAM, Anda harus menggunakan kunci [ARN](concepts.md#key-id-key-ARN). Anda tidak dapat menggunakan [ID kunci](concepts.md#key-id-key-id), [nama alias](concepts.md#key-id-alias-name), atau [alias ARN](concepts.md#key-id-alias-ARN) untuk mengidentifikasi kunci KMS dalam pernyataan kebijakan IAM. 

  Misalnya: "`Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`"

  Untuk mengontrol akses ke kunci KMS berdasarkan aliasnya, gunakan kunci kondisi [kms: RequestAlias atau [kms](conditions-kms.md#conditions-kms-resource-aliases):](conditions-kms.md#conditions-kms-request-alias). ResourceAliases Lihat perinciannya di [ABAC untuk AWS KMS](abac.md).

  Gunakan alias ARN sebagai sumber daya hanya dalam pernyataan kebijakan yang mengontrol akses ke operasi alias, [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/CreateAlias.html)seperti [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/UpdateAlias.html),, atau. [DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/DeleteAlias.html) Lihat perinciannya di [Mengontrol akses ke alias](alias-access.md).
+ Untuk menentukan beberapa kunci KMS di akun dan Wilayah, gunakan karakter wildcard (\$1) di wilayah atau posisi ID sumber daya ARN kunci. 

  Misalnya, untuk menentukan semua kunci KMS di Wilayah AS Barat (Oregon) akun, gunakan "”`Resource": "arn:aws:kms:us-west-2:111122223333:key/*`. Untuk menentukan semua kunci KMS di semua Wilayah akun, gunakan "`Resource": "arn:aws:kms:*:111122223333:key/*`”.
+ Untuk mewakili semua kunci KMS, gunakan karakter wildcard alone ()`"*"`. Gunakan format ini untuk operasi yang tidak menggunakan kunci KMS tertentu, yaitu, [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html), [GenerateRandom[ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html), dan [ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html).

Saat menulis pernyataan kebijakan Anda, [sebaiknya](iam-policies-best-practices.md) tentukan hanya kunci KMS yang perlu digunakan oleh prinsipal, daripada memberi mereka akses ke semua kunci KMS. 

Misalnya, pernyataan kebijakan IAM berikut memungkinkan prinsipal untuk memanggil [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html), [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html), [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) operasi hanya pada kunci KMS yang tercantum dalam `Resource` elemen pernyataan kebijakan. Menentukan kunci KMS dengan kunci ARN, yang merupakan praktik terbaik, memastikan bahwa izin hanya terbatas pada kunci KMS yang ditentukan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:DescribeKey",
      "kms:GenerateDataKey",
      "kms:Decrypt"
    ],
    "Resource": [
     "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
     "arn:aws:kms:us-west-2:111122223333:key/01234abcd-12ab-34cd-56ef-1234567890ab"
    ]
  }
}
```

------

Untuk menerapkan izin ke semua kunci KMS di tepercaya tertentu Akun AWS, Anda dapat menggunakan karakter wildcard (\$1) di posisi Region dan ID kunci. Misalnya, pernyataan kebijakan berikut memungkinkan prinsipal untuk memanggil operasi yang ditentukan pada semua kunci KMS dalam dua akun contoh tepercaya.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:DescribeKey",
      "kms:GenerateDataKey",
      "kms:GenerateDataKeyPair"
    ],
    "Resource": [
      "arn:aws:kms:*:111122223333:key/*",
      "arn:aws:kms:*:444455556666:key/*"
    ]
  }
}
```

------

Anda juga dapat menggunakan karakter kartubebas (`"*"`) saja di elemen `Resource`. Karena memungkinkan akses ke semua kunci KMS akun memiliki izin untuk digunakan, disarankan terutama untuk operasi tanpa kunci KMS tertentu dan untuk `Deny` pernyataan. Anda juga dapat menggunakannya dalam pernyataan kebijakan yang mengizinkan operasi hanya baca yang sensitif. Untuk menentukan apakah AWS KMS operasi melibatkan kunci KMS tertentu, cari nilai **kunci KMS** di kolom **Sumber daya** tabel di. [AWS KMS izin](kms-api-permissions-reference.md)

Misalnya, pernyataan kebijakan berikut menggunakan `Deny` efek untuk melarang prinsipal menggunakan operasi tertentu pada kunci KMS apa pun. Ini menggunakan karakter wildcard dalam `Resource` elemen untuk mewakili semua kunci KMS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": [
      "kms:CreateKey",
      "kms:PutKeyPolicy",
      "kms:CreateGrant",
      "kms:ScheduleKeyDeletion"
    ],
    "Resource": "*"
  }
}
```

------

Pernyataan kebijakan berikut menggunakan karakter wildcard saja untuk mewakili semua kunci KMS. Tetapi hanya memungkinkan operasi dan operasi read-only yang kurang sensitif yang tidak berlaku untuk kunci KMS tertentu.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:CreateKey",
      "kms:ListKeys",
      "kms:ListAliases",
      "kms:ListResourceTags"
    ],
    "Resource": "*"
  }
}
```

------