本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为异步操作配置 Amazon Textract
以下过程向您展示如何将 Amazon Textract 配置为与亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 主题和亚马逊简单队列服务 (Amazon SQS) 队列一起使用。
注意
如果您使用这些说明来设置检测或分析多页文档中的文本示例,则无需执行步骤 3 — 6。此示例包括用于创建和配置 Amazon SNS 主题和 Amazon SQS 队列的代码。
配置 Amazon Textract
-
设置 AWS 账户以访问亚马逊 Textract。有关更多信息,请参阅 第 1 步:设置 AWS 账户并创建用户。
确保用户至少具有以下权限:
-
AmazonTextractFullAccess
-
AmazonS3ReadOnlyAccess
-
AmazonSNSFullAccess
-
AmazonSQSFullAccess
此外,请确保用户有权将 IAM 角色传递给 Amazon Textract。这是通过 IAM PassRole 策略完成的。以下是此类政策的简单示例:
-
-
安装和配置所需的 AWS SDK。有关更多信息,请参阅 步骤 2:设置 AWS CLI and AWS 软件开发工具包。
-
创建 Amazon SNS 标准主题。在主题名称前面加上。AmazonTextract记下主题的 Amazon 资源名称 (ARN)。确保该主题与您在 AWS 账户中使用的 AWS 终端节点位于同一区域。
-
使用 Amazon SQS 控制台
创建 Amazon SQS 标准队列。记录队列 ARN。 -
为队列订阅主题(您在步骤 3 中创建)。
-
创建 IAM 服务角色以授予 Amazon Textract 访问您的亚马逊 SNS 主题的权限。记下服务角色的 Amazon 资源名称 (ARN)。有关更多信息,请参阅 让 Amazon Textract 访问你的亚马逊 SNS 话题。
-
将以下内联策略添加到您在步骤 1 中创建的 IAM 用户。
为内联策略命名。
-
现在,你可以在中运行这些示例检测或分析多页文档中的文本。
让 Amazon Textract 访问你的亚马逊 SNS 话题
异步操作完成后,Amazon Textract 需要获得向您的亚马逊 SNS 主题发送消息的权限。您可以使用 IAM 服务角色授予亚马逊 Textract 访问亚马逊 SNS 主题的权限。
创建 Amazon SNS 主题时,必须在主题名称前面加上,例如。AmazonTextract AmazonTextractMyTopicName
-
登录 IAM 控制台 (https://console.aws.amazon.com/iam
)。 -
在导航窗格中,选择角色。
-
选择创建角色。
-
对于选择受信任实体的类型,选择 Amazon Web Services。
-
在 “选择将使用此角色的服务” 中,选择 Textract。
-
选择下一步: 权限。
-
验证AmazonTextractServiceRole策略是否已包含在附加策略列表中。要在列表中显示策略,请在筛选策略中输入部分策略名称。
-
选择下一步:标签。
-
您无需添加标签,因此,请选择下一步: 审核。
-
在审核部分中,对于角色名称,键入角色的名称(例如,
TextractRole)。在角色描述中,更新角色的描述,然后选择创建角色。 -
选择新角色以打开角色的详细信息页面。
-
在摘要中,复制角色 ARN 值并保存它。
-
选择信任关系。
-
选择编辑信任关系,然后编辑信任策略。确保您的信任策略包含将权限范围限制为仅限所需资源的条件,因为这将有助于防止出现混乱的代理问题。有关此潜在安全问题的更多详细信息,请参阅Cross-service 困惑的副手预防。在以下示例中,将
red文本替换为您的 AWS 账户 ID。 -
选择更新信任策略。
输出配置权限
您可以使用异步 API 操作OutputConfig功能,让 Amazon Textract 将异步分析操作的结果发送到指定的 Amazon S3 存储桶。如果您使用异步分析操作的OutputConfig选项来自定义操作输出的发送位置,则需要进行其他配置。您必须让 Amazon Textract 解密您上传的内容,并为某些 Amazon S3 操作提供权限。
允许解密 S3 存储桶上传
-
您需要为相应的用户提供正确的 Amazon S3 权限。
导航到的 “用户” 部分,https://console.aws.amazon.com/iam/
然后选择您在上述 “配置 Amazon Textr act” 部分的步骤 1 中创建的用户。选择 “向您的用户添加内联策略”,并附加包含 s3:GetObject、、s3:PutObjects3:ListMultipartUploadPartss3:ListBucketMultipartUploads、和s3:AbortMultipartUpload操作的 JSON 策略。你的 JSON 可能如下所示:
要提供 AWS KMS 密钥权限
-
您必须向 AWS Key Management Service 密钥添加权限,以允许您的服务角色解密您上传的内容。服务角色需要权限才能执行
kms:GenerateDataKey和kms:Decrypt操作。确保您在配置 Amazon Textr act 部分的步骤 7 中创建的服务角色的权限策略与以下示例类似。在以下示例中,
ARN from Step 7使用您的服务角色的 ARN 替换:{ "Sid": "Decrypt only", "Effect": "Allow", "Principal": { "AWS": "ARN from Step 7" }, "Action": [ "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "*" }