第 2 步:(仅限 CLI)为 Amazon Comprehend 创建一个 IAM 角色 - Amazon Comprehend

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

第 2 步:(仅限 CLI)为 Amazon Comprehend 创建一个 IAM 角色

仅当您使用AWS Command Line Interface(AWS CLI),完成本教程。如果您正在使用 Amazon Comprehend 控制台运行分析作业,请跳至第 3 步:在 Amazon S3 中的文档上运行分析作业.

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

有关将 IAM 与 Amazon Comprehend 结合使用的更多信息,请参阅管理对 Amazon Comprehend 资源的访问权限概述将基于身份的策略(IAM 策略)用于 Amazon Comprehend中的Amazon Comprehend.

先决条件

开始之前,请执行以下操作:

创建 IAM 角色

要访问您的Amazon S3) 存储桶,Amazon Comprehend (Amazon S3) 存储桶的子位置类型AWS Identity and Access Management(IAM) 角色。IAM 角色将 Amazon Comprehend 声明为可信实体。在 Amazon Comprehend 担任该角色并成为可信实体后,您可以向 Amazon Comprehend 授予存储桶访问权限。在此步骤中,您将创建一个将 Amazon Comprehend 标记为可信实体的角色。您可以使用AWS CLI或亚马逊 Comprehend 控制台。要使用控制台,请跳至第 3 步:在 Amazon S3 中的文档上运行分析作业.

Amazon Comprehend 控制台允许您选择角色名称包含 “Comprehend” 且信任策略包含comprehend.amazonaws.com. 如果您希望控制台显示由 CLI 创建的角色,请配置这些角色以满足这些条件。

要为 Amazon Comprehend (AWS CLI) 创建一个 IAM 角色

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 要创建 IAM 角色,请运行以下子位置类型AWS CLI命令。该命令可创建一个名为的 IAM 角色AmazonComprehendServiceRole-access-role并将信任策略附加到角色。Replacepath/包含本地计算机的 JSON 文档路径。

    aws iam create-role --role-name AmazonComprehendServiceRole-access-role --assume-role-policy-document file://path/comprehend-trust-policy.json
    提示

    如果你得到一个解析参数时出错消息,您的 JSON 信任策略文件的路径可能不正确。根据您的主目录提供文件的相对路径。

  3. 复制 Amazon 资源名称 (ARN) 并将其保存在文本编辑器中。ARN 的格式如下所示arn:aws:iam::123456789012:role/AmazonComprehendServiceRole-access-role. 您需要此 ARN 才能运行Amazon Comprehend 分析任务。

将 IAM 策略附加到 IAM 角色

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

创建 IAM 策略 (AWS CLI)

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

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Effect": "Allow" }, { "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Effect": "Allow" } ] }
  2. 要创建 S3 存储桶访问策略,请运行以下命令AWS CLI命令。Replacepath/包含本地计算机的 JSON 文档路径。

    aws iam create-policy --policy-name comprehend-access-policy --policy-document file://path/comprehend-access-policy.json
  3. 复制访问策略 ARN 并将其保存在文本编辑器中。ARN 的格式如下所示arn:aws:iam::123456789012:policy/comprehend-access-policy. 您需要此 ARN 才能将访问策略附加到您的 IAM 角色。

将 IAM 策略附加到 IAM 角色 (AWS CLI)

  • 运行以下命令。Replacepolicy-arn使用您在上一步中复制的访问策略 ARN。

    aws iam attach-role-policy --policy-arn policy-arn --role-name AmazonComprehendServiceRole-access-role

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