为 Amazon ML 授予从 Amazon S3 读取您的数据的权限 - Amazon Machine Learning

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

为 Amazon ML 授予从 Amazon S3 读取您的数据的权限

要在 Amazon S3 中使用您的输入数据创建数据源对象,您必须在存储输入数据的 S3 位置为 Amazon ML 授予以下权限:

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

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

如果您使用 Amazon ML 控制台创建数据源,这些权限可添加到您的存储桶。系统将提示您确认是否要添加这些权限以完成向导中的步骤。以下策略示例介绍了如何为 Amazon ML 授予从示例位置 s3://examplebucket/exampleprefix 读取数据的权限,而将 ListBucket 权限的范围限定为只限 exampleprefix 输入路径。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com" }, "Action": "s3:GetObject", "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: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. 选择保存