권한 부여 사용 - AWS Key Management Service

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

권한 부여 사용

권한 부여 보안 주체AWS가 암호화 작업에 AWS KMS고객 마스터 키(CMKs)를 사용하도록 허용하는 정책 도구입니다. 또한 CMK(DescribeKey)를 보고 권한 부여를 생성 및 관리할 수 있도록 합니다. 에 대한 액세스 권한을 부여할 때 권한 부여는 CMK키 정책 정책IAM과 함께 고려됩니다. 권한 부여는 임시 권한에 사용되는 경우가 많습니다. 키 정책 또는 IAM 정책을 변경하지 않고 권한을 생성하고, 권한을 사용하고, 삭제할 수 있기 때문입니다.

키 정책(필수) 및 정책(선택 사항)과 함께 권한 부여는 액세스 제어 전략의 강력하고 유연한 구성 요소를 제공합니다.IAM 일반적으로 키 정책을 사용하여 CMK에 대한 장기 정적 권한을 설정합니다. 정책을 사용하여 특정 IAM(예: CMKCreateKey)가 포함되지 않은 작업에 대한 액세스를 제어하고 여러 에 적용되는 권한을 설명하거나 여러 CMKs 서비스의 리소스에 대한 권한을 포함합니다.AWS 그런 다음 CMK에 대한 임시 또는 제한된 액세스를 제공하려면 권한 부여를 사용합니다.

권한 부여는 AWS와 통합되는 AWS KMS 서비스에서 유휴 데이터를 암호화하는 데 일반적으로 사용됩니다. 이 서비스는 계정 내 사용자를 대신하여 권한 부여를 생성하고, 해당 권한을 사용하며, 해당 작업이 완료되는 즉시 권한 부여를 사용 중지합니다. 서비스, 권한 부여 사용, 서비스 사용 설명서 또는 개발자 안내서의 AWS 또는 AWS 서비스의 AWS KMS 활용 방식유휴 시 암호화 주제를 참조하십시오.

여러 프로그래밍 언어로 권한 부여를 사용하는 방법을 보여주는 코드 예제는 권한 부여 작업 단원을 참조하십시오.

권한 부여 정보

권한 부여는 매우 유연하고 유용한 액세스 제어 메커니즘입니다. 권한 부여를 고객 마스터 키()에 연결하면 권한 부여에 지정된 조건이 충족될 때 CMK권한 부여는 보안 주체가 에 대한 특정 작업을 호출하도록 허용합니다.CMK

  • 각 권한 부여는 단 하나의 CMK에 대한 액세스를 제어합니다. 는 동일한 또는 다른 CMK 계정에 있을 수 있습니다.AWS

  • 권한 부여를 사용하여 액세스를 허용할 수 있지만 거부할 수는 없습니다. 권한 부여는 권한 부여 작업에 대한 액세스만 허용할 수 있습니다.

  • 권한 부여로부터 권한을 부여 받은 보안 주체는 권한이 키 정책 또는 IAM 정책에서 온 경우와 마찬가지로 권한 부여를 지정하지 않고 해당 권한을 사용할 수 있습니다. 그러나 권한 부여를 생성, 사용 중지 또는 취소할 때 작업이 최종 일관성을 얻을 때까지 일반적으로 5분 미만의 짧은 지연이 있을 수 있습니다. 권한 부여의 권한을 즉시 사용하려면 권한 부여 토큰을 사용하십시오.

  • 권한 부여를 사용하여 다른 AWS 계정의 보안 주체가 CMK를 사용하도록 허용할 수 있습니다.

  • 보안 주체에게 필요한 권한이 있으면 권한 부여를 삭제할 수 있습니다(만료 또는 취소). 이러한 작업은 권한 부여가 허용한 모든 권한을 제거합니다. 권한 부여를 실행 취소하기 위해 추가하거나 조정할 정책을 파악할 필요가 없습니다.

  • 권한 부여를 생성, 사용 중지 또는 취소할 때 AWS KMS 전체에서 변경 사항을 사용할 수 있을 때까지 일반적으로 5분 미만의 짧은 간격이 있을 수 있습니다. 자세한 내용은 권한 부여에 대한 최종 일관성을 참조하십시오.

