보조금 AWS KMS - AWS Key Management Service

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

보조금 AWS KMS

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

부여는 일반적으로 다음과 같은 경우에 사용됩니다. AWS 다음과 통합되는 서비스 AWS KMS 저장된 데이터를 암호화합니다. 서비스는 계정의 사용자를 대신하여 권한 부여를 만들고, 권한을 사용하고, 작업이 완료되는 즉시 권한 부여를 폐기합니다. 방법에 대한 자세한 내용은 AWS 서비스, 권한 사용에 대해서는 서비스 사용 설명서 AWS 서비스의 AWS KMS 활용 방식 또는 개발자 안내서의 '저장 중 암호화' 항목을 참조하십시오.

권한 부여 정보

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

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

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

  • 각 권한 부여에는 하나의 피부여자 보안 주체가 있습니다. 수혜자 주체는 동일한 ID를 하나 이상 대표할 수 있습니다. AWS 계정 KMS열쇠로 사용하거나 다른 계정에 보관하세요.

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

  • 권한을 부여받은 주체는 권한을 키 정책이나 IAM 정책에서 가져온 것처럼 권한 부여를 지정하지 않고도 부여가 부여한 권한을 사용할 수 있습니다. 하지만 그 이유는 AWS KMS API최종 일관성 모델을 따르므로, 권한을 생성, 사용 중지 또는 취소할 때 변경 내용이 전체적으로 적용되기까지 잠시 지연될 수 있습니다. AWS KMS. 권한 부여의 권한을 즉시 사용하려면 권한 부여 토큰을 사용하십시오.

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

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

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

  • KMS키 (kms:CreateGrant) 에 대한 권한 부여를 생성할 권한이 있는 사용자는 권한 부여를 사용하여 다음과 같은 사용자 및 역할을 허용할 수 있습니다. AWS 서비스, KMS 키 사용 보안 주체는 사용자 자신의 ID일 수 있습니다. AWS 계정 또는 다른 계정이나 조직의 ID.

  • 지원금은 다음 중 일부만 허용할 수 있습니다. AWS KMS 운영. 권한 부여를 사용하여 보안 주체가 KMS 키를 보고, 암호화 작업에 사용하고, 권한 부여를 생성 및 취소하도록 허용할 수 있습니다. 자세한 내용은 권한 부여 작업 섹션을 참조하세요. 권한 부여 제약 조건을 사용하여 대칭 암호화 키에 대한 권한 부여의 사용 권한을 제한할 수 있습니다.

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

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

보조금과 관련된 개념에 대한 도움을 받으려면 권한 부여 용어를 참조하세요.

권한 부여 개념

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

권한 부여 제약

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

권한 부여 ID

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

권한 부여 작업

The AWS KMS 보조금으로 허용할 수 있는 작업 다른 작업을 지정하는 경우 ValidationError 예외가 발생하여 CreateGrant요청이 실패합니다. 권한 부여 토큰을 수락하는 작업이기도 합니다. 이러한 권한에 대한 자세한 내용은 AWS KMS 권한 섹션을 참조하세요.

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

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

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

권한 부여 토큰

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

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

권한 부여 토큰은 권한 부여가 전체적으로 완전히 전파될 때까지만 사용하도록 설계되었습니다. AWS KMS. 이후, 수혜자 주체는 보조금 토큰이나 기타 보조금 증빙 자료를 제공하지 않고도 보조금의 권한을 사용할 수 있습니다. 언제든지 보조금 토큰을 사용할 수 있지만, 부여가 최종적으로 일관되게 되면 AWS KMS 권한 부여는 승인 토큰이 아니라 권한 부여를 사용하여 권한을 결정합니다.

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

$ 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 원금 (다음을 포함) AWS 계정 (루트), IAM사용자, IAM역할, 연합 역할 또는 사용자, 위임된 역할 사용자 수혜자 보안 주체는 KMS 키와 같은 계정 또는 다른 계정에 속할 수 있습니다. 하지만 수혜자 주체는 서비스 주체, IAM그룹 또는 개인 사용자일 수 없습니다. AWS 조직.

참고

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

권한 부여 사용 중지

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

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

사용 중지 보안 주체

권한 부여를 사용 중지할 수 있는 보안 주체입니다. 권한 부여에서 사용 중지 보안 주체를 지정할 수 있지만 필수는 아닙니다. 퇴직하는 원금은 어느 것이나 될 수 있습니다. AWS 다음을 포함한 원금 AWS 계정, IAM 사용자, IAM 역할, 페더레이션 사용자, 위임된 역할 사용자 은퇴한 보안 주체는 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 최종 일관성.

에 대한 모범 사례 AWS KMS 보조금

AWS KMS 보조금을 생성, 사용 및 관리할 때 다음과 같은 모범 사례를 권장합니다.

  • 권한 부여의 권한을 피부여자 보안 주체에게 필요한 권한으로 제한합니다. 최소 권한 액세스 원칙을 사용합니다.

  • IAM역할과 같은 특정 수혜자 주도자를 사용하고, 수혜자 주도자에게 필요한 API 작업만 사용할 수 있는 권한을 부여하십시오.

  • 암호화 컨텍스트 부여 제약 조건을 사용하여 호출자가 의도한 목적으로 KMS 키를 사용하고 있는지 확인하십시오. 요청에 암호화 컨텍스트를 사용하여 데이터를 보호하는 방법에 대한 자세한 내용은 다음을 사용하여 암호화된 데이터의 무결성을 보호하는 방법을 참조하십시오. AWS Key Management Service 그리고 EncryptionContext AWS 보안 블로그.

    작은 정보

    가능하면 EncryptionContextEqual권한 부여 제한조건을 사용하세요. EncryptionContextSubset권한 부여 제약조건은 올바르게 사용하기가 더 어렵습니다. 그것을 사용해야 하는 경우 문서를 주의 깊게 읽고 권한 부여 제약 조건을 테스트해 의도한대로 작동하는지 확인하십시오.

  • 중복 권한 부여를 삭제합니다. 중복 부여는 키ARN, API 작업, 수혜자 주체, 암호화 컨텍스트 및 이름이 동일합니다. 원래 권한 부여를 사용 중지 또는 취소하지만 중복된 권한 부여를 그대로 두는 경우 남은 중복 권한 부여가 의도하지 않은 권한 에스컬레이션을 구성합니다. CreateGrant 요청을 재시도할 때 중복 권한 부여를 방지하려면 Name 파라미터를 사용하십시오. 중복 허가를 탐지하려면 ListGrants작업을 사용하세요. 실수로 중복 권한 부여를 생성한 경우 가능한 한 빨리 사용을 중지하거나 취소합니다.

    참고

    보조금: AWS 관리형 키는 중복된 것처럼 보이지만 부여자 주체가 다를 수 있습니다.

    ListGrants 응답의 GranteePrincipal 필드에는 일반적으로 권한 부여의 피부여자 보안 주체가 포함됩니다. 하지만 보조금의 수혜자 주체가 다음과 같은 경우에는 AWS 서비스의 GranteePrincipal 필드에는 서비스 주체가 포함되며, 서비스 주체는 여러 수혜자 주체를 나타낼 수 있습니다.

  • 권한 부여는 자동으로 만료되지 않습니다. 권한이 더 이상 필요하지 않으면 즉시 권한 부여 사용을 중지 또는 취소합니다. 삭제되지 않은 권한 부여는 암호화된 리소스에 대한 보안 위험을 초래할 수 있습니다.