의 권한 부여 AWS KMS - AWS Key Management Service

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

의 권한 부여 AWS KMS

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

권한 부여는 와 통합되는 AWS 서비스에서 저장 데이터를 암호화하는 AWS KMS 데 일반적으로 사용됩니다. 서비스는 계정의 사용자를 대신하여 권한 부여를 만들고, 권한을 사용하고, 작업이 완료되는 즉시 권한 부여를 폐기합니다. AWS 서비스, 권한 부여 사용 방법에 대한 자세한 내용은 서비스 사용 설명서 또는 개발자 안내서의 저장 시 암호화 주제를 참조하세요.

권한 부여는 매우 유연하고 유용한 액세스 제어 메커니즘입니다. KMS 키에 대한 권한 부여를 생성하면 권한 부여에 지정된 모든 조건이 충족되면 권한 부여자 보안 주체가 KMS 키에 대해 지정된 권한 부여 작업을 호출할 수 있습니다.

  • 각 권한 부여는 정확히 하나의 KMS 키에 대한 액세스를 허용합니다. 다른 에서 KMS 키에 대한 권한 부여를 생성할 수 있습니다 AWS 계정.

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

  • 각 권한 부여에는 하나의 피부여자 보안 주체가 있습니다. 권한 부여자 보안 주체는 AWS 계정 KMS 키와 동일한 또는 다른 계정에서 하나 이상의 자격 증명을 나타낼 수 있습니다.

  • 권한 부여는 권한 부여 작업만 허용할 수 있습니다. 권한 부여 작업은 권한 부여의 KMS 키로 지원되어야 합니다. 지원되지 않는 작업을 지정하면 ValidationError 예외를 제외하고 CreateGrant 요청이 실패합니다.

  • 권한 부여자 보안 주체는 권한 부여가 키 정책 또는 IAM 정책에서 나온 것처럼 권한 부여를 지정하지 않고도 부여가 부여한 권한을 사용할 수 있습니다. 그러나 는 AWS KMS API 최종 일관성 모델을 따르기 때문에 권한 부여를 생성, 사용 중지 또는 취소할 때 에서 변경 사항을 사용할 수 있기 전에 잠시 지연될 수 있습니다 AWS KMS. 권한 부여에서 권한을 즉시 사용하려면 권한 부여 토큰을 사용하십시오.

  • 권한이 부여된 보안 주체는 권한 부여를 삭제(사용 중지 또는 취소)할 수 있습니다. 권한 부여를 삭제하면 권한 부여가 허용한 모든 권한이 제거됩니다. 권한 부여를 실행 취소하기 위해 추가하거나 제거할 정책을 파악할 필요가 없습니다.

  • AWS KMS 는 각 KMS 키에 대한 권한 부여 수를 제한합니다. 세부 정보는 KMS 키당 권한 부여: 50,000을 참조하세요.

권한 부여를 생성할 때와 다른 사람에게 권한 부여 생성 권한을 부여할 때는 주의해야 합니다. 권한 부여를 생성할 수 있는 권한은 kms:PutKeyPolicy 정책을 설정할 수 있는 권한을 허용하는 것과 마찬가지로 보안에 영향을 미칩니다.

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

  • 권한 부여는 AWS KMS 작업의 하위 집합만 허용할 수 있습니다. 권한 부여를 사용하여 보안 주체가 KMS 키를 보고, 암호화 작업에 사용하고, 권한 부여를 생성 및 사용 중지할 수 있습니다. 자세한 내용은 권한 부여 작업 섹션을 참조하세요. 권한 부여 제약 조건을 사용하여 대칭 암호화 키에 대한 권한 부여의 사용 권한을 제한할 수 있습니다.

  • 보안 주체는 키 정책 또는 IAM 정책에서 권한을 생성할 수 있습니다. 정책으로부터 kms:CreateGrant 권한을 받는 보안 주체는 KMS 키에 대한 모든 권한 부여 작업에 대한 권한을 생성할 수 있습니다. 이러한 보안 주체는 키에 대해 부여한 권한이 필요하지 않습니다. 정책에서 kms:CreateGrant 권한을 허용하면 정책 조건을 사용하여 이 권한을 제한할 수 있습니다.

  • 보안 주체는 권한 부여에서 권한 부여를 만들 수 있는 권한을 가져올 수도 있습니다. 이러한 위탁자는 정책에서 다른 권한이 있더라도 부여된 권한만 위임할 수 있습니다. 세부 정보는 CreateGrant 권한 부여을 참조하세요.

권한 부여 개념

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

권한 부여 제약

권한 부여의 권한을 제한하는 조건입니다. 현재 는 암호화 작업 요청의 암호화 컨텍스트를 기반으로 권한 부여 제약 조건을 AWS KMS 지원합니다. 세부 정보는 권한 부여 제약 사용을 참조하세요.

권한 부여 ID

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

권한 부여 작업

권한 부여에서 허용할 수 있는 AWS KMS 작업입니다. 다른 작업을 지정하면 ValidationError 예외를 제외하고 CreateGrant 요청이 실패합니다. 권한 부여 토큰을 수락하는 작업이기도 합니다. 이러한 권한에 대한 자세한 내용은 AWS KMS 권한 섹션을 참조하세요.

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

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

허용하는 권한 부여 작업은 권한 부여의 KMS 키로 지원되어야 합니다. 지원되지 않는 작업을 지정하면 ValidationError 예외를 제외하고 CreateGrant 요청이 실패합니다. 예를 들어 대칭 암호화 KMS 키에 대한 권한 부여는 서명 , 확인 GenerateMac 또는 VerifyMac 작업을 허용할 수 없습니다. 비대칭 KMS 키에 대한 권한 부여는 데이터 키 또는 데이터 키 페어를 생성하는 작업을 허용하지 않습니다.

권한 부여 토큰

는 AWS KMS API 최종 일관성 모델을 따릅니다. 권한 부여를 생성할 때, 변경 사항이 AWS KMS전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다. 시스템에 전체에 완전히 전파하기 전에 권한 부여를 사용하려고 하면 액세스 거부 오류가 발생할 수 있습니다. 권한 부여 토큰을 사용하면 권한 부여를 참조하고 즉시 권한 부여 권한을 사용할 수 있습니다.

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

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

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

$ 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 작업 또는 CreateGrant 작업에 대한 CloudTrail 로그 이벤트에서는 권한 부여 토큰을 가져올 수 없습니다. ListGrantsListRetirableGrants 작업은 권한 부여 ID 를 반환하지만 권한 부여 토큰은 반환하지 않습니다.

세부 정보는 권한 부여 토큰 사용을 참조하세요.

피부여자 보안 주체

권한 부여에 지정된 권한을 가져오는 ID입니다. 각 권한 부여에는 하나의 피부여자 보안 주체가 있지만 피부여자 보안 주체는 여러 ID를 나타낼 수 있습니다.

권한 부여자 보안 주체는 AWS 계정 (루트), IAM 사용자, IAM 역할, 페더레이션 역할 또는 사용자 또는 수임된 역할 사용자를 포함한 모든 AWS 보안 주체일 수 있습니다. 권한 부여자 보안 주체는 KMS 키와 동일한 계정 또는 다른 계정에 있을 수 있습니다. 그러나 수혜자 보안 주체는 서비스 보안 주체, IAM 그룹 또는 AWS 조직일 수 없습니다.

참고

IAM 모범 사례에서는 장기 보안 인증 정보가 있는 IAM 사용자를 사용하지 않는 것이 좋습니다. 가능하면 임시 자격 증명을 제공하는 IAM 역할을 사용합니다. 자세한 내용은 IAM 사용 설명서의 에서 보안 모범 사례를 IAM 참조하세요.

권한 부여 사용 중지

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

권한 부여를 취소하거나 사용 중지하면 권한 부여가 삭제됩니다. 그러나 사용 중지는 권한 부여에 지정된 보안 주체에 의해 수행됩니다. 취소는 일반적으로 키 관리자가 수행합니다. 자세한 내용은 권한 부여 사용 중지 및 취소 섹션을 참조하세요.

사용 중지 보안 주체

권한 부여를 사용 중지할 수 있는 보안 주체입니다. 권한 부여에서 사용 중지 보안 주체를 지정할 수 있지만 필수는 아닙니다. 사용 중지된 보안 주체는 AWS 계정, IAM 사용자, IAM 역할, 페더레이션 사용자 및 수임된 역할 사용자를 포함한 모든 AWS 보안 주체일 수 있습니다. 사용 중지된 보안 주체는 KMS 키와 동일한 계정 또는 다른 계정에 있을 수 있습니다.

참고

IAM 모범 사례에서는 장기 보안 인증 정보가 있는 IAM 사용자를 사용하지 않는 것이 좋습니다. 가능하면 임시 자격 증명을 제공하는 IAM 역할을 사용합니다. 자세한 내용은 IAM 사용 설명서의 에서 보안 모범 사례를 IAM 참조하세요.

권한 부여에 지정된 보안 주체를 사용 중지하는 것 외에도 권한 부여가 생성된 AWS 계정 에서 권한 부여를 사용 중지할 수 있습니다. 권한 부여가 RetireGrant 작업을 허용하는 경우 피부여자 보안 주체 권한 부여를 사용 중지할 수 있습니다. 또한 사용 중지된 보안 주체 AWS 계정 인 AWS 계정 또는 는 동일한 의 IAM 보안 주체에게 권한 부여를 사용 중지할 수 있는 권한을 위임할 수 있습니다 AWS 계정. 세부 정보는 권한 부여 사용 중지 및 취소을 참조하세요.

권한 부여 취소

권한 부여를 종료합니다. 권한 부여를 취소하면 권한 부여가 허용하는 권한을 적극적으로 거부할 수 있습니다.

권한 부여를 취소하거나 사용 중지하면 권한 부여가 삭제됩니다. 그러나 사용 중지는 권한 부여에 지정된 보안 주체에 의해 수행됩니다. 취소는 일반적으로 키 관리자가 수행합니다. 자세한 내용은 권한 부여 사용 중지 및 취소 섹션을 참조하세요.

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

는 AWS KMS API 최종 일관성 모델을 따릅니다. 권한 부여를 생성, 사용 중지 또는 철회할 때, 변경 사항이 AWS KMS전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다.

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

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

  • 새 권한 부여에서 권한을 즉시 사용하려면 권한 부여 토큰을 사용하십시오. 권한 부여 토큰을 사용하여 모든 권한 부여 작업에서 권한 부여를 권한 부여를 참조할 수 있습니다. 지침은 권한 부여 토큰 사용 섹션을 참조하세요.

  • CreateGrant 작업에는 재시도 작업에서 중복 권한 부여가 생성되지 않도록 하는 Name 파라미터가 있습니다.

참고

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

자세한 내용은 AWS KMS 결과적 일관성을 참조하세요.