권한 부여를 생성하고 다른 사람에게 권한 부여를 생성할 수 있는 권한을 부여할 때는 주의해야 합니다. 권한 부여 생성 권한은 kms:PutKeyPolicy에 정책 설정 권한을 허용하는 것과 같이 보안에 영향을 줍니다.

  • (CMK)에 대한 권한 부여를 생성할 권한이 있는 사용자는 권한 부여를 사용하여 kms:CreateGrant 서비스를 포함한 사용자와 역할이 AWS를 사용하도록 허용할 수 있습니다.CMK 보안 주체는 자체 AWS 계정의 자격 증명이거나 다른 계정 또는 조직의 자격 증명일 수 있습니다.

  • 권한 부여는 AWS KMS 작업의 하위 집합만 허용할 수 있습니다. 권한 부여를 사용하여 보안 주체가 CMK를 보고, 암호화 작업에 사용하고, 권한 부여를 생성 및 만료할 수 있습니다. 자세한 내용은 Grant 작업을 참조하십시오. 권한 부여 제약 조건을 사용하여 권한 부여의 권한을 제한할 수도 있습니다.

  • 보안 주체는 키 정책 또는 IAM 정책에서 권한 부여를 생성할 수 있는 권한을 얻을 수 있습니다. 이러한 보안 주체는 권한이 없더라도 에서 권한 부여 작업CMK에 대한 권한 부여를 생성할 수 있습니다. 정책에서 kms:CreateGrant 권한을 허용하는 경우 정책 조건을 사용하여 이 권한을 제한할 수 있습니다.

  • 보안 주체는 권한 부여에서 권한 부여를 생성할 수 있는 권한을 얻을 수도 있습니다. 이러한 보안 주체는 정책의 다른 권한이 있더라도 부여된 권한만 위임할 수 있습니다. 자세한 내용은 권한 부여CreateGrant을(를) 참조하십시오.

권한 부여와 관련된 개념에 대한 도움말은 권한 부여 용어를 참조하십시오.

대칭 및 비대칭 CMKs에 대한 권한 부여

대칭 CMK 또는 비대칭 CMK에 대한 액세스를 제어하는 권한 부여를 생성할 수 있습니다. 그러나 보안 주체가 CMK에서 지원하지 않는 작업을 수행하도록 허용하는 권한 부여를 생성할 수 없습니다. 이러한 권한 부여를 시도하면 AWS KMS가 ValidationError 예외를 반환합니다.

대칭 CMKs

대칭 CMKs에 대한 권한 부여는 Sign(서명), Verify(확인) 또는 GetPublicKey 작업을 허용할 수 없습니다. (레거시 작업의 경우 이 규칙에 대한 제한적 예외가 있지만, AWS KMS가 지원하지 않는 작업에 대해 권한 부여를 생성하면 안 됩니다.)

비대칭 CMKs

비대칭 CMKs에 대한 권한 부여는 데이터 키 또는 데이터 키 페어를 생성하는 작업을 허용할 수 없습니다. 또한 사용자 지정 키 스토어에서 자동 키 교체, CMKs가져온 키 구성 요소 또는 와 관련된 작업도 허용하지 않습니다.

키 사용이 CMKs인 SIGN_VERIFY에 대한 권한 부여는 암호화 작업을 허용할 수 없습니다. 키 사용이 CMKs인 ENCRYPT_DECRYPT에 대한 권한 부여는 Sign 또는 Verify 작업을 허용할 수 없습니다.

권한 부여 용어

권한 부여를 효과적으로 사용하려면 AWS KMS에서 사용하는 용어와 개념을 이해해야 합니다.

권한 부여 제약

권한 부여에서 권한을 제한하는 조건입니다. 현재 AWS KMS는 암호화 작업 요청의 암호화 컨텍스트를 기반으로 하는 권한 부여 제약 조건을 지원합니다. 자세한 내용은 권한 부여 제약 조건 사용을(를) 참조하십시오.

