

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 的資源型政策範例 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) 和 [建立 AWS KMS 金鑰來加密 Amazon S3 目標物件](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>

下列範例顯示您針對 AWS KMS 加密金鑰所建立金鑰政策的 JSON，而此金鑰是您為了加密 Amazon Redshift 目標資料而建立。

------
#### [ 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>

下列範例顯示您針對 AWS KMS 加密金鑰所建立金鑰政策的 JSON，而此金鑰是您為了加密 Amazon S3 目標資料而建立。

------
#### [ 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 資源的附件，例如目標端點。