권한 부여 관리 - AWS Key Management Service

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

권한 부여 관리

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

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

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

API 연산 키 정책 또는 IAM 정책 권한 부여
CreateGrant
ListGrants -
ListRetirableGrants -
권한 부여 만료 (제한됨. 참조 권한 부여 만료 및 취소)
RevokeGrant -

키 정책 또는 IAM 정책을 사용하여 권한 부여를 생성하고 관리하는 작업에 대한 액세스를 제어하는 경우 다음 정책 조건 중 하나 이상을 사용하여 권한을 제한할 수 있습니다. AWS KMS는 다음과 같은 권한 부여 관련 조건 키를 모두 지원합니다. 자세한 내용 및 예제는 AWS KMS 조건 키 단원을 참조하십시오.

kms:GrantConstraintType

권한 부여에 지정된 권한 부여 제약 조건이 포함된 경우에만 보안 주체가 권한 부여를 생성하도록 허용합니다.

kms:GrantIsForAWSResource

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

kms:GrantOperations

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

kms:GranteePrincipal

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

kms:RetiringPrincipal

권한 부여가 특정 만료되는 보안 주체를 지정할 때만 보안 주체가 권한 부여를 생성하도록 허용합니다.

권한 부여 보기

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

특정 AWS만료 보안 주체가 있는 계정 및 리전의 모든 권한 부여를 보려면 ListRetirableGrants을 사용합니다. 응답에는 각 권한 부여에 대한 세부 정보가 포함됩니다.

참고

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

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

$ 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에서 새 권한 부여를 사용할 수 있을 때까지 5분 미만의 짧은 간격이 있을 수 있습니다. 권한 부여가 최종 일관성을 달성하면 피부여자 보안 주체는 권한 부여 토큰 또는 권한 부여 증거를 지정하지 않고 권한 부여의 권한을 사용할 수 있습니다. 그러나 이 권한을 부여하여 모든 AWS KMS에 아직 알려지지 않은 경우 요청이 실패하고 AccessDeniedException 오류가 발생할 수 있습니다.

새 권한 부여에서 권한을 즉시 사용하려면 권한 부여에 대한 권한 부여 토큰을 사용합니다. CreateGrant 작업에서 반환하는 권한 부여 토큰을 저장합니다. 그런 다음 AWS KMS 작업 요청에서 권한 부여 토큰을 제출합니다. 권한 부여 토큰을 모든 AWS KMS 권한 부여 작업에 제출하고 동일한 요청에서 여러 권한 부여 토큰을 제출할 수 있습니다.

다음 예제에서는 CreateGrant 작업을 사용하여 GenerateDataKey 및 Decrypt 작업을 허용하는 권한 부여를 생성합니다. 에서 반환하는 권한 부여 토큰을 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

권한이 있는 보안 주체는 권한 부여가 최종 일관성을 달성하기 전에도 권한 부여 토큰을 사용하여 새 권한 부여를 사용 중지할 수 있습니다. (RevokeGrant 작업은 권한 부여 토큰을 허용하지 않습니다.) 자세한 내용은 권한 부여 만료 및 취소 단원을 참조하십시오.

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

권한 부여 만료 및 취소

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

RetireGrant 및 RevokeGrant 작업은 서로 매우 유사합니다. 둘 다 권한 부여를 삭제하므로 해당 권한 부여가 허용하는 권한이 제거됩니다. 차이점은 인증 방법입니다.

RevokeGrant

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

RetireGrant

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

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

키 정책과 kms:RetireGrant 정책에서 사용할 수 있는 IAM 권한이 있지만 유틸리티는 제한적입니다. 권한 부여에 지정된 보안 주체는 kms:RetireGrant 권한 없이 권한 부여를 사용 중지할 수 있습니다. 권한만으로는 보안 주체가 권한 부여의 사용을 중지할 수 없습니다.kms:RetireGrant

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

  • 를 소유한 AWS 계정(루트 사용자)은 CMK 권한을 사용하여 권한 부여의 사용을 중지할 수 있는 권한을 위임할 수 있습니다.kms:RetireGrant

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

권한 부여 토큰을 사용하여 권한 부여를 사용 중지할 수 있지만 취소할 수는 없습니다. 새 권한 부여를 AWS KMS 전체에서 사용할 수 있기 전에 즉시 삭제해야 하는 경우 해당 권한 부여를 만료해야 합니다.

권한 부여를 생성, 사용 중지 또는 취소할 때 작업이 최종 일관성을 얻을 때까지 일반적으로 5분 미만의 짧은 지연이 있을 수 있습니다. 권한 부여 토큰을 사용하여 권한 부여가 생성된 직후 사용을 중지할 수 있습니다. 권한 부여 토큰을 사용하여 권한 부여를 취소할 수 없습니다.