Menentukan KMS kunci dalam pernyataan IAM kebijakan - AWS Key Management Service

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

Menentukan KMS kunci dalam pernyataan IAM kebijakan

Anda dapat menggunakan IAM kebijakan untuk mengizinkan prinsipal menggunakan atau mengelola KMS kunci. KMSkunci ditentukan dalam Resource elemen pernyataan kebijakan.

  • Untuk menentukan KMS kunci dalam pernyataan IAM kebijakan, Anda harus menggunakan kuncinya ARN. Anda tidak dapat menggunakan id kunci, nama alias, atau alias ARN untuk mengidentifikasi KMS kunci dalam pernyataan IAM kebijakan.

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

    Untuk mengontrol akses ke KMS kunci berdasarkan aliasnya, gunakan kunci kondisi kms: RequestAlias atau kms: ResourceAliases. Untuk detailnya, lihat ABAC untuk AWS KMS.

    Gunakan alias ARN sebagai sumber daya hanya dalam pernyataan kebijakan yang mengontrol akses ke operasi alias, seperti, CreateAliasUpdateAlias, atau. DeleteAlias Untuk detailnya, lihat Mengontrol akses ke alias.

  • Untuk menentukan beberapa KMS kunci di akun dan Region, gunakan karakter wildcard (*) di posisi Region atau ID sumber daya kunciARN.

    Misalnya, untuk menentukan semua KMS kunci di Wilayah AS Barat (Oregon) akun, gunakan "Resource": "arn:aws:kms:us-west-2:111122223333:key/*”. Untuk menentukan semua KMS kunci di semua Wilayah akun, gunakan "Resource": "arn:aws:kms:*:111122223333:key/*”.

  • Untuk mewakili semua KMS kunci, gunakan karakter wildcard alone ("*"). Gunakan format ini untuk operasi yang tidak menggunakan KMS kunci tertentu, yaitu CreateKey, GenerateRandom, ListAliases, dan ListKeys.

Saat menulis pernyataan kebijakan Anda, sebaiknya tentukan hanya KMS kunci yang perlu digunakan oleh prinsipal, daripada memberi mereka akses ke semua KMS kunci.

Misalnya, pernyataan IAM kebijakan berikut memungkinkan prinsipal untuk memanggil DescribeKey, GenerateDataKey, Dekripsi operasi hanya pada KMS kunci yang tercantum dalam Resource elemen pernyataan kebijakan. Menentukan KMS kunci demi kunciARN, yang merupakan praktik terbaik, memastikan bahwa izin hanya terbatas pada kunci yang ditentukanKMS.

{ "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/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

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

{ "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 KMS kunci akun memiliki izin untuk digunakan, disarankan terutama untuk operasi tanpa KMS kunci tertentu dan untuk Deny pernyataan. Anda juga dapat menggunakannya dalam pernyataan kebijakan yang mengizinkan operasi hanya baca yang sensitif. Untuk menentukan apakah suatu AWS KMS operasi melibatkan KMS kunci tertentu, mencari nilai KMSkunci di kolom Resources dari tabel diAWS KMS izin.

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

{ "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 KMS kunci. Tetapi ini hanya memungkinkan operasi dan operasi hanya-baca yang kurang sensitif yang tidak berlaku untuk kunci tertentuKMS.

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