Menentukan kunci KMS dalam pernyataan kebijakan IAM - 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 kunci KMS dalam pernyataan kebijakan IAM

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. Anda tidak dapat menggunakan ID kunci, nama alias, atau 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:. ResourceAliases Untuk detailnya, lihat ABAC untuk AWS KMS.

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

  • Untuk menentukan beberapa kunci KMS di akun dan Wilayah, gunakan karakter wildcard (*) 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, GenerateRandomListAliases, dan ListKeys.

Saat menulis pernyataan kebijakan Anda, sebaiknya 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, GenerateDataKey, Dekripsi 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.

{ "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 kunci KMS di tepercaya tertentuAkun AWS, Anda dapat menggunakan karakter wildcard (*) 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.

{ "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

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.

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

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