Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tetapkan kebijakan kunci yang dikelola pelanggan
Untuk menggunakan kunci yang dikelola pelanggan dengan AWS Agen Registry, Anda harus mengonfigurasi kebijakan IAM untuk kepala panggilan dan kebijakan kunci KMS yang memungkinkan layanan melakukan operasi enkripsi dan dekripsi.
Prasyarat
Sebelum membuat registri dengan kunci yang dikelola pelanggan, pastikan hal berikut:
-
Anda memiliki kunci KMS enkripsi simetris di Wilayah yang sama AWS dengan registri. Untuk informasi tentang membuat kunci KMS, lihat Membuat kunci di Panduan Pengembang Layanan Manajemen Kunci. AWS
-
Panggilan utama IAM
CreateRegistrymemiliki izin KMS yang diperlukan. Lihat Izin IAM yang diperlukan.
Izin IAM yang diperlukan
Untuk berinteraksi dengan registri terenkripsi, Anda harus memiliki izin berikut pada kunci KMS:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryCMKAccess", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" } } } ] }
Ganti nilai-nilai berikut:
-
Resource— ARN kunci KMS Anda. -
kms:ViaService— Gantius-east-1dengan Wil AWS ayah registri Anda.
kms:ViaServiceKondisi ini membatasi izin untuk permintaan yang dibuat melalui layanan AWS Agen Registry, mencegah izin ini digunakan di luar AWS Agen Registry.
catatan
Anda harus diberi wewenang untuk melakukan tindakan KMS ini — baik melalui kebijakan IAM Anda atau melalui kebijakan utama (lihatKebijakan kunci untuk kunci yang dikelola pelanggan). Jika kebijakan utama Anda menyertakan pernyataan kebijakan kunci default yang mengaktifkan kebijakan IAM, kebijakan IAM sudah cukup.
Kebijakan kunci untuk kunci yang dikelola pelanggan
Bagian berikut mencantumkan pernyataan kebijakan kunci KMS yang diperlukan AWS Agen Registry. Tambahkan pernyataan ini ke kebijakan kunci KMS Anda sehingga layanan dan kepala panggil dapat menggunakan kunci tersebut. Menambahkan pernyataan diperlukan jika kebijakan kunci Anda tidak menyertakan pernyataan kebijakan kunci default yang mengaktifkan kebijakan IAM, atau ketika kunci tersebut berada di akun yang berbeda.
penting
Blok JSON di bagian berikut adalah contoh pernyataan kebijakan individual, bukan kebijakan kunci lengkap. Jangan menggunakannya untuk mengganti kebijakan kunci KMS Anda yang ada. Sebagai gantinya, salin pernyataan yang Anda perlukan — berdasarkan persona di organisasi Anda dan peran terkait layanan — dan tambahkan pernyataan tersebut ke Statement array kebijakan kunci yang ada. Perbarui nilai di setiap pernyataan (ID akun, Wilayah, peran ARN, dan ARN registri) agar sesuai dengan lingkungan Anda sebelum menyimpan kebijakan.
Kebijakan utama harus memberikan izin berdasarkan persona registr i di organisasi Anda:
-
Administrator - Membuat registri dan mengelola konfigurasi enkripsi. Kebutuhan
kms:DescribeKey,kms:CreateGrant, dan encrypt/decrypt izin. -
Penerbit atau Persetujuan - Membuat dan memperbarui catatan registri (menulis dan membaca deskriptor rekaman). Perlu mengenkripsi dan mendekripsi izin.
-
Konsu men — Membaca catatan registri dan hasil pencarian (membaca deskriptor rekaman). Perlu izin mendekripsi.
Selain pernyataan persona, tambahkan Pernyataan kebijakan untuk peran terkait layanan agar AWS Agen Registry dapat menggunakan kunci atas nama Anda saat runtime. Jika Anda berbagi registri dengan akun lain di AWS Organisasi Anda dengan menggunakan AWS Resource Access Manager (AWS RAM), tambahkan jugaPernyataan kebijakan untuk akses organisasi melalui AWS RAM.
catatan
Jika peran Anda menulis dan membaca deskriptor rekaman (misalnya, penerbit yang juga mengambil catatan), berikan izin enkripsi dan dekripsi seperti yang ditunjukkan pada. Pernyataan kebijakan untuk penerbit
Pernyataan kebijakan untuk administrator
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryAdminKeyValidation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" } } }, { "Sid": "AllowRegistryAdminGrantCreation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "AllowRegistryAdminCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryAdminKeyValidation- Memungkinkan administrator untuk memvalidasi kunci sebelum menggunakannya dengan registri.
-
AllowRegistryAdminGrantCreation- Memungkinkan administrator untuk membuat hibah saat membuat registri.
kms:GrantIsForAWSResourceKondisi memastikan bahwa hanyakms:CreateGrantdapat digunakan ketika AWS layanan memulai pembuatan hibah atas nama penelepon. -
AllowRegistryAdminCryptoOps- Memungkinkan administrator untuk mengenkripsi dan mendekripsi deskriptor catatan, dicakup ke registri tertentu melalui konteks enkripsi.
Pernyataan kebijakan untuk penerbit
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryPublisherCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryPublisherRole" }, "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryPublisherCryptoOps- Memungkinkan penerbit dan penyetujui untuk mengenkripsi dan mendekripsi deskriptor catatan. Diperlukan untuk
CreateRegistryRecorddanUpdateRegistryRecord.
Pernyataan kebijakan untuk konsumen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryConsumerDecrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryConsumerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryConsumerDecrypt- Memungkinkan konsumen untuk mendekripsi deskriptor catatan. Diperlukan untuk
GetRegistryRecorddanSearchDiscoverableRegistryRecords.
Pernyataan kebijakan untuk peran terkait layanan
Ber AWS ikan izin peran terkait layanan Agen Registry untuk menggunakan kunci saat runtime. Layanan menggunakan peran ini untuk mengenkripsi dan mendekripsi deskriptor rekaman atas nama Anda.
Menambahkan pernyataan ini membutuhkan dua langkah berurutan:
-
Buat peran terkait layanan di akun Anda terlebih dahulu. AWS Agen Registry tidak membuat peran untuk Anda — Anda harus membuatnya sendiri sebelum menambahkan pernyataan kebijakan kunci KMS. Gunakan AWS CLI:
aws iam create-service-linked-role --aws-service-name agent-registry.amazonaws.com.rproxy.goskope.comIni menciptakan
AWSServiceRoleForAgentRegistryperan diarn:aws:iam::<account-id>:role/aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistry. Anda hanya perlu melakukannya satu kali per akun. -
Kemudian tambahkan pernyataan berikut ke kebijakan kunci KMS Anda. IAM menolak kebijakan kunci apa pun yang mereferensikan prinsipal yang belum ada, jadi peran harus ada sebelum Anda menempelkan pernyataan yang menamainya.
Cakup pernyataan ke pendaftar di akun Anda menggunakan wildcard konteks enkripsi.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistrySlrCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistry" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/*" } } } ] }
-
AllowRegistrySlrCryptoOps— Memungkinkan peran terkait layanan AWS Agen Registry (
AWSServiceRoleForAgentRegistry) untuk mengenkripsi dan mendekripsi deskriptor rekaman atas nama Anda, dicakup ke pendaftaran di akun Anda melalui kondisi.kms:EncryptionContext:aws:agent-registry:registry-arn
Pernyataan kebijakan untuk akses organisasi melalui AWS RAM
Tambahkan pernyataan ini jika Anda berbagi registri terenkripsi kunci yang dikelola pelanggan dengan akun lain di AWS Organisasi Anda menggunakan AWS Resource Access Manager (RAM).AWS Ini memberikan prinsipal mana pun di organisasi Anda kemampuan untuk mendekripsi deskriptor catatan dari registri yang dibagikan dengan mereka. Jika Anda tidak membagikan registri melalui AWS RAM, pernyataan ini tidak diperlukan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOrganizationDecrypt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-EXAMPLE1234" } } } ] }
-
AllowOrganizationDecrypt- Memungkinkan prinsipal apa pun di AWS Organisasi Anda untuk mendekripsi deskriptor catatan dari pendaftar yang Anda bagikan melalui RAM. AWS
aws:PrincipalOrgIDKondisi ini mencakup izin ini secara ketat ke akun anggota organisasi yang disebutkan; tanpa ID organisasi yang cocok, tidak memberikan"Principal": "*"apa pun. Penelepon masih memerlukan izin IAM tingkat layanan yang sesuai pada registri bersama itu sendiri.
Ganti nilai dalam pernyataan kebijakan utama
Ganti nilai-nilai berikut di setiap pernyataan kebijakan utama:
-
Principal— ARN pengguna atau peran IAM untuk setiap persona. Ganti111122223333dengan ID akun Anda dan nama peran dengan peran IAM Anda yang sebenarnya. Untuk pernyataan peran terkait layanan, ganti111122223333dengan ID akun Anda; pertahankan jalur peran dan nama (aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistry) seperti yang ditunjukkan — ini adalah nilai tetap yang dikelola layanan. -
kms:ViaService— Gantius-east-1dengan Wil AWS ayah registri Anda. -
kms:EncryptionContext:aws:agent-registry:registry-arn— Ganti dengan ARN dari registri Anda. Untuk mengizinkan akses ke semua registri di akun Anda, gunakanStringLikedengan wildcard:.arn:aws:agent-registry:us-east-1:111122223333:registry/* -
aws:PrincipalOrgID- Dalam pernyataan berbagi AWS RAM, gantio-EXAMPLE1234dengan ID AWS Organisasi Anda. Anda dapat menemukannya di konsol AWS Organisasi, atau jalankanaws organizations describe-organization --query 'Organization.Id' --output text.