本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
授予 Amazon Personalize 使用您的 Amazon KMS 密钥的权限
如果您在使用 Amazon Personalize 控制台时指定 Amazon Key Management Service (Amazon KMS) 密钥 APIs,或者如果您使用 Amazon KMS 密钥加密 Amazon S3 存储桶,则必须授予亚马逊个性化使用您的密钥的权限。要授予权限,您的 Amazon KMS 密钥策略和附加到您的服务角色的 IAM 策略必须授予 Amazon Personalize 使用您的密钥的权限。这适用于在 Amazon Personalize 中创建以下内容。
-
数据集组
-
数据集导入任务(只有 Amazon KMS 密钥策略必须授予权限)
-
数据集导出作业
-
批量推理作业
-
批量细分作业
-
指标归因
您的 Amazon KMS 密钥策略和 IAM 策略必须授予以下操作的权限:
-
Decrypt
-
GenerateDataKey
-
DescribeKey
-
CreateGrant (仅在密钥策略中为必填项)
-
ListGrants
在创建资源后撤消 Amazon KMS 密钥权限可能会导致在创建筛选条件或获取推荐时出现问题。有关 Amazon KMS 策略的更多信息,请参阅Amazon Key Management Service 开发人员指南中的在 Amazon KMS 中使用密钥策略。有关创建 IAM 策略的信息,请参阅《IAM 用户指南》中的创建 IAM 策略。有关将 IAM 策略附加到角色的信息,请参阅《IAM 用户指南》中的添加和删除 IAM 身份权限。
密钥策略示例
以下密钥策略示例向 Amazon Personalize 和角色授予执行前面的 Amazon Personalize 操作的最低权限。如果您在创建数据集组时指定了密钥并希望从数据集导出数据,则您的密钥策略必须包含 GenerateDataKeyWithoutPlaintext
操作。
{ "Version": "2012-10-17", "Id": "key-policy-123", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account-id>:role/<personalize-role-name>", "Service": "personalize.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant", "kms:ListGrants" ], "Resource": "*" } ] }
IAM 策略示例
以下 IAM 策略示例向角色授予之前的 Amazon Personalize 操作所需的最低 Amazon KMS 权限。对于数据集导入任务,只有 Amazon KMS 密钥策略需要授予权限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:ListGrants" ], "Resource": "*" } ] }