Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk menambah, melihat, dan menghapus tag, baik di AWS KMS konsol atau dengan menggunakan API, prinsipal memerlukan izin penandaan. Anda dapat memberikan izin ini di kebijakan kunci. Anda juga dapat memberikannya dalam kebijakan IAM (termasuk kebijakan VPC endpoint), tetapi hanya jika kebijakan kunci mengizinkannya. Kebijakan AWSKeyManagementServicePowerUserterkelola memungkinkan prinsipal untuk menandai, menghapus tag, dan mencantumkan tag pada semua kunci KMS 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 ABAC untuk AWS KMS dan Gunakan tag untuk mengontrol akses ke tombol KMS.
Untuk kebijakan contoh dan informasi lebih lanjut, lihat Mengontrol Akses Berdasarkan Kunci Tanda di Panduan Pengguna IAM.
Izin untuk membuat dan mengelola tanda bekerja sebagai berikut.
- km: TagResource
-
Memungkinkan prinsipal untuk menambah atau mengedit tanda. Untuk menambahkan tag saat membuat kunci KMS, prinsipal harus memiliki izin dalam kebijakan IAM yang tidak terbatas pada kunci KMS tertentu.
- km: ListResourceTags
-
Memungkinkan prinsipal untuk melihat tag pada tombol KMS.
- km: UntagResource
-
Memungkinkan prinsipal untuk menghapus tag dari kunci KMS.
Izin tanda dalam kebijakan
Anda dapat memberikan izin penandaan dalam kebijakan kunci atau kebijakan IAM. Misalnya, kebijakan kunci contoh berikut memberikan izin penandaan pengguna tertentu pada kunci KMS. 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 prinsipal pada beberapa kunci KMS, Anda dapat menggunakan kebijakan IAM. Agar kebijakan ini efektif, kebijakan kunci untuk setiap kunci KMS harus mengizinkan akun menggunakan kebijakan IAM untuk mengontrol akses ke kunci KMS.
Misalnya, kebijakan IAM berikut memungkinkan prinsipal untuk membuat kunci KMS. Ini juga memungkinkan mereka untuk membuat dan mengelola tag pada semua kunci KMS di akun yang ditentukan. Kombinasi ini memungkinkan prinsipal untuk menggunakan parameter Tag CreateKeyoperasi untuk menambahkan tag ke kunci KMS 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 ini untuk mencegah prinsipal menandai atau melepas tag kunci KMS dengan bahan kunci yang diimpor.
Sebagai praktik terbaik saat Anda menggunakan tag untuk mengontrol akses ke kunci KMS, gunakan tombol aws:RequestTag/tag-key
atau aws:TagKeys
kondisi untuk menentukan tag (atau kunci tag) mana yang diizinkan.
Sebagai contoh, kebijakan IAM 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 set, lihat Gunakan beberapa kunci dan nilai di Panduan Pengguna IAM.
{
"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"}
}
}
]
}