권한 부여 관리 - AWS Key Management Service

권한 부여 관리

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

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

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

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

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

kms:GrantConstraintType

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

kms:GrantIsForAWSResource

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

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

다음 예에서는 CreateGrant 작업을 사용하여 GenerateDataKeyDecrypt 작업을 허용하는 권한 부여를 생성합니다. 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

권한 부여 사용 중지 및 취소

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

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

RevokeGrant

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

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 사용자에게 위임할 수 있습니다.

권한 부여를 생성, 폐기 또는 취소할 때 작업에 최종 일관성이 달성될 때까지 일반적으로 5분 미만의 짧은 지연이 있을 수 있습니다. 새 권한 부여를 즉시 삭제해야 하는 경우 AWS KMS 전체에서 사용 가능하기 전에 권한 부여 토큰을 사용하여 권한 부여를 사용 중지합니다. 권한 부여 토큰을 사용하여 권한 부여를 취소할 수는 없습니다.