AWS KMSAWS Nitro Enclaves의 조건 키 - AWS Key Management Service

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

AWS KMSAWS Nitro Enclaves의 조건 키

AWS Nitro Enclaves엔클레이브라는 격리된 컴퓨팅 환경을 생성하여 매우 민감한 데이터를 보호하고 처리할 수 있는 Amazon EC2 기능입니다. 는 AWS Nitro Enclaves를 지원하는 조건 키를 AWS KMS 제공합니다. 이러한 조건 키는 Nitro Enclave에 AWS KMS 대한 에 대한 요청에만 유효합니다.

엔클레이브에서 서명된 증명 문서를 사용하여 복호화 , , DeriveSharedSecretGenerateDataKeyGenerateDataKeyPair, 또는 GenerateRandom API 작업을 호출하면 인증 문서의 퍼블릭 키 아래 응답에서 일반 텍스트를 APIs 암호화하고 일반 텍스트 대신 암호 텍스트를 반환합니다. 이 사이퍼텍스트는 엔클레이브의 프라이빗 키를 사용해야만 해독할 수 있습니다. 자세한 내용은 AWS Nitro Enclaves에 대한 암호화 증명 단원을 참조하십시오.

다음 조건 키를 사용하면 서명된 증명 문서의 내용에 따라 이러한 작업에 대한 사용 권한을 제한할 수 있습니다. 작업을 허용하기 전에 는 엔클레이브의 증명 문서를 이러한 AWS KMS 조건 키의 값과 AWS KMS 비교합니다.

kms:RecipientAttestation:ImageSha384

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

kms:RecipientAttestation:ImageSha384

String

단일 값

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

키 정책 및 IAM 정책

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

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

참고

이 조건 키는 IAM 콘솔 또는 IAM 서비스 승인 참조 에 표시되지 않더라도 키 정책 문 및 IAM 정책 문에서 유효합니다.

예를 들어, 다음 키 정책 문을 통해 data-processing 역할은 복호화, , DeriveSharedSecretGenerateDataKey, 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>

String

단일 값

Decrypt

DeriveSharedSecret

GenerateDataKey

GenerateDataKeyPair

GenerateRandom

키 정책 및 IAM 정책

kms:RecipientAttestation:PCR<PCR_ID> 조건 키는 요청의 서명된 증명 문서에서 플랫폼 구성이 조건 KMS 키의 와 일치하는 경우에만 키GenerateRandom로 , GenerateDataKey, Decrypt DeriveSharedSecretGenerateDataKeyPair, 및 PCRs에 대한 액세스를 제어합니다(PCRs). 이 조건 키는 요청의 Recipient 파라미터가 AWS Nitro 엔클레이브에서 서명된 증명 문서를 지정하는 경우에만 유효합니다.

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

참고

이 조건 키는 IAM 콘솔 또는 IAM 서비스 승인 참조 에 표시되지 않더라도 키 정책 문 및 IAM 정책 문에서 유효합니다.

PCR 값을 지정하려면 다음 형식을 사용합니다. PCR ID를 조건 키 이름과 연결합니다. PCR 값은 최대 96바이트의 소문자 16진수 문자열이어야 합니다.

"kms:RecipientAttestation:PCRPCR_ID": "PCR_value"

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

kms:RecipientAttestation:PCR1: "0x1abcdef2abcdef3abcdef4abcdef5abcdef6abcdef7abcdef8abcdef9abcdef8abcdef7abcdef6abcdef5abcdef4abcdef3abcdef2abcdef1abcdef0abcde"

다음 예제 키 정책 문을 통해 data-processing 역할은 복호화 작업에 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": "0x1de4f2dcf774f6e3b679f62e5f120065b2e408dcea327bd1c9dddaea6664e7af7935581474844767453082c6f1586116376cede396a30a39a611b9aad7966c87" } } }