Kunci KMS dasar dan pernyataan kebijakan IAM - AWS IAM Identity Center

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

Kunci KMS dasar dan pernyataan kebijakan IAM

Kunci KMS dasar dan kebijakan berbasis identitas yang disediakan di sini berfungsi sebagai dasar untuk persyaratan umum. Kami juga menyarankan Anda meninjau Pernyataan kebijakan kunci KMS tingkat lanjut yang menyediakan kontrol akses yang lebih terperinci, seperti memastikan kunci KMS hanya dapat diakses oleh instans Pusat Identitas IAM tertentu atau AWS aplikasi terkelola. Sebelum menggunakan pernyataan kebijakan kunci KMS tingkat lanjut, tinjau. Pertimbangan untuk memilih pernyataan kebijakan kunci KMS dasar vs. lanjutan

Bagian berikut memberikan pernyataan kebijakan dasar untuk setiap kasus penggunaan. Perluas bagian yang cocok dengan kasus penggunaan Anda, dan salin pernyataan kebijakan kunci KMS. Kemudian, kembali keLangkah 2: Siapkan pernyataan kebijakan utama KMS.

Gunakan templat pernyataan kebijakan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk mengizinkan IAM Identity Center, Identity Store terkait, dan administrator IAM Identity Center untuk menggunakan kunci KMS.

  • Dalam elemen Principal untuk pernyataan kebijakan administrator, tentukan prinsip AWS akun akun akun administrasi Pusat Identitas IAM, yang merupakan akun manajemen AWS organisasi dan akun administrasi yang didelegasikan, menggunakan format “arn:aws:iam: :111122223333:root”.

  • Dalam PrincipalArn elemen, ganti contoh ARNs dengan peran IAM administrator IAM Identity Center.

    Anda dapat menentukan:

    • Peran IAM khusus ARN:

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678"

    • Pola wildcard (disarankan):

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"

    Menggunakan wildcard (*) mencegah hilangnya akses jika set izin dihapus dan dibuat ulang, karena Identity Center menghasilkan pengidentifikasi unik baru untuk set izin yang dibuat ulang. Untuk contoh implementasi, lihatContoh kebijakan kepercayaan khusus.

  • Dalam SourceAccount elemen, tentukan ID akun Pusat Identitas IAM.

  • Identity Store memiliki prinsip layanan sendiriidentitystore.amazonaws.com, yang harus diizinkan untuk menggunakan kunci KMS.

  • Pernyataan kebijakan ini memungkinkan instans Pusat Identitas IAM Anda di AWS akun tertentu untuk menggunakan kunci KMS. Untuk membatasi akses ke instans Pusat Identitas IAM tertentu, lihat. Pernyataan kebijakan kunci KMS tingkat lanjut Anda hanya dapat memiliki satu instans Pusat Identitas IAM untuk setiap AWS akun.

Pernyataan kebijakan utama KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Gunakan templat pernyataan kebijakan IAM berikut Langkah 4: Konfigurasikan kebijakan IAM untuk penggunaan kunci KMS lintas akun untuk mengizinkan administrator Pusat Identitas IAM menggunakan kunci KMS.

  • Ganti contoh kunci ARN dalam Resource elemen dengan ARN kunci KMS Anda yang sebenarnya. Untuk bantuan menemukan nilai pengidentifikasi yang direferensikan, lihat. Di mana menemukan pengidentifikasi yang diperlukan

  • Pernyataan kebijakan IAM ini memberikan akses kunci KMS ke kepala sekolah IAM tetapi tidak membatasi AWS layanan mana yang dapat mengajukan permintaan. Kebijakan kunci KMS biasanya menyediakan pembatasan layanan ini. Namun, Anda dapat menambahkan konteks enkripsi ke kebijakan IAM ini untuk membatasi penggunaan ke instans Pusat Identitas tertentu. Lihat Pernyataan kebijakan kunci KMS tingkat lanjut untuk detailnya.

Pernyataan Kebijakan IAM diperlukan untuk administrator yang didelegasikan dari IAM Identity Center

{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToUseKMSkey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToListKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }
catatan

Beberapa aplikasi AWS terkelola tidak dapat digunakan dengan IAM Identity Center yang dikonfigurasi dengan kunci KMS yang dikelola pelanggan. Untuk informasi selengkapnya, lihat aplikasi AWS terkelola yang bekerja dengan IAM Identity Center.

Gunakan templat pernyataan kebijakan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk memungkinkan aplikasi AWS terkelola dan administrator mereka menggunakan kunci KMS.

Pernyataan kebijakan utama KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }

