Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengontrolan akses ke tanda
Untuk menambah, melihat, dan menghapus tag, baik di AWS KMS konsol atau dengan menggunakanAPI, prinsipal memerlukan izin penandaan. Anda dapat memberikan izin ini di kebijakan kunci. Anda juga dapat menyediakannya dalam IAM kebijakan (termasuk kebijakan VPC titik akhir), tetapi hanya jika kebijakan utama mengizinkannya. Kebijakan AWSKeyManagementServicePowerUserterkelola memungkinkan prinsipal untuk menandai, menghapus tag, dan mencantumkan tag pada semua KMS kunci yang dapat diakses akun.
Anda juga dapat membatasi izin ini dengan menggunakan kunci kondisi AWS global untuk tag. Dalam AWS KMS, kondisi ini dapat mengontrol akses ke operasi penandaan, seperti TagResourcedan UntagResource.
catatan
Berhati-hatilah saat memberikan izin prinsipal untuk mengelola tanda dan alias. Mengubah tag atau alias dapat mengizinkan atau menolak izin ke kunci yang dikelola pelanggan. Untuk detailnya, lihat ABACuntuk AWS KMS dan Gunakan tag untuk mengontrol akses ke KMS tombol.
Misalnya kebijakan dan informasi selengkapnya, lihat Mengontrol Akses Berdasarkan Kunci Tag di Panduan IAM Pengguna.
Izin untuk membuat dan mengelola tanda bekerja sebagai berikut.
- km: TagResource
-
Memungkinkan prinsipal untuk menambah atau mengedit tanda. Untuk menambahkan tag saat membuat KMS kunci, prinsipal harus memiliki izin dalam IAM kebijakan yang tidak terbatas pada KMS kunci tertentu.
- km: ListResourceTags
-
Memungkinkan prinsipal untuk melihat tag pada kunci. KMS
- km: UntagResource
-
Memungkinkan prinsipal untuk menghapus tag dari kunci. KMS
Izin tanda dalam kebijakan
Anda dapat memberikan izin penandaan dalam kebijakan atau IAM kebijakan utama. Misalnya, kebijakan kunci contoh berikut memberikan izin penandaan pengguna tertentu pada KMS kunci. Ini memberikan semua pengguna yang dapat mengasumsikan contoh peran Administrator atau Developer izin untuk melihat tanda.
{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }
Untuk memberikan izin penandaan pada prinsipal pada beberapa KMS kunci, Anda dapat menggunakan kebijakan. IAM Agar kebijakan ini efektif, kebijakan kunci untuk setiap KMS kunci harus mengizinkan akun menggunakan IAM kebijakan untuk mengontrol akses ke KMS kunci.
Misalnya, IAM kebijakan berikut memungkinkan prinsipal untuk membuat kunci. KMS Ini juga memungkinkan mereka untuk membuat dan mengelola tag pada semua KMS kunci di akun yang ditentukan. Kombinasi ini memungkinkan prinsipal untuk menggunakan parameter Tag CreateKeyoperasi untuk menambahkan tag ke KMS kunci saat mereka membuatnya.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }
Membatasi izin tanda
Anda dapat membatasi izin penandaan dengan menggunakan ketentuan kebijakan. Kondisi kebijakan berikut dapat diterapkan ke izin kms:TagResource
dan kms:UntagResource
. Misalnya, Anda dapat menggunakan kondisi aws:RequestTag/tag-key
mengizinkan prinsipal untuk menambahkan hanya tanda tertentu, atau mencegah prinsipal menambahkan tanda dengan kunci tanda tertentu. Atau, Anda dapat menggunakan kms:KeyOrigin kondisi tersebut untuk mencegah prinsipal menandai atau melepas tag kunci dengan bahan kunci yang diimporKMS.
Sebagai praktik terbaik saat Anda menggunakan tag untuk mengontrol akses ke KMS kunci, gunakan tombol aws:RequestTag/tag-key
atau aws:TagKeys
kondisi untuk menentukan tag (atau kunci tag) mana yang diizinkan.
Misalnya, IAM kebijakan berikut ini mirip dengan yang sebelumnya. Namun, kebijakan ini memungkinkan prinsipal untuk membuat tanda (TagResource
) dan menghapus tanda UntagResource
hanya untuk tanda dengan kunci tanda Project
.
Karena TagResource
dan UntagResource
permintaan dapat menyertakan beberapa tag, Anda harus menentukan operator ForAllValues
atau ForAnyValue
set dengan TagKeys kondisi aws:. Operator ForAnyValue
mensyaratkan bahwa setidaknya salah satu kunci tanda dalam permintaan cocok dengan salah satu kunci tanda dalam kebijakan. Operator ForAllValues
mensyaratkan bahwa semua kunci tanda dalam permintaan cocok dengan salah satu kunci tanda dalam kebijakan. ForAllValues
Operator juga kembali true
jika tidak ada tag dalam permintaan, tetapi TagResource dan UntagResource gagal ketika tidak ada tag yang ditentukan. Untuk detail tentang operator yang ditetapkan, lihat Menggunakan beberapa kunci dan nilai dalam Panduan IAM Pengguna.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }