向 Amazon ML 授予将预测输出到 Amazon S3 的权限 - Amazon Machine Learning

我们不再更新 Amazon Machine Learning 服务,也不再接受新用户使用该服务。本文档可供现有用户使用,但我们不会再对其进行更新。有关更多信息,请参阅什么是 Amazon Machine Learning

向 Amazon ML 授予将预测输出到 Amazon S3 的权限

要将批量预测操作的结果输出到 Amazon S3,您必须向 Amazon ML 授予输出位置的以下权限,该位置是作为“创建批量预测”操作的输入提供的:

  • S3 存储桶和前缀上的 GetObject 权限。

  • S3 存储桶和前缀上的 PutObject 权限。

  • S3 存储桶和前缀上的 PutObjectAcl

    • Amazon ML 需要此权限来确保可在创建对象之后将标准 ACL bucket-owner-full-control 权限授予您的 AWS 账户。

  • S3 存储桶的 ListBucket 权限。与其他操作不同,必须授予存储桶范围(而不是前缀)的 ListBucket 权限。不过,您可以使用 Condition 子句限定特定前缀的权限范围。

如果您使用 Amazon ML 控制台创建批量预测请求,这些权限可添加到您的存储桶。在您完成向导中的步骤时,系统将提示您确认是否要添加它们。

以下示例策略介绍如何授予 Amazon ML 权限以将数据写入示例位置 s3://examplebucket/exampleprefix,同时将 ListBucket 权限仅限定为 exampleprefix 输入路径,并授予 Amazon ML 在输出前缀上设置放置对象 ACL 的权限。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*" "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": "s3:PutObjectAcl", "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*", "Condition": { "StringEquals": { "s3:x-amz-acl":"bucket-owner-full-control" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": {"Service": "machinelearning.amazonaws.com"}, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::examplebucket", "Condition": { "StringLike": { "s3:prefix": "exampleprefix/*" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }] }

要将此策略应用到您的数据,您必须编辑与存储数据的 S3 存储桶关联的策略语句。

为 S3 存储桶编辑权限策略(使用旧控制台)
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 选择数据所在的存储桶的名称。

  3. 请选择属性

  4. 选择编辑存储桶策略

  5. 如上所示输入策略,进行自定义以符合您的需求,然后选择保存

  6. 选择保存

为 S3 存储桶编辑权限策略(使用新控制台)
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 选择存储桶名称,然后选择权限

  3. 请选择桶策略

  4. 如上所示输入策略,进行自定义以符合您的需求。

  5. 选择保存