向 Amazon Personalize 授予使用您 Amazon KMS 密钥的权限 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向 Amazon Personalize 授予使用您 Amazon KMS 密钥的权限

如果您在使用 Amazon Personalize 控制台或 API 时指定 Amazon Key Management Service (Amazon KMS) 密钥,或者使用 Amazon KMS 密钥加密 Amazon S3 存储桶,则您必须向 Amazon Personalize 授予使用您密钥的权限。要授予权限,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": "*" } ] }