Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat mengontrol akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS. Untuk melakukannya, gunakan tombol ResourceAliases kondisi kms: RequestAlias dan kms:. Fitur ini merupakan bagian dari AWS KMS dukungan untuk Attribute-based Access Control (ABAC).
Kunci kms:RequestAlias
kondisi memungkinkan atau menolak akses ke kunci KMS berdasarkan alias dalam permintaan. Kunci kms:ResourceAliases
kondisi memungkinkan atau menolak akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS.
Fitur-fitur ini tidak memungkinkan Anda untuk mengidentifikasi kunci KMS dengan menggunakan alias dalam resource
elemen pernyataan kebijakan. Ketika alias adalah nilai resource
elemen, kebijakan berlaku untuk sumber daya alias, bukan untuk kunci KMS apa pun yang mungkin terkait dengannya.
catatan
Mungkin diperlukan waktu hingga lima menit untuk perubahan tag dan alias untuk memengaruhi otorisasi kunci KMS. Perubahan terbaru mungkin terlihat dalam operasi API sebelum mempengaruhi otorisasi.
Saat menggunakan alias untuk mengontrol akses ke kunci KMS, pertimbangkan hal berikut:
-
Gunakan alias untuk memperkuat praktik terbaik dari akses dengan keistimewaan terkecil. Berikan kepala sekolah IAM hanya izin yang mereka butuhkan hanya untuk kunci KMS yang harus mereka gunakan atau kelola. Misalnya, gunakan alias untuk mengidentifikasi kunci KMS yang digunakan untuk proyek. Kemudian berikan izin tim proyek untuk hanya menggunakan kunci KMS dengan alias proyek.
-
Berhati-hatilah tentang memberikan prinsipal izin
kms:CreateAlias
,kms:UpdateAlias
, ataukms:DeleteAlias
yang memungkinkan mereka menambahkan, mengedit, dan menghapus alias. Saat Anda menggunakan alias untuk mengontrol akses ke kunci KMS, mengubah alias dapat memberikan izin kepada prinsipal untuk menggunakan kunci KMS yang tidak diizinkan untuk digunakan. Ini juga dapat menolak akses ke kunci KMS yang diperlukan oleh kepala sekolah lain untuk melakukan pekerjaan mereka. -
Tinjau kepala sekolah di Anda Akun AWS yang saat ini memiliki izin untuk mengelola alias dan menyesuaikan izin, jika perlu. Administrator kunci yang tidak memiliki izin untuk mengubah kebijakan kunci atau membuat hibah dapat mengontrol akses ke kunci KMS jika mereka memiliki izin untuk mengelola alias.
Sebagai contoh, konsol kebijakan kunci default untuk administrator kunci termasuk izin
kms:CreateAlias
,kms:DeleteAlias
, dankms:UpdateAlias
. Kebijakan IAM mungkin memberikan izin alias untuk semua kunci KMS di Anda. Akun AWS Misalnya, kebijakan AWSKeyManagementServicePowerUserterkelola memungkinkan prinsipal untuk membuat, menghapus, dan mencantumkan alias untuk semua kunci KMS tetapi tidak memperbaruinya. -
Sebelum menetapkan kebijakan yang bergantung pada alias, tinjau alias pada kunci KMS di Anda. Akun AWS Pastikan bahwa kebijakan Anda hanya berlaku untuk alias yang ingin Anda sertakan. Gunakan CloudTrail log dan CloudWatch alarm untuk mengingatkan Anda tentang perubahan alias yang mungkin memengaruhi akses ke kunci KMS Anda. Selain itu, ListAliasestanggapannya mencakup tanggal pembuatan dan tanggal pembaruan terakhir untuk setiap alias.
-
Kondisi kebijakan alias menggunakan pencocokan pola; mereka tidak terikat pada instans tertentu dari alias. Kebijakan yang menggunakan kunci kondisi berbasis alias memengaruhi semua alias baru dan yang sudah ada yang cocok dengan pola. Jika Anda menghapus dan membuat ulang alias yang cocok dengan kondisi kebijakan, kondisi berlaku untuk alias baru, seperti halnya pada tanda lama.
Kunci kondisi kms:RequestAlias
bergantung pada alias yang ditentukan secara eksplisit dalam permintaan operasi. Kunci kms:ResourceAliases
kondisi tergantung pada alias yang terkait dengan kunci KMS, meskipun tidak muncul dalam permintaan.
km: RequestAlias
Izinkan atau tolak akses ke kunci KMS berdasarkan alias yang mengidentifikasi kunci KMS dalam permintaan. Anda dapat menggunakan kms: RequestAlias condition key dalam kebijakan kunci atau kebijakan IAM. Ini berlaku untuk operasi yang menggunakan alias untuk mengidentifikasi kunci KMS dalam permintaan, yaitu operasi kriptografi,, DescribeKeydan. GetPublicKey Ini tidak berlaku untuk operasi alias, seperti CreateAliasatau DeleteAlias.
Dalam kunci kondisi, tentukan nama alias atau pola nama alias. Anda tidak dapat menentukan ARN alias.
Misalnya, pernyataan kebijakan kunci berikut memungkinkan prinsipal untuk menggunakan operasi yang ditentukan pada kunci KMS. Izin hanya efektif ketika permintaan menggunakan alias yang mencakup alpha
untuk mengidentifikasi kunci KMS.
{
"Sid": "Key policy using a request alias condition",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/alpha-developer"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:RequestAlias": "alias/*alpha*"
}
}
}
Contoh permintaan berikut dari prinsipal terotorisasi akan memenuhi kondisi tersebut. Namun, permintaan yang menggunakan ID kunci, ARN kunci, atau alias yang berbeda tidak akan memenuhi kondisi, bahkan jika nilai-nilai ini mengidentifikasi kunci KMS yang sama.
$
aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
km: ResourceAliases
Izinkan atau tolak akses ke kunci KMS berdasarkan alias yang terkait dengan kunci KMS, bahkan jika alias tidak digunakan dalam permintaan. Kunci ResourceAliases kondisi kms: memungkinkan Anda menentukan pola alias atau alias, sepertialias/test*
, sehingga Anda dapat menggunakannya dalam kebijakan IAM untuk mengontrol akses ke beberapa kunci KMS di Wilayah yang sama. Ini berlaku untuk setiap AWS KMS operasi yang menggunakan kunci KMS.
Misalnya, kebijakan IAM berikut memungkinkan prinsipal memanggil operasi yang ditentukan pada kunci KMS menjadi dua. Akun AWS Namun, izin hanya berlaku untuk kunci KMS yang terkait dengan alias yang dimulai dengan. restricted
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AliasBasedIAMPolicy",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": [
"arn:aws:kms:*:111122223333:key/*",
"arn:aws:kms:*:444455556666:key/*"
],
"Condition": {
"ForAnyValue:StringLike": {
"kms:ResourceAliases": "alias/restricted*"
}
}
}
]
}
Kondisi kms:ResourceAliases
adalah kondisi sumber daya, bukan permintaan. Dengan demikian, permintaan yang tidak menentukan alias masih dapat memenuhi kondisi.
Contoh permintaan berikut, yang menentukan alias yang cocok, memenuhi kondisi.
$
aws kms enable-key-rotation --key-id "alias/restricted-project"
Namun, contoh permintaan berikut juga memenuhi kondisi, asalkan kunci KMS yang ditentukan memiliki alias yang dimulai denganrestricted
, bahkan jika alias itu tidak digunakan dalam permintaan.
$
aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"