

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

# 使用 Amazon S3 对象的 IAM 政策 DataBrew
<a name="iam-policy-to-use-s3-for-data-resource-role"></a>

`AwsGlueDataBrewSpecificS3BucketPolicy` 策略授予代表非管理员用户访问 S3 所需的权限。

按如下方式自定义策略：

1. 替换策略中的 Amazon S3 路径，使其指向您要使用的路径。在样本文本中，*`BUCKET-NAME-1/SPECIFIC-OBJECT-NAME`* 表示特定对象或文件。*`BUCKET-NAME-2/`* 表示路径名称以 `BUCKET-NAME-2/` 开头的所有对象（`*`）。更新它们以命名您正在使用的存储桶。

1. （可选）在 Amazon S3 路径中使用通配符进一步限制权限。有关更多信息，请参阅 *IAM 用户指南* 中的 [IAM 策略元素：变量和标签](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_variables.html)。

    **安全最佳实践**：为防止未经授权访问其他 Amazon 账户中具有相似名称的 Amazon S3 存储桶，请在您的策略中包含`aws:ResourceAccount`条件密钥。这样 DataBrew 可以确保即使使用通配符资源也只能访问您自己 Amazon 账户中的存储桶。 ARNs将以下条件添加到您的策略语句中：

   ```
   "Condition": {
   "StringEquals": {
   "aws:ResourceAccount": "123456789012"
   }
   }
   ```

    `123456789012`用您的实际 Amazon 账户 ID 替换。

   作为执行此操作的一部分，您可以限制操作 `s3:PutObject` 和 `s3:PutBucketCORS` 的权限。只有创建 DataBrew 项目的用户才需要这些操作，因为这些用户需要能够将输出文件发送到 S3。

要了解更多信息并查看您可以向 Amazon S3 的 IAM 策略添加哪些内容的一些示例，请参阅《Amazon S3 开发人员指南》**中的[存储桶策略示例](https://docs.amazonaws.cn/AmazonS3/latest/userguide/example-bucket-policies.html)。

下表描述了此策略授予的权限。


|  **Action**  |  **资源**  |  **描述**  | 
| --- | --- | --- | 
|   `"s3:GetObject"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   |  允许您预览文件。  | 
|   `"s3:PutObject"`   `"s3:PutBucketCORS"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   |  允许将输出文件发送到 S3。  | 
|   `"s3:DeleteObject"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   | 允许删除对象。 | <a name="AwsGlueDataBrewSpecificS3BucketPolicy-console-steps"></a>

**为 DataBrew （控制台）定义 AwsGlueDataBrewSpecific S3 BucketPolicy IAM 策略**

1. 下载 [samples/AwsGlueDataBrewSpecificS3BucketPolicy.json.zip](samples/AwsGlueDataBrewSpecificS3BucketPolicy.json.zip) IAM 策略对应的 JSON。

1. 登录 Amazon Web Services 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.amazonaws.cn/iam/)。

1. 在导航窗格中，选择**策略**。

1. 对于每个策略，选择**创建策略**。

1. 在**创建策略**屏幕上，导航到 **JSON** 选项卡。

1. 在编辑器中将策略 JSON 语句粘贴到样本语句上。

1. 确认该政策是根据您的账户、安全要求和所需 Amazon 资源定制的。如果需要进行更改，您可以在编辑器中进行更改。

1. 选择**查看策略**。<a name="AwsGlueDataBrewSpecificS3BucketPolicy-cli-steps"></a>

**为 DataBrew (Amazon CLI) 定义 AwsGlueDataBrewSpecific S3 BucketPolicy IAM 策略**

1. 下载 [samples/AwsGlueDataBrewSpecificS3BucketPolicy.json.zip](samples/AwsGlueDataBrewSpecificS3BucketPolicy.json.zip) 对应的 JSON。

1. 如前面过程中的第一步所述自定义策略。

1. 运行以下命令以创建策略。

   ```
   aws iam create-policy --policy-name AwsGlueDataBrewSpecificS3BucketPolicy --policy-document file://iam-policy-AwsGlueDataBrewSpecificS3BucketPolicy.json
   ```