

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

# 에 대한 리소스 기반 정책 예제 AWS KMS
<a name="security_iam_resource-based-policy-examples"></a>

AWS DMS를 사용하면 사용자 지정 AWS KMS 암호화 키를 생성하여 지원되는 대상 엔드포인트 데이터를 암호화할 수 있습니다. 지원되는 대상 데이터 암호화를 위해 생성하는 암호화 키에 대한 키 정책을 생성하고 연결하는 방법을 알아보려면 [AWS KMS 키를 사용하여 Amazon Redshift 대상 데이터 암호화](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) 및 [Amazon S3 대상 객체를 암호화하는 AWS KMS 키 생성](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys) 섹션을 참조하세요.

**Topics**
+ [Amazon Redshift 대상 데이터를 암호화하기 위한 사용자 지정 암호화 AWS KMS 키에 대한 정책](#security_iam_resource-based-policy-examples-custom-rs-key-policy)
+ [Amazon S3 대상 데이터를 암호화하기 위한 사용자 지정 암호화 AWS KMS 키에 대한 정책](#security_iam_resource-based-policy-examples-custom-s3-key-policy)

## Amazon Redshift 대상 데이터를 암호화하기 위한 사용자 지정 암호화 AWS KMS 키에 대한 정책
<a name="security_iam_resource-based-policy-examples-custom-rs-key-policy"></a>

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

------
#### [ 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-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 키에 대한 정책
<a name="security_iam_resource-based-policy-examples-custom-s3-key-policy"></a>

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

------
#### [ 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 리소스에 대한 연결을 관리할 수 있습니다.