IAMcontoh kebijakan - AWS Key Management Service

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

IAMcontoh kebijakan

Di bagian ini, Anda dapat menemukan contoh IAM kebijakan yang mengizinkan izin untuk berbagai AWS KMS tindakan.

penting

Beberapa izin dalam kebijakan berikut hanya diizinkan jika kebijakan KMS kunci kunci juga mengizinkannya. Untuk informasi selengkapnya, lihat Referensi izin.

Untuk bantuan menulis dan memformat dokumen JSON kebijakan, lihat Referensi IAM JSON Kebijakan di Panduan IAM Pengguna.

Izinkan pengguna untuk melihat KMS kunci di AWS KMS konsol

IAMKebijakan berikut memungkinkan pengguna mengakses hanya-baca ke AWS KMS konsol. Pengguna dengan izin ini dapat melihat semua KMS kunci di Akun AWS, tetapi mereka tidak dapat membuat atau mengubah KMS kunci apa pun.

Untuk melihat KMS tombol pada Kunci yang dikelola AWSdan halaman kunci yang dikelola Pelanggan, prinsipal memerlukan GetResources izin kms: ListKeys, kms: ListAliases, dan tag:, bahkan jika kunci tidak memiliki tag atau alias. Izin yang tersisa, terutama kms: DescribeKey, diperlukan untuk melihat kolom tabel KMS kunci opsional dan data pada halaman detail KMS utama. ListRolesIzin iam: ListUsers dan iam: diperlukan untuk menampilkan kebijakan kunci dalam tampilan default tanpa kesalahan. Untuk melihat data di halaman toko kunci kustom dan detail tentang KMS kunci di toko kunci khusus, kepala sekolah juga memerlukan izin kms:. DescribeCustomKeyStores

Jika Anda membatasi akses konsol pengguna ke KMS kunci tertentu, konsol akan menampilkan kesalahan untuk setiap KMS tombol yang tidak terlihat.

Kebijakan ini mencakup dua pernyataan kebijakan. ResourceElemen dalam pernyataan kebijakan pertama memungkinkan izin yang ditentukan pada semua KMS kunci di semua Wilayah contoh Akun AWS. Pemirsa konsol tidak memerlukan akses tambahan karena AWS KMS konsol hanya menampilkan KMS kunci di akun prinsipal. Ini benar bahkan jika mereka memiliki izin untuk melihat KMS kunci di lain Akun AWS. Sisanya AWS KMS dan IAM izin memerlukan "Resource": "*" elemen karena tidak berlaku untuk KMS kunci tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccessForAllKMSKeysInAccount", "Effect": "Allow", "Action": [ "kms:GetPublicKey", "kms:GetKeyRotationStatus", "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListKeyPolicies", "kms:ListResourceTags", "tag:GetResources" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey", "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" } ] }

Izinkan pengguna untuk membuat KMS kunci

IAMKebijakan berikut memungkinkan pengguna untuk membuat semua jenis KMS kunci. Nilai Resource elemen adalah * karena CreateKey operasi tidak menggunakan tertentu AWS KMS sumber daya (KMSkunci atau alias).

Untuk membatasi pengguna pada jenis KMS kunci tertentu, gunakan kunci kondisi kms:KeySpec, kms: KeyUsage, dan kms:. KeyOrigin

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" } }

Perwakilan yang membuat kunci mungkin memerlukan beberapa izin terkait.

  • kms: PutKeyPolicy — Kepala sekolah yang memiliki kms:CreateKey izin dapat mengatur kebijakan kunci awal untuk kunci tersebut. KMS Namun, CreateKey pemanggil harus memiliki PutKeyPolicy izin kms:, yang memungkinkan mereka mengubah kebijakan KMS kunci, atau mereka harus menentukan BypassPolicyLockoutSafetyCheck parameterCreateKey, yang tidak disarankan. CreateKeyPenelepon bisa mendapatkan kms:PutKeyPolicy izin untuk KMS kunci dari IAM kebijakan atau mereka dapat menyertakan izin ini dalam kebijakan kunci KMS kunci yang mereka buat.

  • kms: TagResource — Untuk menambahkan tag ke KMS kunci selama CreateKey operasi, CreateKey pemanggil harus memiliki TagResource izin kms: dalam kebijakan. IAM Menyertakan izin ini dalam kebijakan kunci KMS kunci baru tidak cukup. Namun, jika CreateKey pemanggil menyertakan kms:TagResource dalam kebijakan kunci awal, mereka dapat menambahkan tag dalam panggilan terpisah setelah KMS kunci dibuat.

  • kms: CreateAlias — Kepala sekolah yang membuat kunci di KMS AWS KMS konsol harus memiliki kms: CreateAlias izin pada KMS kunci dan alias. (Konsol tersebut membuat dua panggilan; ke CreateKey dan ke CreateAlias). Anda harus memberikan izin alias dalam suatu IAM kebijakan. Anda dapat memberikan izin KMS kunci dalam kebijakan atau IAM kebijakan utama. Untuk detailnya, lihat Mengontrol akses ke alias.

Selain itukms:CreateKey, IAM kebijakan berikut memberikan kms:TagResource izin pada semua KMS kunci di Akun AWS dan kms:CreateAlias izin pada semua alias yang akun. Ini juga mencakup beberapa izin hanya-baca berguna yang hanya dapat diberikan dalam kebijakan. IAM

IAMKebijakan ini tidak menyertakan kms:PutKeyPolicy izin atau izin lain yang dapat ditetapkan dalam kebijakan utama. Ini adalah praktik terbaik untuk menetapkan izin ini dalam kebijakan utama di mana mereka berlaku secara eksklusif untuk satu KMS kunci.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPermissionsForParticularKMSKeys", "Effect": "Allow", "Action": "kms:TagResource", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPermissionsForParticularAliases", "Effect": "Allow", "Action": "kms:CreateAlias", "Resource": "arn:aws:kms:*:111122223333:alias/*" }, { "Sid": "IAMPermissionsForAllKMSKeys", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } ] }

Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan KMS kunci apa pun dalam kunci tertentu Akun AWS

IAMKebijakan berikut memungkinkan pengguna untuk mengenkripsi dan mendekripsi data dengan kunci apa pun KMS Akun AWS 111122223333.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } }

Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan KMS kunci apa pun dalam kunci tertentu Akun AWS dan Wilayah

IAMKebijakan berikut memungkinkan pengguna untuk mengenkripsi dan mendekripsi data dengan kunci apa pun KMS Akun AWS 111122223333di Wilayah Barat AS (Oregon).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/*" ] } }

Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan kunci tertentu KMS

IAMKebijakan berikut memungkinkan pengguna untuk mengenkripsi dan mendekripsi data dengan dua KMS kunci yang ditentukan dalam elemen. Resource Saat menentukan KMS kunci dalam pernyataan IAM kebijakan, Anda harus menggunakan kunci KMS kunci ARN tersebut.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

Mencegah pengguna menonaktifkan atau menghapus kunci apa pun KMS

IAMKebijakan berikut mencegah pengguna menonaktifkan atau menghapus KMS kunci apa pun, meskipun IAM kebijakan lain atau kebijakan kunci mengizinkan izin ini. Kebijakan yang secara eksplisit menolak izin menimpa semua kebijakan lain, meski kebijakan yang secara eksplisit memungkinkan izin yang sama. Untuk informasi selengkapnya, lihat Memecahkan masalah akses kunci.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:DisableKey", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }