本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為非同步操作設定 Amazon Textract
下列程序說明如何將 Amazon Textract 設定為與 Amazon Simple Notification Service (Amazon SNS) 主題和 Amazon Simple Queue Service (Amazon SQS) 佇列搭配使用。
注意
如果您使用這些指示來設定偵測或分析多頁文件中的文字範例,則不需要執行步驟 3 – 6。此範例包括用於建立並設定 Amazon SNS 主題和 Amazon SQS 佇列的程式碼。
設定 Amazon Textract
-
設定 AWS 帳戶以存取 Amazon Textract。如需詳細資訊,請參閱步驟 1:設定 AWS 帳戶並建立使用者。
確定使用者至少具有下列許可:
-
AmazonTextractFullAccess
-
AmazonS3ReadOnlyAccess
-
AmazonSNSFullAccess
-
AmazonSQSFullAccess
此外,請確保使用者具有將 IAM 角色傳遞至 Amazon Textract 的許可。這是透過 IAM PassRole 政策來完成。這類政策的簡單範例如下:
-
-
安裝和設定所需的 AWS SDK。如需詳細資訊,請參閱步驟 2:設定 AWS CLI 和 AWS SDKs。
-
建立 Amazon SNS 標準主題。在主題名稱前面加上 AmazonTextract。請記下主題的 Amazon Resource Name (ARN)。請確定主題與您搭配 AWS 帳戶使用的 AWS 端點位於相同的區域。
-
使用 Amazon SQS 主控台
來建立 Amazon SQS 佇列。記下佇列 ARN。 -
建立 IAM 服務角色,讓 Amazon Textract 存取您的 Amazon SNS 主題。記下服務角色的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱讓 Amazon Textract 存取您的 Amazon SNS 主題。
-
將下列內嵌政策新增至您在步驟 1 中建立的 IAM 使用者。
為內嵌政策命名。
-
您現在可以在 中執行範例偵測或分析多頁文件中的文字。
讓 Amazon Textract 存取您的 Amazon SNS 主題
Amazon Textract 需要許可,才能在非同步操作完成時傳送訊息到您的 Amazon SNS 主題。您可以使用 IAM 服務角色,讓 Amazon Textract 存取 Amazon SNS 主題。
建立 Amazon SNS 主題時,您必須在主題名稱前面加上 AmazonTextract,例如 AmazonTextractMyTopicName。
-
登入 IAM 主控台 (https://console.aws.amazon.com/iam
)。 -
在導覽窗格中,選擇 Roles (角色)。
-
選擇 Create Role (建立角色)。
-
對於 Select type of trusted entity (選取信任的實體類型),選擇 AWS service (AWS 服務)。
-
針對選擇將使用此角色的服務,選擇 Textract。
-
選擇下一步:許可。
-
確認 AmazonTextractServiceRole 政策已包含在連接的政策清單中。若要在清單中顯示政策,請在篩選政策中輸入部分政策名稱。
-
選擇下一步:標籤。
-
您不需要新增標籤,所以請選擇 Next: Review (下一步:檢閱)。
-
在 Review (檢閱) 區段中,針對 Role name (角色名稱),輸入角色的名稱 (例如,
TextractRole)。在角色描述中,更新角色的描述,然後選擇建立角色。 -
選擇新角色來開啟角色的詳細資訊頁面。
-
在 Summary (摘要) 中,複製 Role ARN (角色 ARN) 值,並將其儲存。
-
選擇 Trust relationships (信任關係)。
-
選擇編輯信任關係,然後編輯信任政策。請確定您的信任政策包含限制許可範圍為所需資源的條件,因為這有助於防止混淆代理人問題。如需此潛在安全問題的詳細資訊,請參閱 預防跨服務混淆代理人。在下面的範例中,將
紅色文字取代為您的帳戶 AWS ID。 -
選擇 Update Trust Policy (更新信任政策)。
輸出組態的許可
您可以使用非同步 API 操作OutputConfig的功能,讓 Amazon Textract 將非同步分析操作的結果傳送至指定的 Amazon S3 儲存貯體。如果您使用 OutputConfig選項進行非同步分析操作,以自訂傳送操作輸出的位置,則需要額外的組態。您必須讓 Amazon Textract 解密您的上傳,並提供特定 Amazon S3 操作的許可。
允許解密 S3 儲存貯體上傳
-
您需要為適當的使用者提供正確的 Amazon S3 許可。
導覽至 https://console.aws.amazon.com/iam/
的使用者區段,然後選取您在上述設定 Amazon Textract 區段的步驟 1 中建立的使用者。選擇「新增內嵌政策」到您的使用者,並連接包含 s3:GetObject、 和s3:PutObject、s3:ListBucketMultipartUploads、 和s3:AbortMultipartUpload操作的 JSONs3:ListMultipartUploadParts政策。您的 JSON 可能如下所示:
提供 AWS KMS 金鑰許可
-
您必須將許可新增至您的 AWS Key Management Service 金鑰,以允許您的服務角色解密您的上傳。服務角色將需要
kms:GenerateDataKey和kms:Decrypt動作的許可。請確定您在設定 Amazon Textract 區段中的步驟 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": "*" }