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. Salin pernyataan kebijakan kunci KMS yang cocok dengan kasus penggunaan Anda, lalu kembali keLangkah 2: Siapkan pernyataan kebijakan utama KMS.

Pernyataan kebijakan utama KMS dasar untuk penggunaan IAM Identity Center (wajib)

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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] } } }, { "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": "AllowIAMIdentityStoreToUseTheKMSKey", "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. Temukan 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. Untuk detailnya, lihatPernyataan kebijakan kunci KMS tingkat lanjut.

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": "*" } ] }

Kunci KMS dasar dan pernyataan kebijakan IAM untuk penggunaan aplikasi terkelola AWS

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

Pernyataan kunci KMS dasar untuk penggunaan AWS Control Tower

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/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "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.

Kunci KMS dasar dan pernyataan kebijakan IAM untuk penggunaan instans IAM Identity Center ke Amazon Elastic Compute Cloud Windows

Gunakan templat pernyataan kebijakan kunci KMS berikut Langkah 2: Siapkan pernyataan kebijakan utama KMS untuk mengizinkan pengguna instans masuk tunggal (SSO) ke Amazon EC2 Windows 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:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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 instance SSO ke EC2 Windows menggunakan kunci KMS.

Lampirkan pernyataan kebijakan IAM ke set izin yang ada di Pusat Identitas IAM yang Anda gunakan untuk mengizinkan akses SSO ke instans Amazon EC2 Windows. 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" ] } } }] }

Kunci KMS dasar dan pernyataan kebijakan IAM untuk penggunaan alur kerja kustom dengan IAM Identity Center

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.

  • 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:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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" ] } } }] }