

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のリソースベースのポリシーの例 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 リソースへのアタッチメントを管理できます。