

我们不再更新 Amazon Machine Learning 服务，也不再接受新用户使用该服务。本文档可供现有用户使用，但我们不会再对其进行更新。有关更多信息，请参阅[什么是 Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)。

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

# 向 Amazon ML 授予将预测输出到 Amazon S3 的权限
<a name="granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3"></a>

 要将批量预测操作的结果输出到 Amazon S3，您必须向 Amazon ML 授予输出位置的以下权限，该位置是作为“创建批量预测”操作的输入提供的：
+  **GetObject**对您的 S3 存储桶和前缀的权限。
+  **PutObject**对您的 S3 存储桶和前缀的权限。
+  **PutObjectAcl**在你的 S3 存储桶和前缀上。
  +  Amazon ML 需要此权限才能确保在创建对象后能够向您的 AWS 账户授予预装 [ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) bucket-owner-full-control 权限。
+  **ListBucket**对 S3 存储桶的权限。与其他操作不同，**ListBucket**必须授予存储桶范围的权限（而不是前缀）。不过，您可以使用 **Condition** 子句限定特定前缀的权限范围。

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

 以下示例策略说明如何授予 Amazon ML 向示例位置 s3://examplebucket/exampleprefix 写入数据的权限，同时将**ListBucket**权限范围限定为 exampleprefix 输入路径，以及如何授予 Amazon ML 在输出前缀 ACLs 上设置 put 对象的权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-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": {
                    "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 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

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

1. 选择**属性**。

1. 选择**编辑存储桶策略**。

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

1. 选择**保存**。



**为 S3 存储桶编辑权限策略（使用新控制台）**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择存储桶名称，然后选择**权限**。

1. 请选择**存储桶策略**。

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

1. 选择**保存**。