Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Persiapkan AWS KMS untuk pengesahan
catatan
Jika Anda membuktikan layanan pihak ketiga, Anda harus membangun mekanisme kustom Anda sendiri untuk menerima, mengurai, dan memvalidasi Dokumen Pengesahan. Untuk informasi selengkapnya, lihat Validasi Dokumen Pengesahan NitroTPM.
Setelah membuat AMI yang Dapat Diatestasi, Anda harus memiliki pengukuran referensi yang dapat Anda gunakan untuk memvalidasi permintaan dari instans Amazon EC2. AWS KMS menyediakan dukungan bawaan untuk pengesahan dengan NitroTPM.
Untuk AWS KMS kunci yang Anda gunakan untuk mengenkripsi data rahasia, tambahkan kebijakan kunci yang mengizinkan akses kunci hanya jika permintaan API menyertakan Dokumen Pengesahan dengan pengukuran yang sesuai dengan pengukuran referensi yang Anda buat selama proses pembuatan AMI yang dapat dibuktikan. Gunakan pengukuran PCR4 dan PCR12 untuk boot standar atau pengukuran PCR7 untuk Boot Aman. Ini memastikan bahwa hanya permintaan dari instance yang diluncurkan menggunakan AMI yang dapat dikonfirmasi yang dapat melakukan operasi kriptografi menggunakan kunci. AWS KMS
AWS KMS menyediakankms:RecipientAttestation:NitroTPMPCR4,kms:RecipientAttestation:NitroTPMPCR7, dan kunci kms:RecipientAttestation:NitroTPMPCR12 kondisi yang memungkinkan Anda membuat kondisi berbasis pengesahan untuk kebijakan kunci NitroTPM KMS. Untuk informasi selengkapnya, lihat K unci kondisi untuk NitroTPM.
Misalnya, kebijakan AWS KMS kunci berikut mengizinkan akses kunci hanya jika permintaan berasal dari instance dengan profil instans terlampir, dan jika permintaan menyertakan Dokumen Pengesahan dengan nilai PCR 4 dan PCR 12 tertentu. MyEC2InstanceRole
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow requests from instances with attested AMI only", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEC2InstanceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateRandom" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:NitroTPMPCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE", "kms:RecipientAttestation:NitroTPMPCR12":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } } ] }