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

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

为 Amazon S3 资源授予针对 Amazon S3 资源的访问

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

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

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

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

  4. 如果您在使用Amazon Key Management Service(Amazon对于加密,您必须授予 IAM 用户和 Amazon Personalize IAM 服务角色使用您的密钥的权限。您还必须将 Amazon Personalize 化作为原则添加到您的Amazon KMS密钥策略。有关更多信息,请参阅使用以下密钥策略Amazon自杀中的Amazon Key Management Service开发人员指南.

注意

因为 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 创建的角色。请参阅 创建 Amazon Personalize 的 IAM 角色

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

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

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

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

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

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

要完成批处理工作流程,Amazon Personalize S3 存储桶需要具有权限以访问和将文件添加到 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 Personalize 问PutObjectListBucket权限。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 S3 存储桶附加 Amazon Amazon Personalize 访问策略

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 Service 用户指南)。

{ "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/*" ] } ] }