Pernyataan kebijakan kunci KMS tingkat lanjut - AWS IAM Identity Center

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

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:

  1. Ganti prinsip IAM administrator contoh dengan kepala IAM administrator Anda yang sebenarnya

  2. Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya

  3. 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:

  1. Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya

  2. 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:

  1. Ganti contoh prinsip IAM administrator hanya-baca dengan prinsip IAM administrator Anda yang sebenarnya

  2. Ganti contoh ARN Instance IAM Identity Center dengan ARN instance Anda yang sebenarnya

  3. Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya

  4. 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:

  1. Ganti contoh prinsip layanan dengan prinsipal layanan aplikasi Anda yang sebenarnya

  2. Ganti akun contoh IDs dengan akun Anda yang sebenarnya IDs

  3. Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya

  4. 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:

  1. Ganti contoh prinsip layanan dengan prinsipal layanan aplikasi Anda yang sebenarnya

  2. Ganti contoh ARN aplikasi dengan ARN aplikasi Anda yang sebenarnya

  3. Ganti contoh ARN Toko Identitas dengan ARN Toko Identitas Anda yang sebenarnya

  4. 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" } } } ] }