

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

# 步骤 2：（仅限 CLI）为 Amazon Comprehend 创建 IAM 角色
<a name="tutorial-reviews-create-role"></a>

只有在使用 AWS Command Line Interface (AWS CLI) 完成本教程时，才需要执行此步骤。如果您正在使用 Amazon Comprehend 控制台运行分析任务，请跳至 [步骤 3：在 Amazon S3 中对文档运行分析任务](tutorial-reviews-analysis.md)。

要运行分析任务，Amazon Comprehend 需要访问包含示例数据集并包含任务输出的 Amazon S3 存储桶。IAM 角色允许您控制 AWS 服务或用户的权限。在此步骤中，您会为 Amazon Comprehend 创建一个 IAM 角色。然后，您可以创建一项基于资源的策略并将其附加到该角色，该策略授予 Amazon Comprehend 访问您的 S3 存储桶的权限。在此步骤结束时，Amazon Comprehend 将拥有访问您的输入数据、存储输出以及运行情绪和实体分析任务的必要权限。

有关将 IAM 与 Amazon Comprehend 搭配使用的更多信息，请参阅 [Amazon Comprehend 如何与 IAM 配合使用](security_iam_service-with-iam.md)。

**Topics**
+ [先决条件](#tutorial-reviews-create-role-prereqs)
+ [创建一个 IAM 角色](#tutorial-reviews-create-role-trust-policy)
+ [将 IAM policy 附加到 IAM 角色](#tutorial-reviews-create-role-policy)

## 先决条件
<a name="tutorial-reviews-create-role-prereqs"></a>

开始之前，请执行以下操作：
+ 完成 [步骤 1：向 Amazon S3 添加文档](tutorial-reviews-add-docs.md)。
+ 使用代码或文本编辑器来保存 JSON 策略并跟踪您的 Amazon 资源名称 (ARNs)。

## 创建一个 IAM 角色
<a name="tutorial-reviews-create-role-trust-policy"></a>

要访问您的亚马逊简单存储服务 (Amazon S3) 存储桶，Amazon Comprehend 需要担任 (IAM) 角色。 AWS Identity and Access Management IAM 角色声明 Amazon Comprehend 为可信实体。在 Amazon Comprehend 担任该角色并成为可信实体后，您可以向 Amazon Comprehend 授予存储桶访问权限。在此步骤中，您需要创建一个角色，将 Amazon Comprehend 标记为可信实体。您可以使用 AWS CLI 或 Amazon Comprehend 控制台创建角色。要使用控制台，请跳至 [步骤 3：在 Amazon S3 中对文档运行分析任务](tutorial-reviews-analysis.md)。

Amazon Comprehend 控制台允许您选择角色名称包含“Comprehend”且信任策略包含 **comprehend.amazonaws.com** 的角色。如果您希望控制台显示您的 CLI 创建的角色，请将其配置为符合这些标准。



**为亚马逊 Comp AWS rehend (CLI) 创建 IAM 角色**

1. 在计算机上的代码或文本编辑器中，将以下信任策略保存为名为 `comprehend-trust-policy.json` 的 JSON 文档。该信任策略宣布 Amazon Comprehend 为可信实体，并允许其担任 IAM 角色。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "comprehend.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 要创建 IAM 角色，请运行以下 AWS CLI 命令。该命令会创建名为 `AmazonComprehendServiceRole-access-role` 的 IAM 角色并将信任策略附加到该角色。将 `{{path/}}` 替换为本地计算机的 JSON 文档路径。

   ```
   aws iam create-role --role-name AmazonComprehendServiceRole-access-role
   --assume-role-policy-document file://{{path/}}comprehend-trust-policy.json
   ```
**提示**  
如果您收到解析参数时出错消息，则说明您的 JSON 信任策略文件的路径可能不正确。根据您的主目录提供文件的相对路径。

1. 复制 Amazon 资源名称（ARN) 并将其保存在文本编辑器中。ARN 具有类似于 `{{arn:aws:iam::123456789012:role/AmazonComprehendServiceRole-access-role}}` 的格式。您需要这个 ARN 才能运行 Amazon Comprehend 分析任务。

## 将 IAM policy 附加到 IAM 角色
<a name="tutorial-reviews-create-role-policy"></a>

要访问您的 Amazon S3 存储桶，Amazon Comprehend 需要列出、读取和写入权限。要向 Amazon Comprehend 授予所需的权限，请创建一个 IAM policy 并将其附加到您的 IAM 角色。IAM policy 允许 Amazon Comprehend 从您的存储桶中检索输入数据并将分析结果写入存储桶。创建策略后，将其附加到 IAM 角色。

**创建 IAM policy (AWS CLI)**

1. 在本地将以下策略另存为名为 `comprehend-access-policy.json` 的 JSON 文档。它会向 Amazon Comprehend 授予对指定 S3 存储桶的访问权限。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ],
               "Effect": "Allow"
           },
           {
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ],
               "Effect": "Allow"
           },
           {
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. 要创建 S3 存储桶访问策略，请运行以下 AWS CLI 命令。将 `{{path/}}` 替换为本地计算机的 JSON 文档路径。

   ```
   aws iam create-policy --policy-name comprehend-access-policy
   --policy-document file://{{path/}}comprehend-access-policy.json
   ```

1. 复制访问策略 ARN 并将其保存在文本编辑器中。ARN 具有类似于 `{{arn:aws:iam::123456789012:policy/comprehend-access-policy}}` 的格式。您需要此 ARN 将访问策略附加到您的 IAM 角色。

**将 IAM policy 附加到您的 IAM 角色 (AWS CLI)**
+ 运行如下命令。将 `{{policy-arn}}` 替换为您在上一步中复制的访问策略 ARN。

  ```
  aws iam attach-role-policy --policy-arn {{policy-arn}}
  --role-name AmazonComprehendServiceRole-access-role
  ```

现在，您有一个名为 `AmazonComprehendServiceRole-access-role` 的 IAM 角色，该角色具有 Amazon Comprehend 的信任策略和授予 Amazon Comprehend 访问您的 S3 存储桶的访问权限的访问策略。您还可以将 IAM 角色的 ARN 复制到文本编辑器中。