AWS KMSAWS Nitro Enclaves 的條件索引鍵 - AWS Key Management Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS KMSAWS Nitro Enclaves 的條件索引鍵

AWS Nitro Enclaves 是一種 Amazon EC2功能,可讓您建立名為 enclaves 的隔離運算環境,以保護和處理高度敏感的資料。 AWS KMS 提供條件金鑰以支援 AWS Nitro Enclaves。這些條件金鑰僅適用於對 Nitro Enclave AWS KMS 的 請求。

當您從 enclave DeriveSharedSecret呼叫 DecryptGenerateDataKeyPair、、 GenerateDataKeyGenerateRandomAPI操作並簽署了認證文件時,這些會在認證文件中公有金鑰下的回應中APIs加密純文字,並傳回密碼文字而非純文字。僅當使用 enclave 的私有金鑰時才能解密此密文。如需詳細資訊,請參閱AWS Nitro Enclaves 密碼編譯驗證

下列條件鍵可讓您根據已簽署的證明文件內容,限制這些操作的許可。在允許操作之前, 會將 enclave 的證明文件與這些 AWS KMS 條件索引鍵中的值 AWS KMS 進行比較。

kms:RecipientAttestation:ImageSha384

AWS KMS 條件索引鍵 條件類型 值類型 API 操作 政策類型

kms:RecipientAttestation:ImageSha384

字串

單一值

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

金鑰政策和 IAM 政策

當請求中已簽署的證明文件中的映像摘要符合條件KMS索引鍵中的值時DecryptDeriveSharedSecretkms:RecipientAttestation:ImageSha384條件索引鍵GenerateRandom會使用索引鍵控制對 GenerateDataKeyPair、、GenerateDataKey、 和 的存取。該ImageSha384值對應於 證明文件中的 PCR0。此條件索引鍵只有在請求中的 Recipient 參數指定 AWS Nitro enclave 的已簽署證明文件時才會生效。

此值也包含在請求至 AWS KMS for Nitro enclaves CloudTrail的事件中。

注意

此條件索引鍵在金鑰政策陳述式和IAM政策陳述式中有效,即使它未出現在IAM主控台或服務IAM授權參考 中。

例如,下列金鑰政策陳述式允許data-processing角色使用 KMS金鑰進行解密 DeriveSharedSecretGenerateDataKeyGenerateDataKeyPairGenerateRandom操作。kms:RecipientAttestation:ImageSha384 條件索引鍵僅在請求中證明文件的影像摘要值 (PCR0) 符合條件中的影像摘要值時,才允許操作。此條件索引鍵只有在請求中的 Recipient 參數指定 AWS Nitro enclave 的已簽署證明文件時才會生效。

如果請求不包含來自 AWS Nitro enclave 的有效證明文件,則會拒絕許可,因為不符合此條件。

{ "Sid" : "Enable enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": [ "kms:Decrypt", "kms:DeriveSharedSecret", "kms:GenerateDataKey", "kms:GenerateDataKeyPair", "kms:GenerateRandom" ], "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:ImageSha384": "9fedcba8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef1abcdef0abcdef1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef99" } } }

kms:RecipientAttestation:PCR<PCR_ID>

AWS KMS 條件索引鍵 條件類型 值類型 API 操作 政策類型

kms:RecipientAttestation:PCR<PCR_ID>

字串

單一值

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

金鑰政策和 IAM 政策

kms:RecipientAttestation:PCR<PCR_ID> 只有當 請求中的平台組態從簽署的證明文件註冊 Decrypt DeriveSharedSecret(PCRs) 符合條件金鑰PCRs中的 時,條件金鑰KMS才會控制對 GenerateDataKeyPair、、GenerateDataKey、 和 GenerateRandom的存取。此條件索引鍵只有在請求中的 Recipient 參數指定來自 AWS Nitro 環境的已簽署證明文件時才會生效。

此值也包含在代表 AWS KMS 對 Nitro enclaves 請求CloudTrail的事件中。

注意

此條件索引鍵在金鑰政策陳述式和IAM政策陳述式中有效,即使它未出現在IAM主控台或服務IAM授權參考 中。

若要指定PCR值,請使用下列格式。將 PCR ID 與條件索引鍵名稱串連。PCR 值必須是大小寫的十六進位字串,最多 96 個位元組。

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

例如,下列條件索引鍵會指定 的特定值PCR1,其對應於用於 enclave 的核心雜湊和引導程序。

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

下列金鑰政策陳述式範例允許data-processing角色使用 KMS金鑰進行解密操作。 https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html

此陳述式中的kms:RecipientAttestation:PCR條件索引鍵只有在請求中簽署的證明文件中PCR1的值符合條件中的kms:RecipientAttestation:PCR1值時,才允許操作。使用StringEqualsIgnoreCase政策運算子要求對PCR值進行不區分大小寫的比較。

如請求不含證明文件,則會因未滿足此條件而拒絕許可。

{ "Sid" : "Enable enclave data processing", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:role/data-processing" }, "Action": "kms:Decrypt", "Resource" : "*", "Condition": { "StringEqualsIgnoreCase": { "kms:RecipientAttestation:PCR1": "0x1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }