기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Verified Permissions에서 리소스 암호화
Amazon Verified Permissions는 기본적으로 암호화를 제공하여 AWS 소유 암호화 키를 사용하여 저장된 민감한 고객 데이터를 보호합니다. 추가 보호 계층인 Amazon Verified Permissions를 사용하면 AWS Key Management Service (AWS KMS) 고객 관리형 키 s(CMK)를 사용하여 정책 스토어를 암호화할 수 있습니다. 이 기능을 사용하면 저장 데이터 암호화를 통해 민감한 데이터를 보호할 수 있으므로 다음과 같은 이점이 있습니다.
-
애플리케이션 측의 운영 부담을 줄여 민감한 데이터 보호
-
자체 AWS KMS 고객 관리형 키를 통해 권한 부여 정책의 세부 정보를 볼 수 있는 사용자를 제어합니다.
-
엄격한 암호화 규정 준수 및 규제 요구 사항을 충족하는 보안에 민감한 애플리케이션 구축
다음 섹션에서는 새 정책 스토어에 대한 암호화를 구성하고 암호화 키를 관리하는 방법을 설명합니다.
AWS KMS Amazon Verified Permissions의 키 유형
Amazon Verified Permissions는와 통합되어 고객 데이터를 암호화/복호화하는 AWS KMS 데 사용되는 암호화 키를 관리합니다. 키 유형 및 상태에 대한 자세한 내용은 AWS KMS 개발자 안내서의 AWS Key Management Service concepts를 참조하세요. 새 정책 스토어를 생성할 때 다음 AWS KMS 키 유형 중에서 선택하여 데이터를 암호화할 수 있습니다.
AWS 소유 키
기본 암호화 유형입니다. Amazon Verified Permissions는 추가 비용 없이 키를 소유하고 생성 시 저장된 리소스 데이터를 암호화합니다. Verified Permissions에서 소유한 키를 사용하여 데이터를 암호화/복호화하기 위해 코드 또는 애플리케이션에 추가 구성이 필요하지 않습니다.
고객 관리형 키
AWS 계정에서 키를 생성, 소유 및 관리합니다. 에 대한 AWS KMS key. AWS KMS charges가 적용됩니다.를 완전히 제어할 고객 관리형 키수 있습니다. 자세한 내용은 AWS KMS 요금
최상위 리소스(예: 정책 스토어) 고객 관리형 키 에 대한 암호화를 위해를 지정하면 Verified Permissions는 해당 키로 리소스와 하위 리소스를 암호화합니다. 를 사용하여 정책 스토어를 암호화하려면 키 정책의 Verified Permissions에 대한 액세스 권한을 부여 고객 관리형 키해야 합니다. 키 정책은 고객 관리형 키 에 연결하여 액세스 권한을 제어하는 리소스 기반 정책입니다. 자세한 내용은 Amazon Verified Permissions에 대한 AWS KMS 키 사용 권한 부여 섹션을 참조하세요.
또한를 사용하여 암호화된 정책 저장소를 생성하거나 고객 관리형 키로 암호화된 정책 저장소에 대한 API 호출을 수행하려면 호출 고객 관리형 키을 수행하는 IAM 사용자 또는 역할도 키에 액세스할 수 있어야 합니다. Verified Permissions가 키에 액세스할 수 없는 경우 해당 키로 암호화된 리소스와 관련된 권한 부여 결정이 오래되었거나 부정확할 수 있습니다. 키에 액세스할 수 없는 경우 해당 키로 암호화된 리소스를 read/update/delete 수 없으며 암호화에 키를 활용하기 위한 호출 생성이 실패합니다.
참고
Verified Permissions 저장 시 암호화는 Verified Permissions를 사용할 수 있는 모든 AWS 리전에서 사용할 수 있습니다.
중요
고객 관리형 키 를 사용하여 정책 스토어를 암호화한 후에는 암호화에 다른 키를 사용하도록 리소스를 업데이트하거나 해당 정책 스토어에서 키를 제거할 수 없습니다.
Amazon Verified Permissions에서 AWS KMS 및 데이터 키 사용
Amazon Verified Permissions 저장 시 암호화 기능은 AWS KMS 키와 데이터 키 계층 구조를 사용하여 리소스 데이터를 보호합니다.
참고
Amazon Verified Permissions는 대칭 AWS KMS 키만 지원합니다. 비대칭 AWS KMS 키를 사용하여 Amazon Verified Permissions 리소스를 암호화할 수 없습니다.
AWS 소유 키 사용
Amazon Verified Permissions는 기본적으로 AWS 소유 키를 사용하여 모든 리소스를 암호화합니다. 이러한 키는 무료로 사용 가능하며 계정 리소스를 보호하기 위해 매년 교체할 수 있습니다. 이러한 키를 보거나 관리하거나 사용하거나 감사할 필요가 없으므로 데이터 보호를 위해 별도로 작업할 필요가 없습니다. AWS 소유 키에 대한 자세한 내용은 AWS KMS 개발자 안내서의 AWS 소유 키를 참조하세요.
고객 관리형 키 사용
암호화를 고객 관리형 키 위해를 선택하면 다음과 같은 이점이 있습니다.
-
AWS KMS 키에 대한 액세스를 제어하기 위한 키 정책 및 IAM 정책 설정을 포함하여 AWS KMS 키를 생성하고 관리합니다. AWS KMS 키를 활성화 및 비활성화하고, 자동 키 교체를 활성화 및 비활성화하고, 더 이상 사용하지 않을 때 AWS KMS 키를 삭제할 수 있습니다.
-
가져온 키 구성 요소와 고객 관리형 키 함께 또는 소유하고 관리하는 사용자 지정 키 스토어 고객 관리형 키 에서를 사용할 수 있습니다.
-
AWS CloudTrail 로그 AWS KMS 에서에 대한 Amazon Verified Permissions API 호출을 검사하여 Verified Permissions 리소스의 암호화 및 복호화를 감사할 수 있습니다.
Amazon Verified Permissions가 암호화/복호화에 고객 관리형 키를 사용하려면 Amazon Verified Permissions가 사용자를 대신하여 리소스를 암호화/복호화할 수 있도록 특정 키 정책을 추가해야 합니다.
Amazon Verified Permissions에 대한 AWS KMS 키 사용 권한 부여
최소한 Amazon Verified Permissions에는에 대한 다음 권한이 필요합니다. 고객 관리형 키
kms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:DescribeKeykms:ReEncryptTokms:ReEncryptFromkms:Decrypt
다음은 예제 키 정책입니다.
{ "Sid": "Enable AVP to use the KMS key for encrypting project J.A.K. policy resources", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*" }
소스 컨텍스트 이해
소스 컨텍스트는 지정된 키에 대해 AWS KMS 작업을 수행하려고 시도하는 소스 호출자에 대한 정보를 제공합니다. 이렇게 하면 데이터 소스에 컨텍스트를 바인딩하여 암호화된 데이터의 혼동 또는 오용을 방지할 수 있습니다.
고객은 소스 컨텍스트를 다음 키 정책 설명과 같은 키 정책의 추가 조건으로 활용할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } } ] }
이 키 정책은 소스 계정이이 AWS KMS 키가 있는 계정과 동일한 경우 Verified Permissions가 사용자를 대신하여 AWS KMS 호출할 수 있도록 허용합니다. CMK 키에 대한 AWS CloudTrail 감사 로그를 확인할 때 이러한 값을 확인할 수 있어야 합니다. 전역 AWS 조건 키에 대한 자세한 내용은 aws:SourceArn 또는 aws:SourceAccount 조건 키 사용을 참조하세요.
암호화 컨텍스트 이해
암호화 컨텍스트는 암호화 무결성 검사를 위한 추가 인증 데이터를 포함하는 키-값 페어 세트입니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하면 암호화 컨텍스트가 암호화된 데이터에 AWS KMS 암호화 방식으로 바인딩됩니다. 데이터를 해독하려면 동일한 암호화 컨텍스트를 전달해야 합니다.
Amazon Verified Permissions는 모든 암호화 작업에서 동일한 AWS KMS 암호화 컨텍스트를 사용하며 Verified Permissions가 사용자를 대신하여 암호화/복호화 프로세스를 AWS KMS 호출할 때 로그 내에서 AWS CloudTrail 확인할 수 있습니다. 기본적으로 Verified Permissions는 리소스를 암호화할 때 다음과 같은 암호화 컨텍스트 키-값 페어를 사용합니다.
{ "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }
또한 Amazon Verified Permissions를 사용하면 암호화/복호화 프로세스 중에 포함하려는 추가 메타데이터의 일부로 사용자 지정 암호화 컨텍스트를 추가할 수 있습니다. 즉, 키 정책이 아래 예제와 같은 권한을 부여하는 데 더 세분화될 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim" } } } ] }
이 키 정책은 암호화 컨텍스트 맵에 키가 포함되어 있고 값이 형식을 따르고 키-값 페어arn:aws:verifiedpermissions::111122223333:policy-store/*도 포함되어 aws:verifiedpermissions:policy-store-arn있는 경우 Verified Permissions가 사용자를 대신하여 AWS KMS 호출할 수 있도록 허용합니다"policy_owner": "Tim". 사용자 지정 암호화 컨텍스트를 설정하는 방법은 암호화된 정책 저장소 생성 섹션을 참조하세요.
참고
각 키-값 페어를 확인하는 대신 암호화 컨텍스트를 기반으로 하는 조건이 있는 키 정책이 암호화 컨텍스트 맵의 하위 집합에 대한 것이 좋습니다. 서비스 및 해당 종속성 업스트림은 사용자에게 표시되지 않는 키-값 페어를 추가할 수 있으며, 키 정책이 암호화 컨텍스트 맵의 정확한 모양을 기반으로 조건부로 허용하는 경우 Verified Permissions의 키 액세스에 영향을 미칠 수 있습니다.
kms:ViaService 이해
kms:ViaService 조건 키는 AWS KMS 키 사용을 지정된 AWS 서비스의 요청으로 제한합니다. 이 조건 키는 전달 액세스 세션(FAS)에만 적용됩니다. 에 대한 자세한 내용은 AWS KMS 개발자 안내서의 kms:ViaService를 kms:ViaService참조하세요.
예를 들어 다음 키 정책 문고객 관리형 키은 kms:ViaService 조건 키를 사용하여 요청이를 대신하여 미국 동부(버지니아 북부) 리전의 Amazon Verified Permissions에서 오는 경우에만 지정된 작업에를 사용하도록 허용합니다BrentRole.
{ "Sid": "Enable AVP to encrypt/decrypt resources using credentials of BrentRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BrentRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "verifiedpermissions.us-east-1.amazonaws.com" ] } } }
이는 Verified Permissions가 암호화/암호 해독을 위해 사용자를 AWS KMS 대신하여에 요청할 때 Verified Permissions가 자격 증명, 권한 및 세션 속성을 전달할 수 있도록 하는 데 필요합니다. FAS 요청에 대한 자세한 내용은 IAM 사용 설명서의 전달 액세스 세션을 참조하세요.
전체 AWS KMS 키 정책
이전 섹션의 개념을 기반으로 Amazon Verified Permissions가 암호화/복호화에 CMK를 사용하도록 허용하는 예제 키 정책입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim", "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources using credentials of BrentRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BrentRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "verifiedpermissions.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim" } } } ] }
주의
Amazon Verified Permissions에서 이미 사용 중인 AWS KMS 키에 대한 키 정책을 수정할 때는 주의해야 합니다. 최상위 리소스 생성 중에 AWS KMS 키를 처음 구성할 때 Verified Permissions는 암호화 및 복호화 권한을 검증하지만 요청 시 후속 정책 변경을 확인할 수 없습니다. 실수로 필요한 권한을 제거하면 권한 부여 결정 및 정기적인 Verified Permissions 서비스 흐름이 중단될 수 있습니다. Amazon Verified Permissions의 고객 관리형 키와 관련된 일반적인 오류를 해결하는 지침은 섹션을 참조하세요Amazon Verified Permissions의 고객 관리형 키 문제 해결.
암호화된 리소스에 필요한 IAM 정책
계정 내 IAM 역할을 통해 Verified Permissions를 호출하는 고객은 해당 IAM 정책에 리소스의 암호화 및 복호화에 고객 관리형 키 를 활용할 수 있는 적절한 권한이 있는지 확인해야 합니다.
로 암호화된 정책 스토어를 생성하는 경우 고객 관리형 키다음 IAM 정책은 필요한 최소 베어 AWS KMS 및 Verified Permissions 작업을 보여줍니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:CreatePolicyStore", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Effect": "Allow" } ] }
참고
로 암호화된 정책 스토어를 검색(Get* 및 List* 작업)하고 삭제하기 위해 추가 권한이 필요하지 고객 관리형 키않습니다.
로 암호화된 정책 스토어 업데이트 고객 관리형 키, (Get* 및 List* 작업) 검색, 로 암호화된 정책 스토어의 하위 리소스 업데이트 및 삭제 고객 관리형 키를 위해 다음 IAM 정책은 필요한 최소한의 베어 AWS KMS 와 Verified Permissions 작업을 보여줍니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:*", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt" ], "Resource": "*", "Effect": "Allow" } ] }
단일 IAM 정책으로 고객은 IAM 역할 정책에 다음을 추가하기만 하면 됩니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:*", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Effect": "Allow" } ] }
암호화된 정책 스토어 관리
정책 스토어는 모든 관련 정책 리소스를 포함하는 엔트리 레벨 컨테이너입니다. 정책 저장소 및 하위 리소스의 계층 구조에 대한 자세한 내용은 Amazon Verified Permissions 사용 설명서의 Amazon Verified Permissions 정책 저장소를 참조하세요.
Verified Permissions에서 정책 스토어를 생성할 때 AWS KMS 키를 사용하여 저장 시 암호화를 활성화할 수 있습니다. 이렇게 하면 다음이 보장됩니다.
-
정책 스토어 및 하위 리소스에 고객 관리형 키 대한 모든 읽기, 업데이트 및 삭제 작업은 복호화 프로세스에 제공된를 사용합니다.
-
모든 권한 부여 결정 호출(예: IsAuthorized, BatchIsAuthorized, IsAuthorizedWithToken 등)은 고객 관리형 키 복호화 프로세스에 제공된를 사용합니다.
암호화된 정책 저장소 생성
암호화된 정책 스토어를 생성하기 전에 사용 고객 관리형 키 중인에 Amazon Verified Permissions가 암호화/복호화에 키를 활용하기 위한 적절한 키 정책 문이 설정되어 있는지 확인합니다. 필요한 권한은 Amazon Verified Permissions에 대한 AWS KMS 키 사용 권한 부여 섹션을 참조하세요.
사용 AWS CLI:
aws verifiedpermissions create-policy-store --region us-east-1 --encryption-settings file://encrypted.json --validation-settings "{\"mode\": \"OFF\"}"
encrypted.json는 다음과 같습니다.
{ "kmsEncryptionSettings": { "key": "arn:aws:kms:us-east-1:111122223333:key/12345678-90ab-cdef-ghij-klmnopqrstuv", "encryptionContext": { "<ENCRYPTION_CONTEXT_KEY_1>": "<ENCRYPTION_CONTEXT_VALUE_1>", "<ENCRYPTION_CONTEXT_KEY_2>": "<ENCRYPTION_CONTEXT_VALUE_2>", ... } } }
를 고객 관리형 키 ARNkey으로 바꾸고 및 <ENCRYPTION_CONTEXT_KEY> <ENCRYPTION_CONTEXT_VALUE> 페어를 원하는 encryptionContext 키-값 페어로 바꿉니다. 키-값 페어를 추가하지 않으려면를 완전히 생략할 encryptionContext 수 있습니다.
중요
사용자 지정 암호화 컨텍스트에 키-값 페어aws:verifiedpermissions:policy-store-arn를 포함하지 마십시오. 이는 자동으로 추가되며 전달된 사용자 지정 암호화 컨텍스트 키-값 페어의 일부인 경우 검증 오류가 발생합니다.
정책 스토어의 하위 리소스에서 사용 가능한 APIs에 대한 자세한 내용은 Amazon Verified Permissions API 참조 안내서의 작업을 참조하세요.
참고
잘못된 AWS KMS 키 정책으로 인해 Amazon Verified Permissions 리소스에서 사용 AWS KMS 고객 관리형 키 중인가 삭제, 비활성화 또는 액세스할 수 없는 경우 리소스 복호화가 실패하여 잘못된 권한 부여 결정이 발생합니다. 액세스 손실은 상황에 따라 일시적(키 정책을 수정할 수 있음)이거나 영구적(삭제된 키를 복원할 수 없음)일 수 있습니다. AWS KMS 키 삭제 또는 비활성화와 같은 중요한 작업에 대한 액세스를 제한하는 것이 좋습니다. 또한 조직에서 권한 있는 사용자가 Amazon Verified Permissions에 액세스할 수 없는 경우 AWS 에 액세스할 수 있도록 AWS 휴지통 액세스 절차를 설정하는 것이 좋습니다.
와의 Amazon Verified Permissions 상호 작용 모니터링 AWS KMS
를 고객 관리형 키 통해 Amazon Verified Permissions의 사용을 모니터링할 수 있습니다 AWS CloudTrail. Verified Permissions를 AWS KMS 통해에 대한 각 요청에는 암호화 컨텍스트와 사용 중인 키 ARN(본인 고객 관리형 키)이 요청 파라미터에 포함됩니다.
에 대한 AWS CloudTrail 로그 항목의 예GenerateDataKeyWithoutPlaintext:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:04Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "encryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012", "policy_store_editor": "Janus" }, ... }, ... }
에 대한 AWS CloudTrail 로그 항목의 예Decrypt:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:53:21Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "encryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012", "policy_store_owner": "Elias" } }, ... }
에 대한 AWS CloudTrail 로그 항목의 예ReEncrypt:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:04Z", "eventSource": "kms.amazonaws.com", "eventName": "ReEncrypt", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "sourceKeyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "destinationEncryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }, "sourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "destinationKeyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "sourceEncryptionContext": { "aws:verifiedpermissions:policy_store_arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }, "destinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", ... }, ... }
로그 항목에는 Amazon Verified Permissions의 보안 주체 invokedBy 참조 및 requestParameters 맵에 포함encryptionContext/sourceEncryptionContext/destinationEncryptionContext이 포함됩니다.
에 대한 AWS CloudTrail 로그 항목의 예DescribeKey:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx" }, ... }
로그 항목에는 Amazon Verified Permissions의 보안 주체 invokedBy 참조가 포함됩니다.
AWS CloudTrail 로그 항목에 대한 자세한 내용은 AWS CloudTrail 사용 설명서의 AWS CloudTrail 이벤트 이해를 참조하세요.
제한 사항
이 주제에서는 Verified Permissions 및 리소스 암호화를 고객 관리형 키위한 활용의 현재 제한 사항에 대해 설명합니다.
일단 활성화되면 정책 스토어에 대한 암호화를 비활성화할 수 없습니다.
암호화 없이 정책 스토어를 생성한 후에는에서 암호화하도록 정책 스토어를 업데이트할 수 없습니다. 고객 관리형 키
기존 암호화된 정책 스토어의에 고객 관리형 키 대한 Verified Permissions 액세스를 취소하면 기한 경과 권한 결정이 발생할 수 있습니다.
를 사용하여 정책 스토어를 생성한 후에는 사용자 지정 암호화 컨텍스트 값을 수정할 고객 관리형 키수 없습니다. 이는 암호화된 정책 스토어 생성 중에 설정된 정적 값입니다.
Amazon Verified Permissions의 고객 관리형 키 문제 해결
이 주제에서는 Amazon Verified Permissions를 사용할 때 발생할 수 있는 일반적인 고객 관리형 키 관련 오류를 설명하고 이를 해결하기 위한 문제 해결 단계를 제공합니다.
액세스 거부: AWS KMS 권한 문제
오류: " 리소스가이 리전에 존재하지 않거나, 액세스를 허용하는 리소스 기반 정책이 없거나, 리소스 기반 정책이 액세스를 명시적으로 거부하기 때문에 서비스 또는 호출자가 제공된 AWS KMS 키를 사용할 권한이 없습니다."
이는 서비스 또는 호출자가 IAM 정책/AWS KMS 키 정책에 필요한 kms:* 작업(들) 권한이 없거나 참조되는 키가 존재하지 않거나 더 이상 존재하지 않음을 의미할 수 있습니다.
다음을 사용한 문제 해결 AWS CloudTrail:
에서
kms.amazonaws.com이벤트 찾기 AWS CloudTrail허용되지 않는 것으로 식별된 AWS KMS 작업의 이벤트 이름(예:
Decrypt,ReEncrypt,GenerateDataKeyWithoutPlaintextDescribeKey, 등)을 검색합니다.errorCode및errorMessage필드를 검토합니다.userIdentity에서 작업을 시도한 위탁자를 확인합니다.
이 문제를 해결하려면 사용자 또는 IAM 보안 주체에게 IAM 정책 및 AWS KMS 키 정책에서 적절한 AWS KMS 작업 액세스 권한을 부여합니다. 자세한 내용은 전체 AWS KMS 키 정책 단원을 참조하십시오.
검증 예외: AWS KMS 키 구성
오류: "구성된 AWS KMS 키에 유효한 구성이 없습니다"
즉, 현재 구성으로 인해 서비스에서 고객 관리형 키 암호화에 참조되는 키를 사용할 수 없습니다. 이유에는 비활성화된 키, 지원되지 않는 EncryptionAlgorithm 또는 지원되지 않는 KeyUsage 유형이 포함될 수 있습니다.
제한 예외: AWS KMS 속도 제한
오류: “전화할 수 있는 속도를 초과했습니다 AWS KMS.”
이 오류는 키에 대한 암호화 작업 AWS KMS 제한을 초과했음을 의미합니다. https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html.