Gunakan templat pernyataan kebijakan IAM berikut Langkah 4: Konfigurasikan kebijakan IAM untuk penggunaan kunci KMS lintas akun untuk mengizinkan administrator aplikasi AWS terkelola menggunakan kunci KMS dari akun anggota.

  • Ganti contoh ARN di elemen Resource dengan ARN kunci KMS Anda yang sebenarnya. Untuk bantuan menemukan nilai pengidentifikasi yang direferensikan, lihat. Di mana menemukan pengidentifikasi yang diperlukan

  • Beberapa aplikasi AWS terkelola mengharuskan Anda mengonfigurasi izin untuk layanan Pusat Identitas IAM. APIs Sebelum Anda mengonfigurasi kunci yang dikelola pelanggan di Pusat Identitas IAM, verifikasi bahwa izin ini juga memungkinkan penggunaan kunci KMS. Untuk persyaratan izin kunci KMS tertentu, lihat dokumentasi untuk setiap aplikasi AWS terkelola yang telah Anda gunakan.

Pernyataan kebijakan IAM yang diperlukan untuk administrator aplikasi AWS terkelola:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }

Gunakan template pernyataan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk memungkinkan administrator AWS Control Tower menggunakan kunci KMS.

  • Dalam elemen Principal, tentukan prinsip IAM yang digunakan untuk akses ke layanan IAM Identity Center. APIs Untuk informasi selengkapnya tentang prinsip-prinsip IAM, lihat Menentukan prinsipal dalam Panduan Pengguna IAM.

  • Pernyataan kebijakan ini memungkinkan administrator AWS Control Tower untuk menggunakan kunci KMS melalui instans Pusat Identitas IAM Anda. Namun, AWS Control Tower membatasi akses ke instance organisasi IAM Identity Center di organisasi yang sama AWS . Karena pembatasan ini, tidak ada manfaat praktis untuk membatasi lebih lanjut kunci KMS ke instance Pusat Identitas IAM tertentu seperti yang dijelaskan dalam. Pernyataan kebijakan kunci KMS tingkat lanjut

  • Untuk membantu melindungi terhadap perubahan nama peran IAM saat set izin dibuat ulang, gunakan pendekatan yang dijelaskan dalam. Contoh kebijakan kepercayaan khusus

Pernyataan kebijakan kunci KMS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

AWS Control Tower tidak mendukung administrasi yang didelegasikan dan, oleh karena itu, Anda tidak perlu mengonfigurasi kebijakan IAM untuk administratornya.

penting

Pernyataan kebijakan sebelumnya mencakup operasi yang AWS Control Tower dikelola layanan, seperti pendaftaran akun otomatis, di mana mengambil peran. AWS Control Tower AWSControlTowerAdmin Namun, untuk operasi yang dimulai pelanggan seperti penyediaan akun melalui Account Factory atau menelepon AWS Control Tower APIs langsung, AWS Control Tower menggunakan forward access session (FAS) dan beroperasi di bawah peran IAM pelanggan sendiri. Ini berarti peran IAM yang Anda gunakan untuk memulai operasi ini juga memerlukan kms:Decrypt izin pada kunci KMS yang dikelola pelanggan.

Tambahkan pernyataan kebijakan utama KMS berikut di samping AWSControlTowerAdmin pernyataan di atas. Ganti MyControlTowerRole dengan ARN peran IAM yang Anda gunakan untuk berinteraksi AWS Control Tower, seperti peran set izin Pusat Identitas IAM (misalnya,AWSReservedSSO_PermissionSetName_*), peran IAM khusus untuk otomatisasi, atau peran lain yang digunakan untuk memanggil atau. AWS Control Tower AWS Service Catalog APIs

Pernyataan kebijakan utama KMS untuk operasi yang dimulai pelanggan AWS Control Tower :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityCenterForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityStoreForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Gunakan templat pernyataan kebijakan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk mengizinkan pengguna instans masuk tunggal (SSO) ke Amazon EC2 untuk menggunakan kunci KMS di seluruh akun.

  • Tentukan prinsip IAM yang digunakan untuk akses ke Pusat Identitas IAM di bidang Principal. Untuk informasi selengkapnya tentang prinsip-prinsip IAM, lihat Menentukan prinsipal dalam Panduan Pengguna IAM.

  • Pernyataan kebijakan ini memungkinkan instans Pusat Identitas IAM Anda untuk menggunakan kunci KMS. Untuk membatasi akses ke instans Pusat Identitas IAM tertentu, lihat. Pernyataan kebijakan kunci KMS tingkat lanjut

  • Untuk membantu melindungi terhadap perubahan nama peran IAM saat set izin dibuat ulang, gunakan pendekatan yang dijelaskan dalam contoh kebijakan kepercayaan khusus.

