Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ABACuntuk AWS KMS
Attribute-based access control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. AWS KMS mendukung ABAC dengan memungkinkan Anda untuk mengontrol akses ke kunci yang dikelola pelanggan Anda berdasarkan tag dan alias yang terkait dengan KMS kunci. Kunci kondisi tag dan alias yang memungkinkan ABAC dalam AWS KMS menyediakan cara yang kuat dan fleksibel untuk mengotorisasi prinsipal untuk menggunakan KMS kunci tanpa mengedit kebijakan atau mengelola hibah. Namun Anda harus menggunakan fitur ini dengan hati-hati sehingga perwakilan tidak ditolak aksesnya atau diizinkan secara tidak sengaja.
Jika Anda menggunakanABAC, ketahuilah bahwa izin untuk mengelola tag dan alias sekarang merupakan izin kontrol akses. Pastikan Anda mengetahui tag dan alias yang ada di semua KMS kunci sebelum menerapkan kebijakan yang bergantung pada tag atau alias. Lakukan tindakan pencegahan yang wajar saat menambahkan, menghapus, dan memperbarui alias, dan saat menandai dan menghapus tanda kunci. Berikan izin untuk mengelola tag dan alias hanya kepada perwakilan yang membutuhkannya, dan membatasi tag dan alias yang dapat mereka kelola.
Catatan
Saat menggunakan ABAC for AWS KMS, berhati-hatilah dalam memberikan izin kepada prinsipal untuk mengelola tag dan alias. Mengubah tag atau alias mungkin mengizinkan atau menolak izin ke KMS kunci. Administrator kunci yang tidak memiliki izin untuk mengubah kebijakan kunci atau membuat hibah dapat mengontrol akses ke KMS kunci jika mereka memiliki izin untuk mengelola tag atau alias.
Mungkin diperlukan waktu hingga lima menit untuk perubahan tag dan alias untuk memengaruhi otorisasi KMS kunci. Perubahan terbaru mungkin terlihat dalam API operasi sebelum mempengaruhi otorisasi.
Untuk mengontrol akses ke KMS kunci berdasarkan aliasnya, Anda harus menggunakan tombol kondisi. Anda tidak dapat menggunakan alias untuk mewakili KMS kunci dalam Resource
elemen pernyataan kebijakan. Ketika alias muncul di Resource
elemen, pernyataan kebijakan berlaku untuk alias, bukan ke kunci terkaitKMS.
Pelajari selengkapnya
-
Untuk detail tentang AWS KMS dukungan untukABAC, termasuk contoh, lihat Gunakan alias untuk mengontrol akses ke kunci KMS danGunakan tag untuk mengontrol akses ke KMS tombol.
-
Untuk informasi lebih umum tentang penggunaan tag untuk mengontrol akses ke AWS sumber daya, lihat ABACUntuk apa AWS? dan Mengontrol Akses ke AWS Sumber Daya Menggunakan Tag Sumber Daya di Panduan IAM Pengguna.
ABACkunci kondisi untuk AWS KMS
Untuk mengotorisasi akses ke KMS kunci berdasarkan tag dan aliasnya, gunakan kunci kondisi berikut dalam kebijakan atau IAM kebijakan kunci.
ABACkunci kondisi | Deskripsi | Jenis kebijakan | AWS KMS operasi |
---|---|---|---|
aws: ResourceTag | Tag (kunci dan nilai) pada KMS kunci cocok dengan tag (kunci dan nilai) atau pola tag dalam kebijakan | IAMkebijakan saja | KMSoperasi sumber daya utama 2 |
aws:RequestTag/tag-kunci | Tag (kunci dan nilai) dalam permintaan cocok dengan tag (kunci dan nilai) atau pola tag dalam kebijakan | Kebijakan dan IAM kebijakan utama 1 | TagResource, UntagResource |
aws: TagKeys | Kunci tag dalam permintaan cocok dengan kunci tag dalam kebijakan | Kebijakan dan IAM kebijakan utama 1 | TagResource, UntagResource |
km: ResourceAliases | Alias yang terkait dengan KMS kunci cocok dengan alias atau pola alias dalam kebijakan | IAMkebijakan saja | KMSoperasi sumber daya utama 2 |
km: RequestAlias | Alias yang mewakili KMS kunci dalam permintaan cocok dengan pola alias atau alias dalam kebijakan. | Kebijakan dan IAM kebijakan utama 1 | Operasi kriptografi,, DescribeKeyGetPublicKey |
1 Kunci kondisi apa pun yang dapat digunakan dalam kebijakan kunci juga dapat digunakan dalam IAM kebijakan, tetapi hanya jika kebijakan kunci mengizinkannya.
2 Operasi sumber daya KMS utama adalah operasi yang diizinkan untuk KMS kunci tertentu. Untuk mengidentifikasi operasi sumber daya KMS utama, dalam tabel AWS KMS izin, cari nilai KMS kunci di Resources
kolom untuk operasi.
Misalnya, Anda dapat menggunakan kunci syarat ini untuk membuat kebijakan berikut.
-
IAMKebijakan
kms:ResourceAliases
yang memungkinkan izin untuk menggunakan KMS kunci dengan alias atau pola alias tertentu. Ini sedikit berbeda dari kebijakan yang mengandalkan tag: Meskipun Anda dapat menggunakan pola alias dalam kebijakan, setiap alias harus unik di Akun AWS dan Wilayah. Ini memungkinkan Anda menerapkan kebijakan ke sekumpulan KMS kunci tertentu tanpa mencantumkan kunci ARNs KMS kunci dalam pernyataan kebijakan. Untuk menambah atau menghapus KMS kunci dari set, ubah alias KMS kunci. -
Kebijakan kunci dengan
kms:RequestAlias
itu memungkinkan prinsipal untuk menggunakan KMS kunci dalamEncrypt
operasi, tetapi hanya ketikaEncrypt
permintaan menggunakan alias itu untuk mengidentifikasi kunci. KMS -
IAMKebijakan dengan
aws:ResourceTag/tag-key
itu menolak izin untuk menggunakan KMS kunci dengan kunci tag dan nilai tag tertentu. Ini memungkinkan Anda menerapkan kebijakan ke kumpulan KMS kunci tertentu tanpa mencantumkan kunci ARNs KMS kunci dalam pernyataan kebijakan. Untuk menambah atau menghapus KMS kunci dari set, tag atau untag KMS kunci. -
IAMKebijakan
aws:RequestTag/tag-key
yang memungkinkan prinsipal hanya"Purpose"="Test"
KMS menghapus tag kunci. -
IAMKebijakan dengan
aws:TagKeys
itu menolak izin untuk menandai atau menghapus tag KMS kunci dengan kunciRestricted
tag.
ABACmembuat manajemen akses fleksibel dan terukur. Misalnya, Anda dapat menggunakan kunci aws:ResourceTag/tag-key
kondisi untuk membuat IAM kebijakan yang memungkinkan prinsipal menggunakan KMS kunci untuk operasi tertentu hanya jika KMS kunci memiliki tag. Purpose=Test
Kebijakan ini berlaku untuk semua KMS kunci di semua Wilayah Akun AWS.
Saat dilampirkan ke pengguna atau peran, IAM kebijakan berikut memungkinkan prinsipal untuk menggunakan semua KMS kunci yang ada dengan Purpose=Test
tag untuk operasi yang ditentukan. Untuk menyediakan akses ini ke KMS kunci baru atau yang sudah ada, Anda tidak perlu mengubah kebijakan. Cukup pasang Purpose=Test
tag ke KMS kunci. Demikian pula, untuk menghapus akses ini dari KMS kunci dengan Purpose=Test
tag, edit atau hapus tag.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }
Namun, jika Anda menggunakan fitur ini, hati-hati saat mengelola tag dan alias. Menambahkan, mengubah, atau menghapus tag atau alias dapat secara tidak sengaja mengizinkan atau menolak akses ke kunci. KMS Administrator kunci yang tidak memiliki izin untuk mengubah kebijakan kunci atau membuat hibah dapat mengontrol akses ke KMS kunci jika mereka memiliki izin untuk mengelola tag dan alias. Untuk mengurangi risiko ini, pertimbangkan membatasi izin untuk mengelola tag dan alias. Misalnya, Anda mungkin ingin hanya mengizinkan perwakilan terpilih yang dapat mengelola tag Purpose=Test
. Untuk detailnya, lihat Gunakan alias untuk mengontrol akses ke kunci KMS dan Gunakan tag untuk mengontrol akses ke KMS tombol.
Tag atau alias?
AWS KMS mendukung ABAC dengan tag dan alias. Kedua opsi ini menyediakan strategi kontrol akses yang fleksibel dan dapat diskalakan, tetapi keduanya sedikit berbeda satu sama lain.
Anda mungkin memutuskan untuk menggunakan tag atau menggunakan alias berdasarkan pola AWS penggunaan khusus Anda. Misalnya, jika Anda telah memberikan izin penandaan kepada sebagian besar administrator, mungkin akan lebih mudah untuk mengontrol strategi otorisasi berdasarkan alias. Atau, jika Anda mendekati kuota alias per KMS kunci, Anda mungkin lebih memilih strategi otorisasi berdasarkan tag.
Manfaat berikut adalah kepentingan umum.
Manfaat kontrol akses berbasis tag
-
Mekanisme otorisasi yang sama untuk berbagai jenis AWS sumber daya.
Anda dapat menggunakan tag atau kunci tag yang sama untuk mengontrol akses ke beberapa jenis sumber daya, seperti klaster Amazon Relational Database Service (RDSAmazon), volume Amazon Elastic Block Store (EBSAmazon), dan KMS kunci. Fitur ini mengaktifkan beberapa model otorisasi yang berbeda yang lebih fleksibel dari kontrol akses berbasis peran tradisional.
-
Otorisasi akses ke sekelompok KMS kunci.
Anda dapat menggunakan tag untuk mengelola akses ke sekelompok KMS kunci yang sama Akun AWS dan Wilayah. Tetapkan tag atau kunci tag yang sama ke KMS kunci yang Anda pilih. Kemudian buat pernyataan easy-to-maintain kebijakan sederhana yang didasarkan pada tag atau kunci tag. Untuk menambah atau menghapus KMS kunci dari grup otorisasi Anda, tambahkan atau hapus tag; Anda tidak perlu mengedit kebijakan.
Manfaat kontrol akses berbasis alias
-
Otorisasi akses ke operasi kriptografi berdasarkan alias.
Sebagian besar kondisi kebijakan berbasis permintaan untuk atribut, termasuk aws:RequestTag/tag-key, hanya memengaruhi operasi yang menambahkan, mengedit, atau menghapus atribut. Tetapi kms: RequestAlias condition key mengontrol akses ke operasi kriptografi berdasarkan alias yang digunakan untuk mengidentifikasi KMS kunci dalam permintaan. Misalnya, Anda dapat memberikan izin utama untuk menggunakan KMS kunci dalam
Encrypt
operasi tetapi hanya jika nilaiKeyId
parameternyaalias/restricted-key-1
. Untuk memenuhi syarat ini, Anda memerlukan semua hal berikut:-
KMSKuncinya harus dikaitkan dengan alias itu.
-
Permintaan harus menggunakan alias untuk mengidentifikasi KMS kunci.
-
Kepala sekolah harus memiliki izin untuk menggunakan KMS kunci yang tunduk pada
kms:RequestAlias
kondisi tersebut.
Ini sangat berguna jika aplikasi Anda biasanya menggunakan nama alias atau alias ARNs untuk merujuk ke KMS kunci.
-
-
Berikan izin yang sangat terbatas.
Alias harus unik di wilayah Akun AWS dan. Akibatnya, memberi prinsipal akses ke KMS kunci berdasarkan alias bisa jauh lebih membatasi daripada memberi mereka akses berdasarkan tag. Tidak seperti alias, tag dapat ditetapkan ke beberapa KMS kunci di akun dan Wilayah yang sama. Jika Anda memilih, Anda dapat menggunakan pola alias, seperti
alias/test*
, untuk memberikan akses prinsipal ke sekelompok KMS kunci di akun dan Wilayah yang sama. Namun, mengizinkan atau menolak akses ke alias tertentu memungkinkan kontrol yang sangat ketat pada KMS kunci.