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 키의 우선순위는 다음과 같습니다.
-
볼륨 구성에 지정된 KMS 키. 볼륨 구성에서 KMS 키를 지정하면 Amazon EBS 기본값 및 클러스터 수준에서 지정된 모든 KMS 키가 재정의됩니다.
-
클러스터 수준에서 지정된 KMS 키. Amazon ECS 관리형 스토리지의 클러스터 수준 암호화를 위한 KMS 키를 지정하면 Amazon EBS 기본 암호화는 재정의하지만 볼륨 구성에 지정된 KMS 키는 재정의하지 않습니다.
-
Amazon EBS 기본 암호화. 기본 암호화는 볼륨 구성에서 클러스터 수준 KMS 키 또는 키를 지정하지 않은 경우에 적용됩니다. 기본적으로 Amazon EBS 암호화를 활성화하는 경우 기본값은 기본적으로 암호화에 지정하는 KMS 키입니다. 그렇지 않으면 기본값은 별칭이
alias/aws/ebs
인 AWS 관리형 키입니다.참고
볼륨 구성에서
encrypted
를false
로 설정하고 클러스터 수준 KMS 키를 지정하지 않은 채 기본적으로 Amazon EBS 암호화를 활성화하면 볼륨은 기본적으로 Amazon EBS 암호화에 지정된 키로 계속 암호화됩니다.
고객 관리형 KMS 키 정책
고객 관리형 키를 사용하여 태스크에 연결된 EBS 볼륨을 암호화하려면 볼륨 구성에 사용하는 IAM 역할이 키를 사용하는 데 필요한 권한을 보유하도록 KMS 키 정책을 구성해야 합니다. 키 정책에는 kms:CreateGrant
및 kms:GenerateDataKey*
권한이 포함되어야 합니다. kms:ReEncryptTo
및 kms:ReEncryptFrom
권한은 스냅샷을 사용하여 생성된 볼륨을 암호화하는 데 필요합니다. 연결을 위해 새로운 빈 볼륨만 구성하고 암호화하려는 경우 kms:ReEncryptTo
및 kms: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 KMS 및 AWS KMS permissions를 참조하세요. 키 권한과 관련된 EBS 볼륨 연결 문제 해결은 Amazon ECS 작업에 Amazon EBS 볼륨 연결 관련 문제 해결 섹션을 참조하세요.