Pernyataan kebijakan kunci KMS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Gunakan templat pernyataan kebijakan IAM berikut Langkah 4: Konfigurasikan kebijakan IAM untuk penggunaan kunci KMS lintas akun untuk mengizinkan instans SSO ke EC2 menggunakan kunci KMS.

Lampirkan pernyataan kebijakan IAM ke izin yang ada yang ditetapkan di Pusat Identitas IAM yang Anda gunakan untuk mengizinkan akses SSO ke instans Amazon EC2. Untuk contoh kebijakan IAM, lihat Koneksi Protokol Desktop Jarak Jauh di Panduan Pengguna AWS Systems Manager.

Izin menetapkan kebijakan IAM:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowKMSKeyUseViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }

Gunakan templat pernyataan kebijakan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk mengizinkan alur kerja kustom, seperti aplikasi yang dikelola pelanggan, di akun AWS Organizations manajemen atau akun administrasi yang didelegasikan untuk menggunakan kunci KMS. Perhatikan bahwa federasi SAFL ke dalam aplikasi yang dikelola pelanggan tidak memerlukan izin kunci KMS.

  • Dalam elemen Principal, tentukan prinsip IAM yang digunakan untuk mengakses layanan IAM Identity Center. APIs Untuk informasi selengkapnya tentang prinsip-prinsip IAM, lihat Menentukan prinsipal dalam Panduan Pengguna IAM.

  • Pernyataan kebijakan ini memungkinkan alur kerja Anda menggunakan kunci KMS melalui instans Pusat Identitas IAM Anda. Untuk membatasi akses ke instans Pusat Identitas IAM tertentu, lihat. Pernyataan kebijakan kunci KMS tingkat lanjut

  • Untuk membantu melindungi terhadap perubahan nama peran IAM saat set izin dibuat ulang, gunakan pendekatan yang dijelaskan dalam. Contoh kebijakan kepercayaan khusus

Pernyataan kebijakan kunci KMS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

Gunakan templat pernyataan kebijakan IAM berikut Langkah 4: Konfigurasikan kebijakan IAM untuk penggunaan kunci KMS lintas akun untuk mengizinkan prinsipal IAM yang terkait dengan alur kerja kustom menggunakan kunci KMS di seluruh akun. Tambahkan pernyataan kebijakan IAM ke kepala IAM.

Pernyataan kebijakan IAM (hanya diperlukan untuk penggunaan lintas akun):

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }

Contoh pernyataan kebijakan kunci KMS untuk kasus penggunaan umum

Pusat Identitas IAM dengan administrator yang didelegasikan dan aplikasi terkelola AWS

Bagian ini berisi contoh pernyataan kebijakan kunci KMS yang dapat Anda gunakan untuk instans Pusat Identitas IAM yang telah mendelegasikan administrator dan aplikasi terkelola. AWS

penting

Pernyataan kebijakan kunci KMS mengasumsikan bahwa instans Pusat Identitas IAM Anda tidak digunakan dalam kasus penggunaan lain yang memerlukan izin kunci KMS. Untuk mengonfirmasi, Anda dapat meninjau semua kasus penggunaan. Selain itu, untuk mengonfirmasi apakah aplikasi AWS terkelola Anda memerlukan konfigurasi tambahan, lihat Konfigurasi tambahan di beberapa aplikasi AWS terkelola

Salin pernyataan kebijakan kunci KMS di bawah tabel dan tambahkan ke kebijakan kunci KMS Anda. Contoh ini menggunakan nilai contoh berikut:

  • 111122223333- ID Akun dari instans Pusat Identitas IAM

  • 444455556666- ID akun administrasi yang didelegasikan

  • o-a1b2c3d4e5- ID AWS organisasi

  • arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*- Pola wildcard peran IAM administrator IAM Identity Center yang disediakan dari set izin. Admin Peran seperti itu berisi kode Wilayah Wilayah utama (us-east-1 dalam contoh ini).

  • arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*- Pola wildcard dari IAM Identity Center yang didelegasikan peran IAM administrator yang disediakan dari set izin. DelegatedAdmin Peran seperti itu berisi kode Wilayah Wilayah utama (us-east-1 dalam contoh ini).

Jika peran IAM tidak dihasilkan dari set izin, peran IAM akan terlihat seperti peran biasa seperti. arn:aws:iam::111122223333:role/idcadmin

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "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": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }