암호화된 볼륨과 함께 사용하기 위한 필수 CMK 키 정책 - Amazon EC2 Auto Scaling

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

암호화된 볼륨과 함께 사용하기 위한 필수 CMK 키 정책

암호화 생성 시 Amazon EBS 암호화 볼륨을 지정하거나 기본적으로 암호화를 설정하는 스냅샷 또는 시작 템플릿을 AWS Key Management Service 고객 마스터 키(CMK)를 사용하여 데이터 암호화:

  • AWS 관리 CMK — 귀하의 계정에 암호화 키를 Amazon EBS 를 생성, 소유 및 관리합니다. 이 키는 새 계정을 위한 기본 암호화 키입니다. 고객 관리형 CMK를 지정하지 않는 한 AWS 관리형 CMK가 암호화에 사용됩니다.

  • 고객 관리 CMK — 생성, 소유 및 관리하는 사용자 지정 암호화 키. 자세한 내용은 키 생성 in the AWS Key Management Service Developer Guide.

    참고: Amazon EBS는 비대칭 CMK를 지원하지 않습니다.

Amazon EC2 Auto Scaling은 기본 AWS 관리형 CMK를 사용하여 AWS 계정의 암호화된 볼륨을 보호하는 데 추가 승인이 필요하지 않습니다.

고객 관리 CMK를 지정하는 경우 Amazon EBS 암호화를 통해 서비스 연결 역할 CMK에 액세스할 수 있도록 Amazon EC2 Auto Scaling 를 대신하여 인스턴스를 실행할 수 있습니다. 이렇게 하려면 CMK를 생성할 때나 나중에 CMK의 키 정책을 수정해야 합니다.

주요 정책 구성

이 페이지의 예를 사용하여 고객 관리형 CMK에 대한 Amazon EC2 Auto Scaling 액세스 권한을 부여하는 키 정책을 구성하십시오. 에서 사용하려면 CMK의 키 정책에 최소한 두 개의 정책 명령문을 추가해야 합니다.Amazon EC2 Auto Scaling.

  • 첫 번째 문장은 IAM 에 지정된 ID Principal CMK를 직접 사용할 요소. 여기에는 AWS KMS Encrypt, Decrypt, ReEncrypt*, GenerateDataKey*, 그리고 DescribeKey CMK의 운영.

  • 두 번째 문장은 IAM 에 지정된 ID Principal 통합된 AWS 서비스에 대한 자체 권한을 위임하기 위해 보조금을 사용할 요소 AWS KMS 또는 다른 원금. 이를 통해 사용자는 CMK를 사용하여 사용자 대신 암호화된 리소스를 생성할 수 있습니다.

CMK 정책에 새 정책 명령문을 추가할 경우 정책의 기존 섹션을 변경하지 마십시오.

다음 각 예제에서는 키 ID 또는 서비스 링크된 역할의 이름과 같이 교체해야 하는 인수가 다음과 같이 표시됩니다.replaceable text in italics대부분의 경우 서비스 연결 역할의 이름을 Amazon EC2 Auto Scaling 서비스 연결 역할의 이름으로 대체할 수 있습니다. 그러나 시작 구성을 사용하여 스팟 인스턴스를 시작하는 경우 역할을 사용하십시오.AWSServiceRoleForEC2Spot.

다음 리소스를 참조하십시오.

콘솔에서 키 정책 편집

다음 단원의 예에서는 키 정책을 변경하는 유일한 방법인 키 정책에 명령문을 추가하는 방법을 보여줍니다. 주요 정책을 변경하는 가장 쉬운 방법은 IAM 주요 정책에 대한 콘솔의 기본 뷰로 IAM 법인(사용자 또는 역할)을 주요 사용자 적절한 주요 정책을 참조하십시오. 자세한 내용은 AWS 관리 콘솔 기본 보기 사용 in the AWS Key Management Service Developer Guide.

중요

주의할 점이 있습니다. 콘솔의 기본 뷰 정책 문에는 수행할 권한이 포함됩니다. AWS KMS Revoke CMK의 운영. 계정의 CMK에 AWS 계정 액세스 권한을 부여한 경우 실수로 이 권한 부여를 취소하면 외부 사용자가 더 이상 암호화된 데이터나 데이터 암호화에 사용된 키에 액세스할 수 없습니다.

예: CMK에 대한 액세스를 허용하는 CMK 주요 정책 섹션

고객 관리형 CMK의 키 정책에 다음 두 정책 명령문을 추가하여 예의 ARN을 CMK에 대한 액세스가 허용된 적절한 서비스 연결 역할의 ARN으로 바꿉니다. 이 예에서 정책 섹션은 서비스 링크된 역할을 제공합니다. 인시프로슈저리오자동스케일 고객 관리 CMK를 사용할 권한이 있습니다.

{ "Sid": "Allow service-linked role use of the CMK", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }

예: CMK에 대한 교차 계정 액세스를 허용하는 CMK 주요 정책 섹션

고객 관리형 CMK가 Auto Scaling 그룹과 다른 계정에 있는 경우 CMK에 대한 액세스를 허용하는 키 정책과 함께 권한 부여를 사용해야 합니다. 자세한 내용은 교부금 사용 in the AWS Key Management Service Developer Guide.

먼저 다음 두 가지 정책 명령문을 CMK의 키 정책에 추가하고 예의 ARN을 외부 계정의 ARN으로 바꾼 다음 키를 사용할 수 있는 계정을 지정하십시오. 이를 통해 IAM 제공하는 정책 IAM 사용자 또는 역할에 따라 다음과 같은 CLI 명령을 사용하여 CMK에 대한 보조금 생성 권한을 지정합니다. AWS 계정에 CMK에 대한 전체 액세스 권한을 부여할 경우 그 자체로는 모든 IAM 사용자 또는 역할에 CMK에 대한 액세스 권한이 부여되지는 않습니다.

{ "Sid": "Allow external account 111122223333 use of the CMK", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
{ "Sid": "Allow attachment of persistent resources in external account 111122223333", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*" }

그런 다음 외부 계정에서 적절한 서비스 연결 역할에 관련 권한을 위임하는 권한 부여를 생성합니다. 권한 부여의 Grantee Principal 요소는 적절한 서비스 연결 역할의 ARN입니다. The key-id CMK의 ARN입니다. 다음은 예시입니다. 만들기 서비스 링크된 역할을 제공하는 CLI 명령어 인시프로슈저리오자동스케일 계정 111122223333 계정 내 CMK 사용에 대한 권한 444455556666.

aws kms create-grant \ --region us-west-2 \ --key-id arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d \ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling \ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"

이 명령이 성공하려면 요청을 하는 사용자에게 CreateGrant 작업에 대한 권한이 있어야 합니다. 다음 예 IAM 정책을 통해 IAM 사용자 또는 역할 111122223333 계정 내 CMK에 대한 보조금 생성 444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow creation of grant for the CMK in external account 444455556666", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }

암호화된 볼륨으로 인스턴스를 시작하는 데 필요한 고객 관리 CMK에 대한 교차 계정 액세스를 구성하는 데 문제가 있는 경우 문제 해결 섹션.

자세한 내용은 Amazon EBS Encryption in the Linux 인스턴스용 Amazon EC2 사용 설명서 그리고 AWS Key Management Service Developer Guide.