권한 부여 관리 - AWS Key Management Service

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

권한 부여 관리

필요한 권한이 있는 보안 주체는 권한 부여를 보고 사용하고 삭제(사용 중지 또는 취소)할 수 있습니다. 부여 생성 및 관리에 대한 권한을 구체화하기 위해 AWS KMS는 키 정책 및 IAM 정책에서 사용할 수 있는 여러 정책 조건을 지원합니다.

권한 부여에 대한 액세스 제어

주요 정책, IAM 정책 및 권한부여에서 권한 부여를 생성하고 관리하는 작업에 대한 액세스를 제어할 수 있습니다. 권한 부여에서 CreateGrant 권한을 받은 보안 주체는 더 제한된 권한 부여 권한을 갖습니다.

API 작업 키 정책 또는 IAM 정책 권한 부여
CreateGrant
ListGrants -
ListRetirableGrants -
권한 부여 사용 중지 (제한됨. 권한 부여 사용 중지 및 취소 참조)
RevokeGrant -

키 정책 또는 IAM 정책을 사용하여 권한 부여를 생성 및 관리하는 작업에 대한 액세스를 제어할 때 다음 정책 조건 중 하나 이상을 사용하여 권한을 제한할 수 있습니다. AWS KMS는 다음 권한 부여 관련 조건 키를 모두 지원합니다. 자세한 정보와 예제는 AWS KMS 조건 키 섹션을 참조하세요.

kms: GrantConstraintType

권한 부여에 지정된 권한 부여 제약 조건이 포함된 경우에만 보안 주체가 권한 부여를 생성할 수 있습니다.

kms: GrantIsFor AWSResource

AWS KMS와 통합된 AWS 서비스가 보안 주체를 대신하여 요청을 보내는 경우에만 보안 주체가 CreateGrant, ListGrants 또는 RevokeGrant를 호출하도록 허용합니다.

kms: GrantOperations

보안 주체가 권한 부여를 생성할 수 있도록 허용하지만 권한 부여를 지정된 작업으로 제한합니다.

kms: GranteePrincipal

보안 주체가 지정된 피부여자 보안 주체에 대해서만 권한 부여를 생성하도록 허용합니다.

kms: RetiringPrincipal

권한 부여가 특정 사용 중지 보안 주체를 지정하는 경우에만 보안 주체가 권한 부여를 생성하도록 허용합니다.

권한 부여 보기

허가를 보려면 ListGrants작업을 사용하세요. 권한 부여가 적용되는 KMS 키를 지정해야 합니다. 권한 부여 ID 또는 피부여자 보안 주체별로 권한 부여 목록을 필터링할 수도 있습니다. 더 많은 예제는 권한 부여 보기 단원을 참조하세요.

특정 퇴직 원금이 있는 AWS 계정 및 지역의 모든 보조금을 보려면 를 사용하십시오 ListRetirableGrants. 응답에는 각 권한 부여에 대한 세부 정보가 포함됩니다.

참고

ListGrants 응답의 GranteePrincipal 필드에는 일반적으로 권한 부여의 피부여자 보안 주체가 포함됩니다. 그러나 권한 부여의 피부여자 보안 주체가 AWS 서비스인 경우 GranteePrincipal 필드에는 서비스 보안 주체(여러 피부여자 보안 주체가 될 수 있음)가 포함됩니다.

예를 들어 다음 명령은 KMS 키에 대한 모든 권한 부여를 나열합니다.

$ aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }

권한 부여 토큰 사용

AWS KMS API는 결과적 일관성 모델을 따릅니다. 권한 부여를 생성할 때 권한 부여가 즉시 유효하지 않을 수 있습니다. 변경 사항이 AWS KMS 전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다. 변경 사항이 시스템 전체에 완전히 전파되면 피부여자 보안 주체는 권한 부여 토큰이나 권한 부여에 대한 증거를 지정하지 않고 권한 부여의 권한을 사용할 수 있습니다. 그러나 권한 부여가 AWS KMS 모두에 아직 알려지지 않았을 만큼 새로운 경우 요청이 AccessDeniedException 오류와 함께 실패할 수 있습니다.

새 권한 부여에서 권한을 즉시 사용하려면 권한 부여에 대한 권한 부여 토큰을 사용하십시오. CreateGrant오퍼레이션이 반환하는 보조금 토큰을 저장하십시오. 그런 다음 AWS KMS 작업의 요청에 권한 부여 토큰을 제출합니다. 모든 AWS KMS 권한 부여 작업에 권한 부여 토큰을 제출할 수 있으며 동일한 요청에서 여러 권한 부여 토큰을 제출할 수 있습니다.

다음 예제에서는 CreateGrant 작업을 사용하여 GenerateDataKey및 암호 해독 작업을 허용하는 권한 부여를 생성합니다. CreateGrant에서 반환되는 권한 부여 토큰을 token 변수에 저장합니다. 그런 다음 GenerateDataKey 작업에 대한 호출에서 token 변수의 권한 부여 토큰을 사용합니다.

# Create a grant; save the grant token $ token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text) # Use the grant token in a request $ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token

권한이 있는 보안 주체는 권한 부여에 AWS KMS를 통해 제공되기 전에도 권한 부여 토큰을 사용하여 새 권한 부여를 사용 중지할 수도 있습니다. (RevokeGrant 작업은 권한 부여 토큰을 허용하지 않습니다.) 자세한 내용은 권한 부여 사용 중지 및 취소 섹션을 참조하세요.

# Retire the grant $ aws kms retire-grant --grant-token $token

권한 부여 사용 중지 및 취소

권한 부여를 삭제하려면 부여를 사용 중지하거나 취소합니다.

RetireGrantRevokeGrant연산은 서로 매우 유사합니다. 두 작업 모두 권한부여를 삭제하므로 권한 부여로 허용하는 권한이 제거됩니다. 이러한 작업의 주요 차이점은 권한이 부여되는 방식입니다.

RevokeGrant

대부분의 AWS KMS 작업과 마찬가지로 RevokeGrant 작업에 대한 액세스는 키 정책IAM 정책을 통해 제어됩니다. kms:RevokeGrant권한이 있는 주체라면 누구나 RevokeGrantAPI를 호출할 수 있습니다. 이 권한은 키 관리자에게 부여된 표준 권한에 포함됩니다. 일반적으로 관리자는 권한 부여로 허용되는 권한을 거부하기 위해 권한 부여를 취소합니다.

RetireGrant

권한 부여는 누가 권한 부여를 사용 중지할 수 있는지 결정합니다. 이 설계를 통해 키 정책 또는 IAM 정책을 변경하지 않고 권한 부여의 수명 주기를 제어할 수 있습니다. 일반적으로 권한 사용을 마치면 권한 부여를 사용 중지합니다.

권한 부여는 권한 부여에 지정된 선택적 사용 중지 보안 주체에 의해 사용 중지될 수 있습니다. 피부여자 보안 주체도 권한 부여를 사용 중지할 수 있지만, 사용 중지 보안 주체이거나 권한 부여에 RetireGrant 작업이 포함된 경우에만 가능합니다. 백업으로서 권한 부여가 생성된 AWS 계정은 권한 부여를 사용 중지할 수 있습니다.

IAM 정책에서 사용할 수 있는 kms:RetireGrant 권한이 있지만 유틸리티가 제한되어 있습니다. 권한 부여에 지정된 보안 주체는 kms:RetireGrant 권한 없이 권한 부여를 취소할 수 있습니다. kms:RetireGrant 권한만으로는 보안 주체가 권한 부여를 사용 중지할 수 없습니다. kms:RetireGrant 권한은 키 정책에서 유효하지 않습니다.

  • 권한 부여 사용 중지 권한을 거부하려면 kms:RetireGrant 권한과 함께 Deny 작업을 사용할 수 있습니다

  • KMS 키를 소유한 AWS 계정은 kms:RetireGrant 권한을 계정의 IAM 보안 주체에게 위임할 수 있습니다.

  • 사용 중지 보안 주체가 다른 AWS 계정인 경우 다른 계정의 관리자는 kms:RetireGrant를 사용하여 권한 부여를 만료할 수 있는 권한을 해당 계정의 IAM 보안 주체에게 위임할 수 있습니다.

AWS KMS API는 결과적 일관성 모델을 따릅니다. 권한 부여를 생성, 사용 중지 또는 철회할 때, 변경 사항이 AWS KMS 전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다. 새 권한 부여를 즉시 삭제해야 하는 경우 AWS KMS 전체에서 사용 가능하기 전에 권한 부여 토큰을 사용하여 권한 부여를 사용 중지합니다. 권한 부여 토큰을 사용하여 권한 부여를 취소할 수는 없습니다.