Mengontrol akses ke alias - AWS Key Management Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengontrol akses ke alias

Saat Anda membuat atau mengubah alias, Anda memengaruhi alias dan kunci KMS yang terkait. Oleh karena itu, kepala sekolah yang mengelola alias harus memiliki izin untuk memanggil operasi alias pada alias dan pada semua kunci KMS yang terpengaruh. Anda dapat memberikan izin ini dengan menggunakan kebijakan utama, Kebijakan IAM dan hibah.

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 Menggunakan alias untuk mengontrol akses ke tombol KMS.

Untuk informasi tentang mengontrol akses ke semua operasi AWS KMS, lihat Referensi izin.

Izin untuk membuat dan mengelola alias bekerja sebagai berikut.

km: CreateAlias

Untuk membuat alias, prinsipal memerlukan izin berikut untuk alias dan kunci KMS terkait.

  • kms:CreateAlias untuk alias. Memberikan izin ini dalam kebijakan IAM yang melekat pada prinsipal yang diizinkan untuk membuat alias.

    Contoh pernyataan kebijakan berikut menentukan alias tertentu dalam elemen Resource. Tetapi Anda dapat mendaftar beberapa alias ARN atau menentukan pola alias, seperti "tes*". Anda juga dapat menentukan nilai Resource dari "*" untuk mengizinkan prinsipal untuk membuat alias apa pun di akun dan Wilayah. Izin untuk membuat alias juga dapat dimasukkan dalam izin kms:Create* untuk semua sumber daya di akun dan Wilayah.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:CreateAliasuntuk kunci KMS. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

Anda dapat menggunakan tombol kondisi untuk membatasi kunci KMS yang dapat Anda kaitkan dengan alias. Misalnya, Anda dapat menggunakan kms: KeySpec condition key untuk mengizinkan prinsipal membuat alias hanya pada kunci KMS asimetris. Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi kms:CreateAlias izin pada sumber daya kunci KMS, lihatAWS KMS izin.

km: ListAliases

Untuk mencantumkan alias di akun dan Wilayah, prinsipal harus memiliki izin kms:ListAliases dalam kebijakan IAM. Karena kebijakan ini tidak terkait dengan kunci KMS atau sumber alias tertentu, nilai elemen sumber daya dalam kebijakan harus. "*"

Misalnya, pernyataan kebijakan IAM berikut memberikan izin utama untuk mencantumkan semua kunci dan alias KMS di akun dan Wilayah.

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

km: UpdateAlias

Untuk mengubah kunci KMS yang terkait dengan alias, prinsipal membutuhkan tiga elemen izin: satu untuk alias, satu untuk kunci KMS saat ini, dan satu untuk kunci KMS baru.

Misalnya, Anda ingin mengubah test-key alias dari kunci KMS dengan ID kunci 1234abcd-12ab-34cd-56ef-1234567890ab ke kunci KMS dengan ID kunci 0987dcba-09fe-87dc-65ba-ab0987654321. Dalam hal ini, sertakan pernyataan kebijakan yang serupa dengan contoh pada bagian ini.

  • kms:UpdateAlias untuk alias. Anda memberikan izin ini dalam kebijakan IAM yang melekat pada prinsipal. Kebijakan IAM berikut menentukan alias tertentu. Tetapi Anda dapat mendaftar beberapa alias ARN atau menentukan pola alias, seperti "test*". Anda juga dapat menentukan nilai Resource dari "*" untuk mengizinkan prinsipal untuk memperbarui alias apa pun di akun dan Wilayah.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:UpdateAliasuntuk kunci KMS yang saat ini dikaitkan dengan alias. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • kms:UpdateAliasuntuk kunci KMS yang diasosiasikan operasi dengan alias. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

Anda dapat menggunakan tombol kondisi untuk membatasi salah satu atau kedua kunci KMS dalam suatu UpdateAlias operasi. Misalnya, Anda dapat menggunakan kms: ResourceAliases condition key untuk mengizinkan prinsipal memperbarui alias hanya ketika kunci KMS target sudah memiliki alias tertentu. Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi kms:UpdateAlias izin pada sumber daya kunci KMS, lihatAWS KMS izin.

km: DeleteAlias

Untuk menghapus alias, prinsipal memerlukan izin untuk alias dan untuk kunci KMS terkait.

Seperti biasa, Anda harus berhati-hati saat memberikan izin kepada pengguna utama untuk menghapus sumber daya. Namun, menghapus alias tidak berpengaruh pada kunci KMS terkait. Meskipun mungkin menyebabkan kegagalan dalam aplikasi yang bergantung pada alias, jika Anda tidak sengaja menghapus alias, Anda dapat membuatnya kembali.

  • kms:DeleteAlias untuk alias. Berikan izin ini dalam kebijakan IAM yang melekat pada prinsipal yang diizinkan untuk menghapus alias.

    Contoh pernyataan kebijakan berikut menentukan alias dalam elemen. Resource Tapi Anda dapat membuat daftar beberapa ARN alias atau menentukan pola alias, seperti "test*", Anda juga dapat menentukan nilai Resource dari "*" untuk mengizinkan prinsipal menghapus alias apa pun di akun dan Wilayah.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:DeleteAliasuntuk kunci KMS terkait. Izin ini harus disediakan dalam kebijakan kunci atau kebijakan IAM yang didelegasikan dari kebijakan kunci.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

Membatasi izin alias

Anda dapat menggunakan tombol kondisi untuk membatasi izin alias ketika sumber daya adalah kunci KMS. Misalnya, kebijakan IAM berikut memungkinkan operasi alias pada kunci KMS di akun dan Wilayah tertentu. Namun, ia menggunakan kunci KeyOrigin kondisi kms: untuk lebih membatasi izin ke kunci KMS dengan materi kunci dari. AWS KMS

Untuk daftar lengkap kunci kondisi yang dapat Anda gunakan untuk membatasi izin alias pada sumber daya kunci KMS, lihat. AWS KMS izin

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

Anda tidak dapat menggunakan kunci kondisi dalam pernyataan kebijakan di mana sumber daya adalah alias. Untuk membatasi alias yang dapat dikelola oleh prinsipal, gunakan nilai dari elemen Resource dari pernyataan kebijakan IAM yang mengontrol akses ke alias. Sebagai contoh, pernyataan kebijakan berikut mengizinkan prinsipal untuk membuat, memperbarui, atau menghapus alias apa pun di Akun AWS dan Wilayah kecuali alias dimulai dengan Restricted.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }