のリソースベースのポリシーの例 AWS KMS - AWS データベース移行サービス

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

のリソースベースのポリシーの例 AWS KMS

AWS DMS では、カスタム AWS KMS 暗号化キーを作成して、サポートされているターゲットエンドポイントデータを暗号化できます。キーポリシーを作成して、サポートされているターゲットデータ暗号化用に作成する暗号化キーに、このポリシーをアタッチする方法については、「Amazon Redshift ターゲットデータを暗号化する AWS KMS キーの作成と使用」および「Amazon S3 ターゲットオブジェクトを暗号化するための AWS KMS キーの作成」をご参照ください。

Amazon Redshift ターゲットデータを暗号化するためのカスタム AWS KMS 暗号化キーのポリシー

次の例は、Amazon Redshift ターゲットデータを暗号化するために作成した暗号化キー用に 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-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 暗号化キーのポリシー

次の例はJSON、Amazon S3 ターゲットデータを暗号化するために作成した暗号化キー用に 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-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 リソースへのアタッチメントを管理できます。