

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

# 使用加密的 IAM 政策 DataBrew
<a name="iam-policy-to-use-kms-encrypted-s3-for-data-resource-role"></a>

该`AwsGlueDataBrewS3EncryptedPolicy`策略授予代表非管理员用户访问用 AWS Key Management Service (AWS KMS) 加密的 S3 对象所需的权限。

按如下方式自定义策略：

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

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

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

   要了解更多信息并查看您可以向 Amazon S3 的 IAM 策略添加哪些内容的一些示例，请参阅[存储桶策略示例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)。

1. 在`ToUseKms`文件 ARNs 中找到以下资源。

   ```
     "arn:aws:kms:AWS-REGION-NAME:AWS-ACCOUNT-ID-WITHOUT-DASHES:key/KEY-IDS",
   "arn:aws:kms:AWS-REGION-NAME:AWS-ACCOUNT-ID-WITHOUT-DASHES:key/KEY-IDS"
   ```

1. 将示例 AWS 账户更改为您的 AWS 账号（不含连字符）。

1. 更改示例列表，以便改为列出您要使用的 IAM 角色。建议您将 IAM 策略的范围限定到尽可能小的权限集。但是，您可以允许用户访问所有 IAM 角色，例如，如果您使用的是包含样本数据的个人学习账户。要允许列表访问所有 IAM 角色，请将样本列表更改为一个条目：`"arn:aws:iam::111122223333:role/*"`。

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


|  **Action**  |  **资源**  |  **描述**  | 
| --- | --- | --- | 
|   `"s3:GetObject"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   |  允许您预览文件。  | 
|   `"s3:ListBucket"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   | 允许从项目、数据集和作业列出 Amazon S3 存储桶。 | 
|   `"s3:PutObject"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   |  允许将输出文件发送到 S3。  | 
|   `"s3:DeleteObject"`   |   `"arn:aws:s3:::bucket_name/*", "arn:aws:s3:::bucket_name"`   | 允许删除由创建的对象 DataBrew。 | 
|  "kms:Decrypt"  |   `"arn:aws:kms:::key/key_ids"`   | 允许对加密的数据集进行解密。 | 
|   `"kms:GenerateDataKey*"`   |   `"arn:aws:kms:::key/key_ids"`   |  允许对作业输出进行加密。  | <a name="AwsGlueDataBrewS3EncryptedPolicy-console-steps"></a>

**为 DataBrew （控制台）定义 AwsGlueDataBrew S3 EncryptedPolicy IAM 策略**

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

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

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

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

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

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

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

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

**为 DataBrew (AWS CLI) 定义 AwsGlueDataBrew S3 EncryptedPolicy IAM 策略**

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

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

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

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