Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pernyataan kebijakan kunci KMS tingkat lanjut
catatan
Kunci KMS yang dikelola pelanggan saat ini AWS IAM Identity Center tersedia di AWS Wilayah tertentu.
Gunakan pernyataan kebijakan kunci KMS lanjutan untuk menerapkan kontrol akses yang lebih terperinci untuk kunci KMS yang dikelola pelanggan Anda. Kebijakan ini dibangun di atas Kunci KMS dasar dan pernyataan kebijakan IAM dengan menambahkan kondisi konteks enkripsi dan pembatasan khusus layanan. Sebelum memutuskan apakah akan menggunakan pernyataan kebijakan kunci KMS tingkat lanjut, pastikan untuk meninjau pertimbangan terkait.
Menggunakan konteks enkripsi untuk membatasi akses
Anda dapat membatasi penggunaan kunci KMS ke instans Pusat Identitas IAM tertentu dengan menambahkan kondisi konteks enkripsi ke pernyataan kebijakan utama Anda. Kondisi ini menggunakan instans IAM Identity Center ARN dan Identity Store ARN untuk memastikan kunci hanya berfungsi dengan instance yang Anda inginkan. Tambahkan kondisi ini ke salah satu pernyataan kebijakan dasar:
Pusat Identitas
"StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }
Penyimpanan Identitas
"StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }
Ganti contoh ARNs dengan nilai ARN Anda yang sebenarnya. Jika Anda memerlukan bantuan untuk menemukan pengenal ini, lihatTemukan pengidentifikasi yang diperlukan.
Pertimbangan untuk menerapkan kondisi konteks enkripsi
Sebelum menerapkan kondisi konteks enkripsi, tinjau persyaratan ini:
-
DescribeKey tindakan. Konteks enkripsi tidak dapat diterapkan pada tindakan “kms:DescribeKey", yang dapat digunakan oleh administrator Pusat Identitas IAM. Saat mengonfigurasi kebijakan kunci KMS Anda, kecualikan konteks enkripsi untuk tindakan spesifik ini guna memastikan pengoperasian instans Pusat Identitas IAM Anda dengan benar.
-
Pengaturan instance baru. Jika Anda mengaktifkan instans Pusat Identitas IAM baru dengan kunci KMS yang dikelola pelanggan, lihat. Pertimbangan untuk kunci KMS yang dikelola pelanggan dan kebijakan kunci KMS tingkat lanjut
-
Sumber identitas berubah. Saat mengubah sumber identitas Anda ke atau dari Active Directory, konteks enkripsi memerlukan perhatian khusus. Lihat Pertimbangan untuk mengubah sumber identitas Anda.
Templat kebijakan
Pilih dari templat kebijakan lanjutan ini berdasarkan persyaratan keamanan Anda. Seimbangkan kontrol akses granular dengan overhead administratif yang mereka perkenalkan.
Topik yang dibahas di sini:
-
Pernyataan kebijakan kunci KMS untuk penggunaan instans Pusat Identitas IAM tertentu. Bagian ini menunjukkan cara menggunakan konteks enkripsi untuk penggunaan IAM Identity Center tanpa menerapkannya pada tindakan “kms:DescribeKey”. Untuk kasus penggunaan lainnya, Anda dapat menambahkan kondisi konteks enkripsi ke pernyataan kebijakan KMS dasar, seperti yang dijelaskan di atas.
-
Pernyataan kebijakan KMS untuk penggunaan hanya-baca dari instans Pusat Identitas IAM tertentu. Bagian ini menunjukkan penggunaan konteks enkripsi untuk akses hanya-baca ke IAM Identity Center.
-
Pernyataan kebijakan kunci KMS yang disempurnakan untuk penggunaan aplikasi AWS terkelola. Bagian ini menunjukkan cara memperbaiki kebijakan kunci KMS untuk aplikasi AWS terkelola menggunakan konteks enkripsi dan informasi aplikasi, seperti prinsipal layanan aplikasi, ARN aplikasi, dan ID akun. AWS
Pernyataan kebijakan kunci KMS untuk penggunaan instans Pusat Identitas IAM tertentu
Pernyataan kebijakan ini memungkinkan administrator dari instans Pusat Identitas IAM tertentu untuk menggunakan kunci KMS sementara membatasi akses ke instance itu saja.
catatan
Saat ini, Anda dapat menggunakan kunci KMS yang dikelola pelanggan hanya dengan instance organisasi IAM Identity Center. Kunci yang dikelola pelanggan harus ditempatkan di akun manajemen AWS organisasi, yang membantu memastikan kunci digunakan dengan satu instans Pusat Identitas IAM. Namun, mekanisme konteks enkripsi memberikan perlindungan teknis independen dari penggunaan satu instance.
Kebijakan akses administrator
Templat pernyataan kebijakan berikut memungkinkan administrator dari instance tertentu dari IAM Identity Center dan Identity Store terkait untuk menggunakan kunci KMS.
Untuk menggunakan kebijakan ini:
Ganti prinsip IAM administrator contoh dengan kepala IAM administrator Anda yang sebenarnya
Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya
Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya
Jika Anda memerlukan bantuan untuk menemukan nilai pengidentifikasi ini, lihatTemukan pengidentifikasi yang diperlukan.
Setelah Anda memperbarui template dengan nilai-nilai Anda, kembalilah Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk menyiapkan pernyataan kebijakan kunci KMS tambahan, sesuai kebutuhan.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
Kebijakan akses layanan
Templat pernyataan kebijakan berikut memungkinkan instance spesifik IAM Identity Center dan Identity Store terkait untuk menggunakan kunci KMS.
Untuk menggunakan kebijakan ini:
Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya
Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya
Jika Anda memerlukan bantuan untuk menemukan nilai pengidentifikasi ini, lihatTemukan pengidentifikasi yang diperlukan.
Setelah Anda memperbarui template dengan nilai-nilai Anda, kembalilah Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk menyiapkan pernyataan kebijakan kunci KMS tambahan, sesuai kebutuhan.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" } } }, { "Sid": "AllowSpecificIAMIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
Pernyataan kebijakan KMS untuk penggunaan hanya-baca dari instans Pusat Identitas IAM tertentu
Kebijakan ini memungkinkan auditor keamanan dan personel lain yang hanya membutuhkan akses baca ke IAM Identity Center untuk menggunakan kunci KMS.
Untuk menggunakan kebijakan ini:
Ganti contoh prinsip IAM administrator hanya-baca dengan prinsip IAM administrator Anda yang sebenarnya
Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya
Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya
Jika menggunakan administrasi yang didelegasikan, lihat Langkah 4: Konfigurasikan kebijakan IAM untuk penggunaan kunci KMS lintas akun
Jika Anda memerlukan bantuan untuk menemukan nilai pengidentifikasi ini, lihatTemukan pengidentifikasi yang diperlukan.
Setelah Anda memperbarui template dengan nilai-nilai Anda, kembalilah Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk menyiapkan pernyataan kebijakan kunci KMS tambahan, sesuai kebutuhan.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowReadOnlyAccessToIdentityCenterAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowReadOnlyAccessToIdentityStoreAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" } } } ] }
Pernyataan kebijakan kunci KMS yang disempurnakan untuk penggunaan aplikasi AWS terkelola
Templat kebijakan ini memberikan kontrol yang lebih terperinci atas aplikasi AWS terkelola mana yang dapat menggunakan kunci KMS Anda.
catatan
Beberapa aplikasi AWS terkelola tidak dapat digunakan dengan IAM Identity Center yang dikonfigurasi dengan kunci KMS yang dikelola pelanggan. Lihat aplikasi AWS terkelola yang dapat Anda gunakan dengan IAM Identity Center.
Kunci KMS dasar dan pernyataan kebijakan IAM untuk penggunaan aplikasi terkelola AWSIzinkan aplikasi AWS terkelola apa pun dari akun apa pun di AWS organisasi yang sama untuk menggunakan kunci KMS. Gunakan kebijakan yang disempurnakan ini untuk membatasi akses dengan:
Prinsipal layanan aplikasi
Contoh aplikasi ARNs
AWS akun IDs
Konteks enkripsi untuk instans Pusat Identitas IAM tertentu
catatan
Prinsipal layanan adalah pengidentifikasi unik untuk suatu AWS layanan, biasanya diformat sebagai servicename.amazonaws.com (misalnya, elasticmapreduce.amazonaws.com untuk Amazon EMR).
Batasi berdasarkan akun
Template pernyataan kebijakan kunci KMS ini memungkinkan aplikasi AWS terkelola di AWS akun tertentu untuk menggunakan kunci KMS menggunakan instance Pusat Identitas IAM tertentu.
Untuk menggunakan kebijakan ini:
Ganti contoh prinsip layanan dengan prinsipal layanan aplikasi Anda yang sebenarnya
Ganti akun contoh IDs dengan akun Anda yang sebenarnya IDs
Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya
Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
Batasi dengan contoh aplikasi
Template pernyataan kebijakan kunci KMS ini memungkinkan instance aplikasi AWS terkelola tertentu untuk menggunakan kunci KMS menggunakan instance IAM Identity Center tertentu.
Untuk menggunakan kebijakan ini:
Ganti contoh prinsip layanan dengan prinsipal layanan aplikasi Anda yang sebenarnya
Ganti contoh ARN aplikasi dengan ARN aplikasi Anda yang sebenarnya
Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya
Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }