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.
Contoh
- Izinkan pengguna untuk melihat KMS kunci di AWS KMS konsol
- Izinkan pengguna untuk membuat KMS kunci
- Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan KMS kunci apa pun dalam kunci tertentu Akun AWS
- Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan KMS kunci apa pun di spesifik dan Wilayah Akun AWS
- Izinkan pengguna untuk mengenkripsi dan mendekripsi dengan kunci tertentu KMS
- Mencegah pengguna menonaktifkan atau menghapus kunci apa pun KMS
Izinkan pengguna untuk melihat KMS kunci di AWS KMS konsol
IAMKebijakan berikut memungkinkan pengguna akses hanya-baca ke konsol. AWS KMS Pengguna dengan izin ini dapat melihat semua KMS kunci di dalamnya Akun AWS, tetapi mereka tidak dapat membuat atau mengubah KMS kunci apa pun.
Untuk melihat KMS kunci pada Kunci yang dikelola AWShalaman kunci yang dikelola Pelanggan, prinsipal memerlukan GetResources izin kms:ListKeys, kms: ListAliases, dan tag:, meskipun kunci tidak memiliki tag atau alias. Izin yang tersisa, khususnya 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. Resource
Elemen 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. Sisa 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 AWS KMS sumber daya tertentu (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 menentukanBypassPolicyLockoutSafetyCheck
parameterCreateKey
, yang tidak disarankan.CreateKey
Penelepon bisa mendapatkankms: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, jikaCreateKey
pemanggil menyertakankms:TagResource
dalam kebijakan kunci awal, mereka dapat menambahkan tag dalam panggilan terpisah setelah KMS kunci dibuat. -
kms: CreateAlias — Prinsipal yang membuat KMS kunci di AWS KMS konsol harus memiliki kms: CreateAlias izin pada KMS kunci dan alias. (Konsol tersebut membuat dua panggilan; ke
CreateKey
dan keCreateAlias
). 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 yang 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 KMS kunci apa pun di 111122223333. Akun AWS
{ "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 di spesifik dan Wilayah Akun AWS
IAMKebijakan berikut memungkinkan pengguna untuk mengenkripsi dan mendekripsi data dengan KMS kunci apa pun Akun AWS 111122223333
di Wilayah AS Barat (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 Izin pemecahan masalah AWS KMS.
{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:DisableKey", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }