Nitro Enclaves에 대한 조건 키 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Nitro Enclaves에 대한 조건 키

다음 조건 키는 Nitro Enclaves 증명에만 사용됩니다.

kms:RecipientAttestation:ImageSha384

AWS KMS 조건 키 조건 유형 값 유형 API 작업 정책 유형

kms:RecipientAttestation:ImageSha384

문자열

단일 값

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

키 정책 및 IAM 정책

kms:RecipientAttestation:ImageSha384 조건 키는 요청의 서명된 증명 문서의 이미지 다이제스트가 조건 키의 값과 일치하는 경우 KMS 키를 통해 Decrypt, DeriveSharedSecret, GenerateDataKey, GenerateDataKeyPairGenerateRandom에 대한 액세스를 제어합니다. ImageSha384 값은 증명 문서의 PCR0에 해당합니다. 이 조건 키는 요청의 Recipient 파라미터가 AWS Nitro 엔클레이브에 대해 서명된 증명 문서를 지정하는 경우에만 유효합니다.

이 값은 Nitro 엔클레이브에 대한에 대한 요청에 AWS KMS 대한 CloudTrail 이벤트에도 포함됩니다.

예를 들어 다음 키 정책 문은 data-processing 역할이 Decrypt, DeriveSharedSecret, GenerateDataKey, GenerateDataKeyPairGenerateRandom 작업에 KMS 키를 사용하도록 허용합니다. kms:RecipientAttestation:ImageSha384 조건 키는 요청에 있는 증명 문서의 이미지 다이제스트 값(PCR0)이 조건의 이미지 다이제스트 값과 일치하는 경우에만 작업을 허용합니다. 이 조건 키는 요청의 Recipient 파라미터가 AWS Nitro 엔클레이브에 대해 서명된 증명 문서를 지정하는 경우에만 유효합니다.

요청에 AWS Nitro 엔클레이브의 유효한 증명 문서가 포함되지 않은 경우이 조건이 충족되지 않으므로 권한이 거부됩니다.

{ "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> 조건 키는 요청의 서명된 증명 문서의 플랫폼 구성 레지스터(PCR)가 조건 키의 PCR과 일치하는 경우에만 KMS 키를 통해 Decrypt, DeriveSharedSecret, GenerateDataKey, GenerateDataKeyPairGenerateRandom에 대한 액세스를 제어합니다. 이 조건 키는 요청의 Recipient 파라미터가 AWS Nitro 엔클레이브에서 서명된 증명 문서를 지정하는 경우에만 유효합니다.

이 값은 Nitro 엔클레이브에 AWS KMS 대한 요청을 나타내는 CloudTrail 이벤트에도 포함됩니다.

PCR 값을 지정하려면 다음 형식을 사용합니다. PCR ID를 조건 키 이름에 연결합니다. 6개의 엔클레이브 측정값 중 하나를 식별하는 PCR ID 또는 특정 사용 사례에 맞게 정의한 사용자 지정 PCR ID를 지정할 수 있습니다. PCR 값은 최대 96바이트의 소문자 16진수 문자열이어야 합니다.

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

예를 들어, 다음 조건 키는 PCR1의 특정 값을 지정합니다. 이 값은 엔클레이브 및 부트스트랩 프로세스에 사용되는 커널의 해시에 해당합니다.

kms:RecipientAttestation:PCR1: "abc1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

다음 예제 키 정책문은 data-processing 역할이 Decrypt 작업에 KMS 키를 사용하도록 허용합니다.

이 명령문의 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": "abc1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }