에 대한 리소스 기반 정책 예제 AWS KMS - AWS Database Migration Service

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

에 대한 리소스 기반 정책 예제 AWS KMS

AWS DMS지원되는 대상 엔드포인트 데이터를 암호화하는 사용자 지정 AWS KMS 암호화 키를 생성할 수 있습니다. 지원되는 대상 데이터 암호화를 위해 생성하는 암호화 키에 대한 키 정책을 생성하고 연결하는 방법을 알아보려면 Amazon Redshift 대상 데이터 암호화를 위한 AWS KMS 키 생성 및 사용Amazon S3 대상 객체를 암호화하기 위한 AWS KMS 키 생성 단원을 참조하십시오.

Amazon Redshift 대상 데이터를 암호화하기 위한 사용자 지정 AWS KMS 암호화 키에 대한 정책

다음 예는 Amazon Redshift JSON 대상 데이터를 암호화하기 위해 생성한 AWS KMS 암호화 키에 대해 생성된 키 정책을 보여줍니다.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role" ] }, "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::987654321098:role/DMS-Redshift-endpoint-access-role" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

여기서 키 정책이 키를 생성하기 전에 Amazon Redshift 대상 엔드포인트 데이터에 액세스하기 위해 생성한 역할을 참조하는 위치를 확인할 수 있습니다. 이 예제에서는 DMS-Redshift-endpoint-access-role입니다. 또한 다른 보안 주체(사용자 및 역할)에게 허용된 다양한 키 작업도 볼 수 있습니다. 예를 들어 DMS-Redshift-endpoint-access-role이 부여된 모든 사용자는 대상 데이터를 암호화, 해독 및 다시 암호화할 수 있습니다. 또한 이러한 사용자는 내보내기용 데이터 키를 생성하여 외부 데이터를 암호화할 수 있습니다. AWS KMS또한 방금 생성한 AWS KMS 키와 같은 키에 대한 세부 정보를 반환할 수도 있습니다. 이 밖에도 이러한 사용자는 대상 엔드포인트와 같은 AWS 리소스에 대한 연결을 관리할 수 있습니다.

Amazon S3 대상 데이터를 암호화하기 위한 사용자 지정 AWS KMS 암호화 키에 대한 정책

다음 예는 Amazon S3 대상 데이터를 암호화하기 위해 생성한 AWS KMS 암호화 키에 대해 생성된 키 정책을 보여줍니다. JSON

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role" ] }, "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::987654321098:role/DMS-S3-endpoint-access-role" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ]

여기서 키 정책이 키를 생성하기 전에 Amazon S3 대상 엔드포인트 데이터에 액세스하기 위해 생성한 역할을 참조하는 위치를 확인할 수 있습니다. 이 예제에서는 DMS-S3-endpoint-access-role입니다. 또한 다른 보안 주체(사용자 및 역할)에게 허용된 다양한 키 작업도 볼 수 있습니다. 예를 들어 DMS-S3-endpoint-access-role이 부여된 모든 사용자는 대상 데이터를 암호화, 해독 및 다시 암호화할 수 있습니다. 또한 이러한 사용자는 내보내기용 데이터 키를 생성하여 외부 데이터를 암호화할 수 있습니다. AWS KMS또한 방금 생성한 AWS KMS 키와 같은 키에 대한 세부 정보를 반환할 수도 있습니다. 이 밖에도 이러한 사용자는 대상 엔드포인트와 같은 AWS 리소스에 대한 연결을 관리할 수 있습니다.