本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
授予 Amazon S3 资源的个性化权限
要授予 Amazon Personalize S3 存储桶的访问权限,请执行以下操作:
-
如果您尚不了解,请按照中的步骤进行操作设置权限设置权限,以便您的 IAM 用户可以访问 Amazon Personalize,而Amazon Personalize 可以访问您的资源。
-
将策略附加到 Amazon Personalize 服务角色(请参阅为 AAmazon Personalize solicate 创建一个 IAM),允许访问 Amazon S3 存储桶的权限。有关更多信息,请参阅 将 Amazon S3 策略附加到您的Amazon Personalize 服务角色。
-
将存储桶策略附加到包含您的数据文件的 Amazon S3 存储桶,以便 Amazon Personalize 可以访问它们。有关更多信息,请参阅 将Amazon Personalize 访问策略附加到 Amazon S3 存储桶。
-
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 角色,请执行以下操作:
-
登录到 IAM 控制台 (https://console.aws.amazon.com/iam/
)。 -
在导航窗格中选择 Policies (策略),然后选择 Create policy (创建策略)。
-
选择“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
/*" ] } ] } -
选择 Next:。标签。(可选)添加任何标签并选择审核.
-
为策略指定一个名称。
-
(可选)对于说明,输入描述此策略的简短句子,例如,
Allow Amazon Personalize to access its Amazon S3 bucket.
-
选择 Create policy(创建策略)。
-
在导航窗格中,选择角色,然后选择您为 Amazon Personalize 创建的角色。请参阅 为 AAmazon Personalize solicate 创建一个 IAM。
-
适用于Permissions (权限),选择附加策略.
-
要显示列表中的策略,请在 Filter policies (筛选策略) 筛选框中键入部分策略名称。
-
选中在该过程前面创建的策略旁边的复选框。
-
选择 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 服务相关角色需要权限才能使用PutObject
和ListBucket
针对 Amazon S3 存储桶的操作。以下示例策略授予 Amazon PersonalizePutObject
和ListBucket
权限。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 需要获得权限才能使用PutObject
和ListBucket
针对 Amazon S3 存储桶的操作。以下示例策略授予 Amazon Personalize 原则PutObject
和ListBucket
权限。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
/*" ] } ] }