AWS KMS API 권한: 작업 및 리소스 참조 - AWS Key Management Service

AWS KMS API 권한: 작업 및 리소스 참조

작업 및 리소스 테이블은 키 정책 및 IAM 정책에서의 액세스 제어 정의를 돕도록 설계되었습니다. 열에는 다음 정보가 표시됩니다.

  • API 연산 및 작업(권한)에는 각각의 AWS KMS API 연산과 이러한 연산을 허용하는 해당 작업(권한)이 나와 있습니다. 정책의 Action 요소에 작업을 지정합니다.

  • 정책 유형은 키 정책 또는 IAM 정책에서 권한을 사용할 수 있는지 여부를 나타냅니다. 유형이 키 정책일 때는 키 정책에서 명시적으로 권한을 설정할 수 있습니다. 또는 키 정책에 IAM 정책을 사용하는 정책 설명이 포함되어 있는 경우에는 IAM 정책에서 권한을 설정할 수 있습니다. 유형이 IAM 정책일 때는 IAM 정책에서만 권한을 설정할 수 있습니다.

  • 리소스는 권한이 적용되는 AWS KMS 리소스를 나열합니다. AWS KMS에서는 고객 마스터 키(CMK)와 별칭이라는 두 가지 리소스 유형을 지원합니다. 키 정책에서 Resource 요소의 값은 항상 *이며, 이는 키 정책에 연결된 CMK를 나타냅니다.

    다음 값을 사용하여 IAM 정책의 AWS KMS 리소스를 나타냅니다.

    CMK

    리소스가 고객 마스터 키(CMK)인 경우, 해당 키 ARN을 사용합니다. 도움말은 키 ID 및 ARN 찾기를 참조하십시오.

    arn:AWS_partition_name:kms:AWS_Region:AWS_account_ID:key/key_ID

    예:

    arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    Alias

    리소스가 별칭인 경우 별칭 ARN을 사용합니다. 별칭 ARN을 가져오려면 ListAliases 작업을 사용합니다.

    arn:AWS_partition_name:kms:AWS_region:AWS_account_ID:alias/alias_name

    예:

    arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

    *(별표)

    권한이 특정 리소스(CMK 또는 별칭)에 적용되지 않는 경우 별표(*)를 사용합니다.

    AWS KMS 권한에 대한 IAM 정책에서 Resource 요소의 별표는 모든 AWS KMS 리소스(CMK 및 별칭)를 나타냅니다. AWS KMS 권한이 특정 CMK 또는 별칭에 적용되지 않는 경우에도 Resource 요소에 별표를 사용할 수 있습니다. 예를 들어 허용 또는 거부 kms:CreateKey 또는 kms:ListKeys 권한을 부여할 때 Resource 요소를 * 또는 계정별 변형(예: arn:AWS_partition_name:kms:AWS_region:AWS_account_ID:*)으로 설정할 수 있습니다.

  • AWS KMS 조건 키는 연산에 대한 액세스를 제어하는 데 사용할 수 있는 AWS KMS 조건 키를 나열합니다. 정책의 Condition 요소에 조건을 지정합니다. 자세한 내용은 AWS KMS 조건 키 단원을 참조하십시오. 이 열에는 모든 AWS 서비스가 아니라 AWS KMS에서 지원되는 AWS 전역 조건 키도 포함되어 있습니다.

AWS KMS API 연산 및 권한
API 연산 및 작업(권한) 정책 유형 리소스(IAM 정책용) AWS KMS 조건 키

CancelKeyDeletion

kms:CancelKeyDeletion

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ConnectCustomKeyStore

kms:ConnectCustomKeyStore

IAM 정책

*

kms:CallerAccount

CreateAlias

kms:CreateAlias

이 연산을 사용하려면 호출자가 두 리소스에 대한 kms:CreateAlias 권한을 가지고 있어야 합니다.

  • 별칭(IAM 정책에서)

  • CMK(키 정책에서)

IAM 정책(별칭의 경우)

별칭

없음(별칭에 대한 액세스 제어 시)

키 정책(CMK의 경우)

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService
CreateCustomKeyStore

kms:CreateCustomKeyStore

IAM 정책

*

kms:CallerAccount

CreateGrant

kms:CreateGrant

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:GrantConstraintType

kms:GranteePrincipal

kms:GrantIsForAWSResource

kms:GrantOperations

kms:RetiringPrincipal

kms:ViaService

CreateKey

kms:CreateKey

IAM 정책

*

kms:BypassPolicyLockoutSafetyCheck

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

Decrypt

kms:Decrypt

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

DeleteAlias

kms:DeleteAlias

이 연산을 사용하려면 호출자가 두 리소스에 대한 kms:DeleteAlias 권한을 가지고 있어야 합니다.

  • 별칭(IAM 정책에서)

  • CMK(키 정책에서)

IAM 정책(별칭의 경우)

별칭

없음(별칭에 대한 액세스 제어 시)

키 정책(CMK의 경우)

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

DeleteCustomKeyStore

kms:DeleteCustomKeyStore

IAM 정책

*

kms:CallerAccount

DeleteImportedKeyMaterial

kms:DeleteImportedKeyMaterial

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

DescribeCustomKeyStores

kms:DescribeCustomKeyStores

IAM 정책

*

kms:CallerAccount

DescribeKey

kms:DescribeKey

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

DisableKey

kms:DisableKey

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

DisableKeyRotation

kms:DisableKeyRotation

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

DisconnectCustomKeyStore

kms:DisconnectCustomKeyStore

IAM 정책

*

EnableKey

kms:EnableKey

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

EnableKeyRotation

kms:EnableKeyRotation

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

Encrypt

kms:Encrypt

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

GenerateDataKey

kms:GenerateDataKey

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

GenerateDataKeyPair

kms:GenerateDataKeyPair

키 정책

CMK(대칭만 해당)

GenerateDataKeyPairGenerateDataKeyPairWithoutPlaintext는 대칭 CMK로 보호되는 비대칭 데이터 키 페어를 생성합니다.

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

GenerateDataKeyPairWithoutPlaintext

kms:GenerateDataKeyPairWithoutPlaintext

키 정책

CMK(대칭만 해당)

GenerateDataKeyPairGenerateDataKeyPairWithoutPlaintext는 대칭 CMK로 보호되는 비대칭 데이터 키 페어를 생성합니다.

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

GenerateDataKeyWithoutPlaintext

kms:GenerateDataKeyWithoutPlaintext

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ViaService

GenerateRandom

kms:GenerateRandom

IAM 정책

*

없음

GetKeyPolicy

kms:GetKeyPolicy

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

GetKeyRotationStatus

kms:GetKeyRotationStatus

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

GetParametersForImport

kms:GetParametersForImport

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

kms:WrappingAlgorithm

kms:WrappingKeySpec

GetPublicKey

kms:GetPublicKey

키 정책

CMK(비대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ImportKeyMaterial

kms:ImportKeyMaterial

키 정책

CMK(대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ExpirationModel

kms:ValidTo

kms:ViaService

ListAliases

kms:ListAliases

IAM 정책

*

없음

ListGrants

kms:ListGrants

키 정책

CMK

kms:CallerAccount

kms:GrantIsForAWSResource

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ListKeyPolicies

kms:ListKeyPolicies

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ListKeys

kms:ListKeys

IAM 정책

*

없음

ListResourceTags

kms:ListResourceTags

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ListRetirableGrants

kms:ListRetirableGrants

IAM 정책

*

없음

PutKeyPolicy

kms:PutKeyPolicy

키 정책

CMK

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

ReEncrypt

kms:ReEncryptFrom

kms:ReEncryptTo

이 연산을 사용하려면 호출자가 두 CMK에 대한 권한을 가지고 있어야 합니다.

  • kms:ReEncryptFrom해독에 사용되는 CMK

  • kms:ReEncryptTo암호화에 사용되는 CMK

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:EncryptionAlgorithm

kms:EncryptionContext:

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:ViaService

RetireGrant

권한 부여 사용을 중지하는 권한이 권한 부여에 지정됩니다. 정책에서 이 작업에 대한 액세스를 제어할 수 없습니다. 자세한 내용은 AWS Key Management Service API ReferenceRetireGrant를 참조하십시오.

해당 사항 없음

해당 사항 없음

해당 사항 없음

RevokeGrant

kms:RevokeGrant

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:GrantIsForAWSResource

kms:ViaService

ScheduleKeyDeletion

kms:ScheduleKeyDeletion

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

Sign

kms:Sign

키 정책

CMK(비대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:MessageType

kms:SigningAlgorithm

kms:ViaService

TagResource

kms:TagResource

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

aws:RequestTag (AWS 전역 조건 키)

aws:TagKeys (AWS 전역 조건 키)

UntagResource

kms:UntagResource

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

aws:RequestTag (AWS 전역 조건 키)

aws:TagKeys (AWS 전역 조건 키)

UpdateAlias

kms:UpdateAlias

이 연산을 사용하려면 호출자가 세 가지 리소스에 대한 kms:UpdateAlias 권한을 가지고 있어야 합니다.

  • 별칭

  • 별칭이 현재 가리키고 있는 CMK

  • UpdateAlias 요청에 지정된 CMK

IAM 정책(별칭의 경우)

별칭

없음(별칭에 대한 액세스 제어 시)

키 정책(CMK의 경우)

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

UpdateCustomKeyStore

kms:UpdateCustomKeyStore

IAM 정책

*

kms:CallerAccount

UpdateKeyDescription

kms:UpdateKeyDescription

키 정책

CMK

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:ViaService

확인

kms:Verify

키 정책

CMK(비대칭만 해당)

kms:CallerAccount

kms:CustomerMasterKeySpec

kms:CustomerMasterKeyUsage

kms:KeyOrigin

kms:MessageType

kms:SigningAlgorithm

kms:ViaService