Amazon ECS 태스크에 연결된 Amazon EBS 볼륨에 저장된 데이터 암호화 - Amazon Elastic Container Service

Amazon ECS 태스크에 연결된 Amazon EBS 볼륨에 저장된 데이터 암호화

AWS Key Management Service(AWS KMS)를 사용하여 데이터를 보호하는 암호화 키를 생성하고 관리할 수 있습니다. Amazon EBS 볼륨은 AWS KMS keys를 사용하여 저장 중에 암호화됩니다. 다음 유형의 데이터가 암호화됩니다.

  • 볼륨에 저장된 데이터

  • 디스크 I/O

  • 볼륨에서 생성된 스냅샷

  • 암호화된 스냅샷에서 생성된 새 볼륨

태스크에 연결된 Amazon EBS 볼륨은 별칭이 alias/aws/ebs인 기본 AWS 관리형 키 또는 볼륨 구성에 지정된 대칭 고객 관리형 키를 사용하여 암호화할 수 있습니다. 기본 AWS 관리형 키는 AWS 리전당 AWS 계정마다 고유하며 자동으로 생성됩니다. 대칭 고객 관리형 키를 생성하려면 AWS KMS 개발자 안내서의 대칭 암호화 KMS 키 생성의 단계를 따르세요.

특정 AWS 리전에서 생성 후 태스크에 연결된 모든 새 볼륨이 계정에 구성된 KMS 키를 사용하여 암호화되도록 기본적으로 Amazon EBS 암호화를 구성할 수 있습니다. Amazon EBS 암호화 및 암호화 기본 제공에 대한 자세한 내용은 Amazon EBS 사용 설명서Amazon EBS 암호화를 참조하세요.

또한 클러스터를 생성하거나 업데이트할 때 Amazon ECS 관리형 스토리지에 대한 Amazon ECS 클러스터 수준 암호화를 설정할 수 있습니다. 클러스터 수준 암호화는 특정 클러스터에서 실행되는 태스크에 연결된 모든 Amazon EBS 볼륨을 클러스터 수준에서 지정된 KMS 키를 사용하여 암호화하는 데 사용할 수 있습니다. 클러스터 수준에서 암호화를 구성하는 방법에 대한 자세한 내용은 Amazon ECS API 참조ManagedStorageConfiguration을 참조하세요.

해당 키 조합을 구성할 수 있습니다. KMS 키의 우선순위는 다음과 같습니다.

  1. 볼륨 구성에 지정된 KMS 키. 볼륨 구성에서 KMS 키를 지정하면 Amazon EBS 기본값 및 클러스터 수준에서 지정된 모든 KMS 키가 재정의됩니다.

  2. 클러스터 수준에서 지정된 KMS 키. Amazon ECS 관리형 스토리지의 클러스터 수준 암호화를 위한 KMS 키를 지정하면 Amazon EBS 기본 암호화는 재정의하지만 볼륨 구성에 지정된 KMS 키는 재정의하지 않습니다.

  3. Amazon EBS 기본 암호화. 기본 암호화는 볼륨 구성에서 클러스터 수준 KMS 키 또는 키를 지정하지 않은 경우에 적용됩니다. 기본적으로 Amazon EBS 암호화를 활성화하는 경우 기본값은 기본적으로 암호화에 지정하는 KMS 키입니다. 그렇지 않으면 기본값은 별칭이 alias/aws/ebs인 AWS 관리형 키입니다.

    참고

    볼륨 구성에서 encryptedfalse로 설정하고 클러스터 수준 KMS 키를 지정하지 않은 채 기본적으로 Amazon EBS 암호화를 활성화하면 볼륨은 기본적으로 Amazon EBS 암호화에 지정된 키로 계속 암호화됩니다.

고객 관리형 KMS 키 정책

고객 관리형 키를 사용하여 태스크에 연결된 EBS 볼륨을 암호화하려면 볼륨 구성에 사용하는 IAM 역할이 키를 사용하는 데 필요한 권한을 보유하도록 KMS 키 정책을 구성해야 합니다. 키 정책에는 kms:CreateGrantkms:GenerateDataKey* 권한이 포함되어야 합니다. kms:ReEncryptTokms:ReEncryptFrom 권한은 스냅샷을 사용하여 생성된 볼륨을 암호화하는 데 필요합니다. 연결을 위해 새로운 빈 볼륨만 구성하고 암호화하려는 경우 kms:ReEncryptTokms:ReEncryptFrom 권한을 제외할 수 있습니다.

다음 JSON 코드 조각은 KMS 키 정책에 연결할 수 있는 키 정책 명령을 보여줍니다. 이한 명령을 사용하면 EBS 볼륨을 암호화하려는 경우 Amazon ECS에서 키를 사용할 수 있는 액세스 권한이 제공됩니다. 정책 명령 예제를 사용하려면 user input placeholders를 사용자 정보로 바꿉니다. 항상 그렇듯이 필요한 권한만 구성합니다.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": "kms:DescribeKey", "Resource":"*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": [ "kms:GenerateDataKey*", "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "ec2.region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": "kms:CreateGrant", "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "ec2.region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true } } }

키 정책 및 권한에 대한 자세한 내용은 AWS KMS 개발자 안내서의 Key policies in AWS KMSAWS KMS permissions를 참조하세요. 키 권한과 관련된 EBS 볼륨 연결 문제 해결은 Amazon ECS 작업에 Amazon EBS 볼륨 연결 관련 문제 해결 섹션을 참조하세요.