기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Key Management Service에 사용되는 작업, 리소스 및 조건 키
AWS 키 관리 서비스 (서비스 접두사:kms
) 는 IAM 권한 정책에 사용할 수 있는 다음과 같은 서비스별 리소스, 작업 및 조건 컨텍스트 키를 제공합니다.
참조:
-
이 서비스의 구성 방법을 알아봅니다.
-
이 서비스에 사용 가능한 API 작업 목록을 봅니다.
-
IAM 권한 정책을 사용하여 이 서비스와 리소스를 보호하는 방법을 알아봅니다.
주제
AWS Key Management Service에서 정의한 작업
IAM 정책 설명의 Action
요소에서는 다음 작업을 지정할 수 있습니다. 정책을 사용하여 AWS에서 작업할 수 있는 권한을 부여합니다. 정책에서 작업을 사용하면 일반적으로 이름이 같은 API 작업 또는 CLI 명령에 대한 액세스를 허용하거나 거부합니다. 그러나 경우에 따라 하나의 작업으로 둘 이상의 작업에 대한 액세스가 제어됩니다. 또는 일부 작업을 수행하려면 다양한 작업이 필요합니다.
작업 테이블의 리소스 유형 열에는 각 작업이 리소스 수준 권한을 지원하는지 여부가 표시됩니다. 리소스 열에 값이 없으면 정책 문의 Resource
요소에서 정책이 적용되는 모든 리소스("*")를 지정해야 합니다. 리소스 열에 리소스 유형이 포함되어 있으면 해당 작업 시 문에서 해당 유형의 ARN을 지정할 수 있습니다. 작업에 필요한 리소스가 하나 이상 있는 경우, 호출자에게 해당 리소스와 함께 작업을 사용할 수 있는 권한이 있어야 합니다. 필수 리소스는 테이블에서 별표(*)로 표시됩니다. IAM 정책의 Resource
요소로 리소스 액세스를 제한하는 경우, 각 필수 리소스 유형에 대해 ARN 또는 패턴을 포함해야 합니다. 일부 작업은 다수의 리소스 유형을 지원합니다. 리소스 유형이 옵션(필수 리소스로 표시되지 않은 경우)인 경우에는 선택적 리소스 유형 중 하나를 사용하도록 선택할 수 있습니다.
작업 테이블의 조건 키 열에는 정책 설명의 Condition
요소에서 지정할 수 있는 키가 포함됩니다. 서비스의 리소스와 연결된 조건 키에 대한 자세한 내용은 리소스 유형 테이블의 조건 키 열을 참조하세요.
참고
리소스 조건 키는 리소스 유형 표에 나열되어 있습니다. 작업에 적용되는 리소스 유형에 대한 링크는 리소스 유형(*필수) 작업 표의 열에서 찾을 수 있습니다. 리소스 유형 테이블의 리소스 유형에는 조건 키 열이 포함되고 이는 작업 표의 작업에 적용되는 리소스 조건 키입니다.
다음 테이블의 열에 대한 자세한 내용은 작업 테이블을 참조하세요.
작업 | 설명 | 액세스 레벨 | 리소스 유형(*필수) | 조건 키 | 종속 작업 |
---|---|---|---|---|---|
CancelKeyDeletion | KMS 키의 예정된 삭제를 취소할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
ConnectCustomKeyStore | 사용자 지정 키 스토어를 외부의 관련 AWS CloudHSM 클러스터 또는 외부 키 관리자에 연결하거나 다시 연결할 권한을 제어합니다. AWS | 쓰기 | |||
CreateAlias | KMS 키의 별칭을 생성할 권한을 제어합니다. AWS 별칭은 KMS 키와 연결할 수 있는 기억하기 쉬운 이름이며 선택 사항입니다. | 쓰기 | |||
CreateCustomKeyStore | AWS CloudHSM 클러스터 또는 외부 외부 키 관리자가 지원하는 사용자 지정 키 저장소를 생성할 권한을 제어합니다. AWS | 쓰기 |
cloudhsm:DescribeClusters iam:CreateServiceLinkedRole |
||
CreateGrant | AWS KMS 키에 권한 부여를 추가할 권한을 제어합니다. 권한 부여를 사용하여 키 정책 또는 IAM 정책을 변경하지 않고 권한을 추가할 수 있습니다. | 권한 관리 | |||
CreateKey | 데이터 키 및 기타 민감한 정보를 보호하는 데 사용할 수 있는 AWS KMS 키를 만들 수 있는 권한을 제어합니다. | 쓰기 |
iam:CreateServiceLinkedRole kms:PutKeyPolicy kms:TagResource |
||
Decrypt | KMS 키로 암호화된 암호문을 해독할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
kms:EncryptionContext:${EncryptionContextKey} |
|||||
DeleteAlias | 별칭을 삭제할 수 있는 권한을 제어합니다. 별칭은 KMS 키에 연결할 수 있는 선택적 친숙한 이름입니다. AWS | 쓰기 | |||
DeleteCustomKeyStore | 사용자 지정 키 스토어를 삭제할 수 있는 권한을 제어합니다. | 쓰기 | |||
DeleteImportedKeyMaterial | KMS 키로 가져온 암호화 자료를 삭제할 수 있는 권한을 제어합니다. AWS 이 작업은 키를 사용할 수 없게 합니다. | 쓰기 | |||
DeriveSharedSecret | 지정된 AWS KMS 키를 사용하여 공유 암호를 도출할 수 있는 권한을 제어합니다. | 쓰기 | |||
DescribeCustomKeyStores | 계정 및 리전의 사용자 지정 키 스토어에 대한 세부 정보를 볼 수 있는 권한을 제어합니다. | 읽기 | |||
DescribeKey | KMS 키에 대한 세부 정보를 볼 수 있는 AWS 권한을 제어합니다. | 읽기 | |||
DisableKey | KMS 키를 사용하지 않도록 설정하여 암호화 작업에 AWS KMS 키를 사용하지 못하도록 하는 권한을 제어합니다. | 쓰기 | |||
DisableKeyRotation | 고객 관리형 AWS KMS 키의 자동 순환을 비활성화할 수 있는 권한을 제어합니다. | 쓰기 | |||
DisconnectCustomKeyStore | 연결된 AWS CloudHSM 클러스터 또는 외부의 외부 키 관리자로부터 사용자 지정 키 스토어의 연결을 끊을 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
EnableKey | AWS KMS 키의 상태를 활성화로 변경할 수 있는 권한을 제어합니다. KMS 키가 암호화 작업에 사용될 수 있도록 허용합니다. | 쓰기 | |||
EnableKeyRotation | KMS 키에서 암호화 자료의 자동 회전을 활성화할 수 있는 AWS 권한을 제어합니다. | 쓰기 | |||
Encrypt | 지정된 AWS KMS 키를 사용하여 데이터 및 데이터 키를 암호화할 수 있는 권한을 제어합니다. | 쓰기 | |||
GenerateDataKey | AWS KMS 키를 사용하여 데이터 키를 생성할 수 있는 권한을 제어합니다. 데이터 키를 사용하여 KMS 외부에서 데이터를 암호화할 수 있습니다. AWS | 쓰기 | |||
kms:EncryptionContext:${EncryptionContextKey} |
|||||
GenerateDataKeyPair | AWS KMS 키를 사용하여 데이터 키 쌍을 생성할 수 있는 권한을 제어합니다. | 쓰기 | |||
GenerateDataKeyPairWithoutPlaintext | AWS KMS 키를 사용하여 데이터 키 쌍을 생성할 수 있는 권한을 제어합니다. GenerateDataKeyPair 작업과 달리 이 작업은 일반 텍스트 사본 없이 암호화된 개인 키를 반환합니다. | 쓰기 | |||
GenerateDataKeyWithoutPlaintext | AWS KMS 키를 사용하여 데이터 키를 생성할 수 있는 권한을 제어합니다. GenerateDataKey 작업과 달리 이 작업은 일반 텍스트 버전의 데이터 키가 없는 암호화된 데이터 키를 반환합니다. | 쓰기 | |||
GenerateMac | AWS KMS 키를 사용하여 메시지 인증 코드를 생성할 권한을 제어합니다. | 쓰기 | |||
GenerateRandom | KMS에서 암호학적으로 안전한 임의 바이트 문자열을 가져올 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
GetKeyPolicy | 지정된 KMS 키의 키 정책을 볼 수 있는 권한을 제어합니다. AWS | 읽기 | |||
GetKeyRotationStatus | AWS KMS 키의 키 교체 상태를 볼 수 있는 권한을 제어합니다. | 읽기 | |||
GetParametersForImport | 퍼블릭 키 및 가져오기 토큰을 포함하여 암호화 자료를 고객 관리형 키로 가져오기 위해 필요한 데이터를 가져올 수 있는 권한을 제어합니다. | 읽기 | |||
GetPublicKey | 비대칭 AWS KMS 키의 공개 키를 다운로드할 수 있는 권한을 제어합니다. | 읽기 | |||
ImportKeyMaterial | KMS 키로 암호화 자료를 가져올 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
ListAliases | 계정에 정의되어 있는 별칭을 볼 수 있는 권한을 제어합니다. 별칭은 KMS 키에 연결할 수 있는 선택적 친숙한 이름입니다. AWS | 나열 | |||
ListGrants | KMS 키에 대한 모든 권한 부여를 볼 수 있는 AWS 권한을 제어합니다. | 나열 | |||
ListKeyPolicies | AWS KMS 키의 키 정책 이름을 볼 수 있는 권한을 제어합니다. | 나열 | |||
ListKeyRotations | KMS 키의 완료된 키 순환 목록을 볼 수 있는 AWS 권한을 제어합니다. | 나열 | |||
ListKeys | 계정에 있는 모든 AWS KMS 키의 키 ID 및 Amazon 리소스 이름 (ARN) 을 볼 수 있는 권한을 제어합니다. | 나열 | |||
ListResourceTags | KMS 키에 연결된 모든 태그를 볼 수 있는 권한을 제어합니다. AWS | 나열 | |||
ListRetirableGrants | 지정된 보안 주체가 사용 중지 보안 주체인 권한 부여를 볼 수 있는 권한을 제어합니다. 다른 보안 주체는 이 권한 부여의 사용을 중지할 수 있고 이 보안 주체는 다른 권한 부여의 사용을 중지할 수 있습니다. | 나열 | |||
PutKeyPolicy | 지정된 AWS KMS 키의 키 정책을 대체할 권한을 제어합니다. | 권한 관리 | |||
ReEncryptFrom | KMS 내에서 데이터를 해독하고 다시 암호화하는 프로세스의 일환으로 데이터 암호 해독 권한을 제어합니다. AWS | 쓰기 | |||
ReEncryptTo | KMS 내에서 데이터를 해독하고 다시 암호화하는 프로세스의 일환으로 데이터를 암호화할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
ReplicateKey | 다중 리전 기본 키를 복제할 수 있는 권한을 제어합니다. | Write |
iam:CreateServiceLinkedRole kms:CreateKey kms:PutKeyPolicy kms:TagResource |
||
RetireGrant | 권한 부여의 사용을 중지할 수 있는 권한을 제어합니다. 이 RetireGrant 작업은 일반적으로 권한 부여를 통해 허용된 작업을 완료한 후 권한 부여 사용자가 호출합니다. | 권한 관리 | |||
RevokeGrant | 권한 부여를 취소(권한 부여를 사용하는 모든 작업에 대한 권한을 거부)할 수 있는 권한을 제어합니다. | 권한 관리 | |||
RotateKeyOnDemand | KMS 키에서 암호화 자료의 온디맨드 로테이션을 호출할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
ScheduleKeyDeletion | KMS 키 삭제를 예약할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
Sign | 메시지에 대한 디지털 서명을 생성할 수 있는 권한을 제어합니다. | Write | |||
SynchronizeMultiRegionKey [권한만 해당] | 다중 리전 키를 동기화하는 내부 API에 대한 액세스를 제어합니다. | 쓰기 | |||
TagResource | AWS KMS 키에 연결된 태그를 만들거나 업데이트할 수 있는 권한을 제어합니다. | 태그 지정 | |||
UntagResource | AWS KMS 키에 연결된 태그를 삭제할 수 있는 권한을 제어합니다. | 태그 지정 | |||
UpdateAlias | 별칭을 다른 AWS KMS 키와 연결할 수 있는 권한을 제어합니다. 별칭은 KMS 키와 연결할 수 있는 선택적인 표시 이름입니다. | 쓰기 | |||
UpdateCustomKeyStore | 사용자 지정 키 스토어의 속성을 변경할 수 있는 권한을 제어합니다. | 쓰기 | |||
UpdateKeyDescription | KMS 키의 설명을 삭제하거나 변경할 수 있는 권한을 제어합니다. AWS | 쓰기 | |||
UpdatePrimaryRegion | 다중 리전 기본 키의 기본 리전을 업데이트할 수 있는 권한을 제어합니다. | 쓰기 | |||
Verify | 지정된 AWS KMS 키를 사용하여 디지털 서명을 확인할 수 있는 권한을 제어합니다. | 쓰기 | |||
VerifyMac | AWS KMS 키를 사용하여 메시지 인증 코드를 확인할 수 있는 권한을 제어합니다. | 쓰기 | |||
AWS Key Management Service에서 정의한 리소스 유형
이 서비스에서 정의하는 리소스 유형은 다음과 같으며, IAM 권한 정책 설명의 Resource
요소에서 사용할 수 있습니다. 작업 테이블의 각 작업에서 해당 작업으로 지정할 수 있는 리소스 유형을 식별합니다. 리소스 유형은 정책에 포함할 수 있는 조건 키를 정의할 수도 있습니다. 이러한 키는 테이블의 마지막 열에 표시됩니다. 다음 테이블의 열에 대한 자세한 내용은 리소스 유형 테이블을 참조하세요.
AWS Key Management Service에 사용되는 조건 키
AWS 키 관리 서비스는 IAM 정책의 Condition
요소에 사용할 수 있는 다음과 같은 조건 키를 정의합니다. 이러한 키를 사용하여 정책 설명이 적용되는 조건을 보다 상세하게 설정할 수 있습니다. 다음 테이블의 열에 대한 자세한 내용은 조건 키 테이블을 참조하세요.
모든 서비스에 사용할 수 있는 글로벌 조건 키를 보려면 사용 가능한 글로벌 조건 키를 참조하세요.
조건 키 | 설명 | 유형 |
---|---|---|
aws:RequestTag/${TagKey} | 요청에 포함된 태그의 키와 값을 기반으로 지정된 AWS KMS 작업에 대한 액세스를 필터링합니다. | String |
aws:ResourceTag/${TagKey} | KMS 키에 할당된 태그를 기반으로 지정된 AWS KMS 작업에 대한 액세스를 필터링합니다. AWS | String |
aws:TagKeys | 요청의 태그 키를 기반으로 지정된 AWS KMS 작업에 대한 액세스를 필터링합니다. | ArrayOfString |
kms:BypassPolicyLockoutSafetyCheck | 요청의 BypassPolicyLockoutSafetyCheck 파라미터 값을 기준으로 CreateKey 및 PutKeyPolicy 작업에 대한 액세스를 필터링합니다. | 부울 |
kms:CallerAccount | 호출자 AWS 계정 ID를 기반으로 지정된 AWS KMS 작업에 대한 액세스를 필터링합니다. 이 조건 키를 사용하여 단일 정책 설명에서 모든 IAM 사용자 및 역할에 대한 액세스를 허용하거나 거부할 수 AWS 계정 있습니다. | String |
kms:CustomerMasterKeySpec | kms: CustomerMasterKeySpec 조건 키는 더 이상 사용되지 않습니다. 대신 kms: 조건 키를 사용하세요. KeySpec | String |
kms:CustomerMasterKeyUsage | kms: CustomerMasterKeyUsage 조건 키는 더 이상 사용되지 않습니다. 대신 kms: 조건 키를 사용하세요. KeyUsage | String |
kms:DataKeyPairSpec | 요청의 KeyPairSpec 파라미터 값을 기준으로 액세스 GenerateDataKeyPair 및 GenerateDataKeyPairWithoutPlaintext 작업을 필터링합니다. | String |
kms:EncryptionAlgorithm | 요청의 암호화 알고리즘 값을 기반으로 암호화 작업에 대한 액세스를 필터링합니다. | String |
kms:EncryptionContext:${EncryptionContextKey} | 암호화 작업의 암호화 컨텍스트를 기반으로 대칭 AWS KMS 키에 대한 액세스를 필터링합니다. 이 조건은 각 키 값 암호화 컨텍스트 페어의 키와 값을 평가합니다. | String |
kms:EncryptionContextKeys | 암호화 작업의 암호화 컨텍스트를 기반으로 대칭 AWS KMS 키에 대한 액세스를 필터링합니다. 이 조건 키는 각 키 값 암호화 컨텍스트 페어의 키만 평가합니다. | ArrayOfString |
kms:ExpirationModel | 요청의 ExpirationModel 파라미터 값을 기반으로 ImportKeyMaterial 작업에 대한 액세스를 필터링합니다. | String |
kms:GrantConstraintType | 요청의 권한 제한 조건에 따라 CreateGrant 작업에 대한 액세스를 필터링합니다. | String |
kms:GrantIsForAWSResource | 요청이 지정된 AWS 서비스에서 오는 경우 CreateGrant 작업에 대한 액세스를 필터링합니다. | 부울 |
kms:GrantOperations | 권한 부여의 CreateGrant 작업을 기반으로 작업에 대한 액세스를 필터링합니다. | ArrayOfString |
kms:GranteePrincipal | 권한 부여의 피부여자 주체를 기준으로 CreateGrant 작업에 대한 액세스를 필터링합니다. | String |
kms:KeyAgreementAlgorithm | 요청의 KeyAgreementAlgorithm 파라미터 값을 기반으로 DeriveSharedSecret 작업에 대한 액세스를 필터링합니다. | String |
kms:KeyOrigin | 작업에서 생성하거나 작업에 사용된 AWS KMS 키의 Origin 속성을 기반으로 API 작업에 대한 액세스를 필터링합니다. 이를 사용하여 KMS 키에 대해 승인된 CreateKey 작업 또는 모든 작업에 대한 권한 부여를 검증할 수 있습니다. | String |
kms:KeySpec | 작업에서 생성하거나 작업에 사용된 AWS KMS 키의 KeySpec 속성을 기반으로 API 작업에 대한 액세스를 필터링합니다. 이를 사용하여 KMS 키 리소스에 대해 승인된 CreateKey 작업 또는 모든 작업에 대한 권한 부여를 검증할 수 있습니다. | String |
kms:KeyUsage | 작업에서 생성하거나 작업에 사용된 AWS KMS 키의 KeyUsage 속성을 기반으로 API 작업에 대한 액세스를 필터링합니다. 이를 사용하여 KMS 키 리소스에 대해 승인된 CreateKey 작업 또는 모든 작업에 대한 권한 부여를 검증할 수 있습니다. | String |
kms:MacAlgorithm | 요청의 MacAlgorithm 파라미터를 기반으로 GenerateMac 및 VerifyMac 작업에 대한 액세스를 필터링합니다. | String |
kms:MessageType | 요청의 MessageType 매개변수 값을 기준으로 서명 및 확인 작업에 대한 액세스를 필터링합니다. | String |
kms:MultiRegion | 작업에서 생성하거나 작업에 사용된 AWS KMS 키의 MultiRegion 속성을 기반으로 API 작업에 대한 액세스를 필터링합니다. 이를 사용하여 KMS 키 리소스에 대해 승인된 CreateKey 작업 또는 모든 작업에 대한 권한 부여를 검증할 수 있습니다. | 부울 |
kms:MultiRegionKeyType | 작업에서 생성하거나 작업에 사용된 AWS KMS 키의 MultiRegionKeyType 속성을 기반으로 API 작업에 대한 액세스를 필터링합니다. 이를 사용하여 KMS 키 리소스에 대해 승인된 CreateKey 작업 또는 모든 작업에 대한 권한 부여를 검증할 수 있습니다. | String |
kms:PrimaryRegion | 요청의 PrimaryRegion 파라미터 값을 기반으로 UpdatePrimaryRegion 작업에 대한 액세스를 필터링합니다. | String |
kms:ReEncryptOnSameKey | 암호화 ReEncrypt 작업에 사용된 것과 동일한 AWS KMS 키를 사용하는 경우 작업에 대한 액세스를 필터링합니다. | 부울 |
kms:RecipientAttestation:ImageSha384 | 요청의 증명 문서에 있는 이미지 해시를 기반으로 암호 해독 DeriveSharedSecret GenerateDataKey GenerateDataKeyPair,, 및 GenerateRandom 작업에 대한 액세스를 필터링합니다. | String |
kms:RecipientAttestation:PCR | 요청의 증명 문서에 있는 플랫폼 구성 레지스터 (PCR) 를 기반으로 복호화에 대한 액세스 및 GenerateRandom 작업을 필터링합니다. GenerateDataKey | String |
kms:ReplicaRegion | 요청의 파라미터 값을 기준으로 ReplicateKey 작업에 대한 액세스를 필터링합니다. ReplicaRegion | String |
kms:RequestAlias | 요청의 별칭을 GetPublicKey 기반으로 암호화 작업에 대한 액세스를 필터링합니다. DescribeKey | String |
kms:ResourceAliases | KMS 키와 연결된 별칭을 기반으로 지정된 AWS KMS 작업에 대한 액세스를 필터링합니다. AWS | ArrayOfString |
kms:RetiringPrincipal | 권한 부여의 은퇴한 보안 CreateGrant 주체를 기준으로 작업에 대한 액세스를 필터링합니다. | String |
kms:RotationPeriodInDays | 요청의 RotationPeriodInDays 파라미터 값을 기준으로 EnableKeyRotation 작업에 대한 액세스를 필터링합니다. | 숫자 |
kms:ScheduleKeyDeletionPendingWindowInDays | 요청의 PendingWindowInDays 파라미터 값을 기준으로 ScheduleKeyDeletion 작업에 대한 액세스를 필터링합니다. | 숫자 |
kms:SigningAlgorithm | 요청의 서명 알고리즘을 기반으로 Sign 및 Verify 작업에 대한 액세스를 필터링합니다. | String |
kms:ValidTo | 요청의 ValidTo 파라미터 값을 기준으로 ImportKeyMaterial 작업에 대한 액세스를 필터링합니다. 이 조건 키를 사용하여 지정된 날짜에 만료되는 경우에만 사용자가 키 자료를 가져오도록 허용할 수 있습니다. | 날짜 |
kms:ViaService | 주체를 대신하여 요청한 요청이 지정된 AWS 서비스에서 오는 경우 액세스를 필터링합니다. | String |
kms:WrappingAlgorithm | 요청의 WrappingAlgorithm 매개변수 값을 기준으로 GetParametersForImport 작업에 대한 액세스를 필터링합니다. | String |
kms:WrappingKeySpec | 요청의 WrappingKeySpec 파라미터 값을 기준으로 GetParametersForImport 작업에 대한 액세스를 필터링합니다. | String |