권한 부여 ID

에 대한 권한 부여의 고유 식별자입니다.CMK 키 식별자와 함께 권한 부여를 사용하여 RetireGrant 또는 RevokeGrant 요청에서 권한 부여를 식별할 수 있습니다.

권한 부여 작업

권한 부여에서 허용할 수 있는 AWS KMS 작업입니다. 이는 권한 부여 토큰을 수락하는 작업이기도 합니다. 이러한 권한에 대한 자세한 내용은 AWS KMS 권한 단원을 참조하십시오.

이러한 작업은 실제로 작업을 사용할 수 있는 권한을 나타냅니다. 따라서 ReEncrypt 작업의 경우 ReEncryptFrom, ReEncryptTo 또는 둘 다 지정할 수 있습니다.ReEncrypt*

권한 부여 작업은 다음과 같습니다.

에서 지원되지 않는 작업에 대한 권한 부여는 생성할 수 없습니다.CMK 이러한 권한 부여를 시도하면 AWS KMS가 ValidationError 예외를 반환합니다.

권한 부여 토큰

권한 부여를 생성할 때 새 권한 부여가 AWS KMS 전체에서 사용 가능할 때까지, 즉 최종 일관성이 충족될 때까지 일반적으로 5분 미만의 짧은 지연이 있을 수 있습니다. 최종 일관성을 달성하기 전에 권한 부여를 사용하려고 하면 액세스 거부 오류가 발생할 수 있습니다. 권한 부여 토큰을 사용하면 권한 부여를 즉시 참조하고 해당 권한 부여 권한을 사용할 수 있습니다.

권한 부여 토큰은 권한 부여를 나타내는 보안되지 않은 가변 길이 base64로 인코딩된 고유한 문자열입니다. 권한 부여 토큰을 사용하여 모든 권한 부여 작업에서 권한 부여를 식별할 수 있습니다. 그러나 토큰 값은 해시 다이제스트이므로 권한 부여에 대한 세부 정보를 공개하지 않습니다.

권한 부여 토큰은 권한 부여가 최종 일관성을 달성할 때까지만 사용하도록 설계되었습니다. 그런 다음 피부여자 보안 주체는 권한 부여 토큰이나 권한 부여의 다른 증거를 제공하지 않고 권한 부여의 권한을 사용할 수 있습니다. 언제든지 권한 부여 토큰을 사용할 수 있지만, 권한 부여가 최종적으로 일관되면 AWS KMS는 권한 부여를 사용하여 권한 부여 토큰이 아닌 권한을 결정합니다.

예를 들어 다음 명령은 GenerateDataKey 작업을 호출합니다. 권한 부여 토큰을 사용하여 호출자(피부여자 보안 주체)에게 지정된 GenerateDataKey에 대해 CMK를 호출할 수 있는 권한을 부여하는 권한 부여를 나타냅니다.

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $token

권한 부여 토큰을 사용하여 권한 부여를 관리하는 작업에서 권한 부여를 식별할 수도 있습니다. 예를 들어 만료되는 보안 주체RetireGrant 작업에 대한 호출에서 권한 부여 토큰을 사용할 수 있습니다.

$ aws kms retire-grant \ --grant-token $token

CreateGrant는 권한 부여 토큰을 반환하는 유일한 작업입니다. 작업에 대한 다른 AWS KMS 작업 또는 CloudTrail 로그 이벤트에서 권한 부여 토큰을 가져올 수 없습니다.CreateGrant ListGrants 및 ListRetirableGrants 작업은 권한 부여 ID를 반환하지만 권한 부여 토큰은 반환하지 않습니다.

자세한 내용은 권한 부여 토큰 사용을(를) 참조하십시오.

피부여자 보안 주체

권한 부여에 지정된 권한을 갖는 자격 증명입니다. 권한 부여에는 하나 이상의 피부여자 보안 주체가 있어야 합니다. 피부여자 보안 주체는 AWS 계정(루트), IAM 사용자, 역할IAM, 연합된 역할 또는 사용자 또는 위임된 역할 사용자를 포함한 모든 AWS 보안 주체가 될 수 있습니다. 피부여자 보안 주체는 CMK 또는 다른 계정과 동일한 계정에 속할 수 있습니다. 그러나 피부여자 보안 주체는 서비스 보안 주체, IAM 그룹 또는 조직AWS일 수 없습니다.

만료(권한 부여)

권한 부여를 종료합니다. 권한 사용을 마치면 권한 부여를 사용 중지합니다.

권한 부여를 취소하고 삭제하면 둘 다 권한 부여가 삭제됩니다. 하지만 만료는 권한 부여에 지정된 보안 주체에 의해 수행됩니다. 취소는 일반적으로 키 관리자가 수행합니다. 자세한 내용은 권한 부여 만료 및 취소을(를) 참조하십시오.

만료되는 보안 주체

권한 부여를 만료시킬 수 있는 보안 주체입니다. 권한 부여에서 만료 보안 주체를 지정할 수 있지만 필수는 아닙니다. 만료되는 보안 주체는 AWS 계정(루트), IAM 사용자, IAM 역할, 연동 사용자 및 위임된 역할 사용자를 포함한 모든 AWS 보안 주체가 될 수 있습니다. 만료되는 보안 주체는 CMK 또는 다른 계정과 동일한 계정에 있을 수 있습니다.

권한 부여에 지정된 보안 주체를 만료하는 것 외에도, 권한 부여는 해당 권한이 생성된 AWS 계정(루트 사용자)에 의해 만료될 수 있습니다. 권한 부여가 RetireGrant 작업을 허용하는 경우 피부여자 보안 주체는 권한 부여를 사용 중지할 수 있습니다. 또한 AWS 계정(루트 사용자) 또는 사용 중지 보안 주체인 AWS 계정은 동일한 IAM 계정의 AWS 보안 주체에 권한 부여의 사용을 중지할 수 있는 권한을 위임할 수 있습니다. 자세한 내용은 권한 부여 만료 및 취소을(를) 참조하십시오.

취소(권한 부여)

권한 부여를 종료합니다. 권한 부여를 취소하여 해당 권한 부여가 허용하는 권한을 능동적으로 거부합니다.

권한 부여를 취소하고 삭제하면 둘 다 권한 부여가 삭제됩니다. 하지만 만료는 권한 부여에 지정된 보안 주체에 의해 수행됩니다. 취소는 일반적으로 키 관리자가 수행합니다. 자세한 내용은 권한 부여 만료 및 취소을(를) 참조하십시오.

최종 일관성(권한 부여의 경우)

권한 부여를 생성, 사용 중지 또는 취소하는 경우 AWS KMS 전체에서 변경 사항을 사용할 수 있을 때까지 일반적으로 5분 미만의 짧은 지연이 있을 수 있습니다. 이 간격이 완료되면 작업이 최종 일관성을 달성했다고 간주합니다.

예기치 않은 오류가 발생할 경우 이 간단한 지연을 알게 될 수 있습니다. 예를 들어, 새 권한 부여를 관리하거나 AWS KMS에서 권한 부여를 알려지기 전에 새 권한 부여의 권한을 사용하려고 하면 액세스 거부 오류가 발생할 수 있습니다. 권한 부여의 사용을 중지하거나 취소할 경우 권한 부여가 완전히 삭제될 때까지 권한 부여자 보안 주체가 잠시 동안 권한을 사용할 수 있습니다. 일반적인 전략은 요청을 재시도하는 것이며, 일부 AWS SDKs에는 자동 백오프와 재시도 로직이 포함됩니다.

AWS KMS에는 이 짧은 지연을 완화하는 기능이 있습니다.

참고

권한 부여 토큰은 서비스의 모든 엔드포인트가 새로운 권한 부여 상태로 업데이트될 때까지 권한 부여의 유효성을 대체합니다. 대부분의 경우 최종 일관성은 5분 이내에 달성됩니다.