授予 Amazon S3 资源的个性化权限 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

授予 Amazon S3 资源的个性化权限

要授予 Amazon Personalize S3 存储桶的访问权限,请执行以下操作:

  1. 如果您尚不了解,请按照中的步骤进行操作设置权限设置权限,以便您的 IAM 用户可以访问 Amazon Personalize,而Amazon Personalize 可以访问您的资源。

  2. 将策略附加到 Amazon Personalize 服务角色(请参阅创建 IAM 角色),允许访问 Amazon S3 存储桶的权限。有关更多信息,请参阅 将 Amazon S3 策略附加到您的Amazon Personalize 服务角色

  3. 将存储桶策略附加到包含您的数据文件的 Amazon S3 存储桶,以便 Amazon Personalize 可以访问它们。有关更多信息,请参阅 将Amazon Personalize 访问策略附加到 Amazon S3 存储桶

  4. Amazon S3 存储桶和对象必须是免加密的,或者如果您正在使用Amazon Key Management Service(Amazon KMS) 对于加密,您必须授予亚马逊个性化和您的Amazon Personalize IAM 服务角色使用密钥的权限。有关更多信息,请参阅 为 Amazon Personalize 提供使用您的的权限Amazon KMS密钥

注意

因为Amazon Personalize 不与AmazonVPC,Amazon Personalize 无法与仅允许 VPC 访问的 Amazon S3 存储桶进行交互。

将 Amazon S3 策略附加到您的Amazon Personalize 服务角色

要将 Amazon S3 策略附加到您的Amazon Personalize 角色,请执行以下操作:

  1. 登录到 IAM 控制台 (https://console.aws.amazon.com/iam/)。

  2. 在导航窗格中选择 Policies (策略),然后选择 Create policy (创建策略)

  3. 选择“JSON”选项卡,然后更新策略,如下所示。将 bucket-name 替换为您的存储桶的名称。如果您正在使用批量工作流程,Amazon Personalize 需要额外的权限。请参阅 批处理工作流的服务相关角色策略

    { "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }
  4. 选择 Next:。标签。(可选)添加任何标签并选择审核.

  5. 为策略指定一个名称。

  6. (可选)对于说明,输入描述此策略的简短句子,例如,Allow Amazon Personalize to access its Amazon S3 bucket.

  7. 选择 Create policy(创建策略)

  8. 在导航窗格中,选择角色,然后选择您为 Amazon Personalize 创建的角色。请参阅 创建 IAM 角色

  9. 适用于Permissions (权限),选择附加策略.

  10. 要显示列表中的策略,请在 Filter policies (筛选策略) 筛选框中键入部分策略名称。

  11. 选中在该过程前面创建的策略旁边的复选框。

  12. 选择 Attach policy(附上策略)。

    在您的角色准备好用于 Amazon Personalize 之前,您还必须将存储桶策略附加到包含您的数据的 Amazon S3 存储桶。请参阅 将Amazon Personalize 访问策略附加到 Amazon S3 存储桶

批处理工作流的服务相关角色策略

要完成批处理工作流程,Amazon Personalize 存储桶需要具有访问 Amazon S3 存储桶的权限。按照上述步骤操作,将以下策略附加到您的Amazon Personalize 角色。将 bucket-name 替换为您的存储桶的名称。有关批处理工作流的详细信息,请参阅获取批量推荐和用户细分.

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

用于导出数据集的服务相关角色策略

要导出数据集,您的 Amazon Personalize 服务相关角色需要权限才能使用PutObjectListBucket针对 Amazon S3 存储桶的操作。以下示例策略授予 Amazon PersonalizePutObjectListBucket权限。Replacebucket-name使用存储桶的名称,并将策略附加到您的服务相关角色。有关向服务相关的 IAM 角色添加策略的信息,请参阅。将 Amazon S3 策略附加到您的Amazon Personalize 服务角色.

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

将Amazon Personalize 访问策略附加到 Amazon S3 存储桶

Amazon Personalize 需要访问 S3 存储桶的权限。对于非批处理工作流程,请将以下策略附加到您的存储桶。将 bucket-name 替换为您的存储桶的名称。有关批处理工作流程,请参阅针对批处理工作流的 Amazon S3 存储桶策略.

有关 Amazon S3 存储桶策略的更多信息,请参阅如何添加 S3 存储桶策略?.

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

针对批处理工作流的 Amazon S3 存储桶策略

对于批处理工作流程,Amazon Personalize S3 存储桶需要具有访问 Amazon S3 存储桶的权限。将以下策略附加到您的存储桶:将 bucket-name 替换为您的存储桶的名称。

有关向存储桶添加 Amazon S3 存储桶策略的更多信息,请参阅如何添加 S3 存储桶策略?. 有关批处理工作流的详细信息,请参阅获取批量推荐和用户细分.

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

用于导出数据集的 Amazon S3 存储桶策略

要导出数据集,Amazon Personalize 需要获得权限才能使用PutObjectListBucket针对 Amazon S3 存储桶的操作。以下示例策略授予 Amazon Personalize 原则PutObjectListBucket权限。Replacebucket-name使用存储桶的名称,并将策略附加到您的存储桶。有关向存储桶添加 Amazon S3 存储桶策略的信息,请参阅如何添加 S3 存储桶策略?(Amazon Simple Storage)用户指南。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }