View a markdown version of this page

非同期オペレーション用の Amazon Textract の設定 - Amazon Textract

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

非同期オペレーション用の Amazon Textract の設定

次の手順は、Amazon Simple Notification Service (Amazon SNS) トピックと Amazon Simple Queue Service (Amazon SQS) キューで使用するように Amazon Textract を設定する方法を示しています。

注記

これらの手順を使用してマルチページドキュメント内のテキストの検出または分析例を設定する場合は、ステップ 3~6 を実行する必要はありません。この例には、Amazon SNS トピックと Amazon SQS キューを作成して設定するコードが含まれています。

Amazon Textract を設定するには
  1. Amazon Textract にアクセスする AWS ようにアカウントを設定します。詳細については、「ステップ 1: AWS アカウントを設定してユーザーを作成する」を参照してください。

    ユーザーに少なくとも次のアクセス許可があることを確認します。

    • AmazonTextractFullAccess

    • AmazonS3ReadOnlyAccess

    • AmazonSNSFullAccess

    • AmazonSQSFullAccess

    さらに、ユーザーに Amazon Textract に IAM ロールを渡すアクセス許可があることを確認します。これは IAM PassRole ポリシーを通じて行われます。このようなポリシーの簡単な例を以下に示します。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": {"iam:PassedToService": "textract.amazonaws.com"} } } ] }
  2. 必要な AWS SDK をインストールして設定します。詳細については、「ステップ 2: AWS CLI と AWS SDKs」を参照してください。

  3. Amazon SNS 標準トピックを作成します。トピック名に AmazonTextract を付加します。その Amazon リソースネーム (ARN) をメモします。トピックが AWS アカウントで使用している AWS エンドポイントと同じリージョンにあることを確認します。

  4. [Amazon SQS コンソール] を使用して、[Amazon SQS スタンダードキュー] を作成します。キューの ARN を書き留めます。

  5. ステップ 3 で作成したトピックにキューをサブスクライブします。

  6. [Amazon SNS トピックに、Amazon SQS キューへメッセージを送信する許可を与えます]。

  7. Amazon SNS トピックへのアクセスを Amazon Textract に許可する IAM サービスロールを作成します。このサービスロールの Amazon リソースネーム (ARN) をメモします。詳細については、「Amazon Textract に Amazon SNS トピックへのアクセスを許可する」を参照してください。

  8. ステップ 1 で作成した IAM ユーザーに次のインラインポリシーを追加します

    インラインポリシーに名前を付けます。

  9. で例を実行できるようになりましたマルチページドキュメント内のテキストの検出または分析

Amazon Textract に Amazon SNS トピックへのアクセスを許可する

Amazon Textract には、非同期オペレーションが完了したときに Amazon SNS トピックにメッセージを送信するアクセス許可が必要です。IAM サービスロールを使用して、Amazon Textract に Amazon SNS トピックへのアクセスを許可します。

Amazon SNS トピックを作成するときは、トピック名の先頭に AmazonTextractなどを付ける必要がありますAmazonTextractMyTopicName

  1. IAM コンソール (https://console.aws.amazon.com/iam) にサインインします。

  2. ナビゲーションペインで Roles (ロール) を選択してください。

  3. [ロールの作成] を選択してください。

  4. [Select type of trusted entity (信頼されたエンティティのタイプの選択)] で、[AWS サービス] を選択します。

  5. このロールを使用するサービスを選択する でTextract を選択します。

  6. [Next: Permissions] (次のステップ: 許可) を選択します。

  7. AmazonTextractServiceRole ポリシーがアタッチされたポリシーのリストに含まれていることを確認します。リストにポリシーを表示するには、フィルタポリシーにポリシー名の一部を入力します。

  8. [Next: Tags] (次へ: タグ) を選択します。

  9. タグの作成は必要ないため、[次へ: 確認] を選択します。

  10. [確認] セクションの [ロール名] に、ロールの名前を入力します (例: TextractRole)。ロールの説明で、ロールの説明を更新し、ロールの作成を選択します。

  11. 新しいロールを選択して、ロールの詳細ページを開きます。

  12. [概要] で、[ロール ARN] の値をコピーして保存します。

  13. [信頼関係] を選択します。

  14. 信頼関係の編集 を選択し、信頼ポリシーを編集します。混乱した代理問題を防ぐのに役立つため、アクセス許可の範囲を必要なリソースのみに制限する条件が信頼ポリシーに含まれていることを確認してください。この潜在的なセキュリティ問題の詳細については、「」を参照してくださいサービス間の混乱した代理の防止。以下の例では、赤いテキストをアカウント ID に置き換えます AWS 。

    JSON
    { "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "textract.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn":"arn:aws:textract:*:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }
  15. 信頼ポリシーの更新 を選択します。

出力設定のアクセス許可

Amazon Textract は、非同期 API オペレーションOutputConfigの機能を使用して、非同期分析オペレーションの結果を指定された Amazon S3 バケットに送信できます。非同期分析オペレーションの OutputConfigオプションを使用して、オペレーションの出力の送信先をカスタマイズする場合は、追加の設定が必要です。Amazon Textract にアップロードを復号し、特定の Amazon S3 オペレーションに対するアクセス許可を付与する必要があります。

S3 バケットのアップロードの復号を許可するには
  • 適切なユーザーに適切な Amazon S3 アクセス許可を付与する必要があります。

    https://console.aws.amazon.com/iam/ の「ユーザー」セクションに移動し、上記の「Amazon Textract を設定する」セクションのステップ 1 で作成したユーザーを選択します。ユーザーに「インラインポリシーを追加する」を選択し、、s3:GetObject、、s3:PutObjects3:ListMultipartUploadParts、および s3:ListBucketMultipartUploadss3:AbortMultipartUploadオペレーションを含む JSON ポリシーをアタッチします。JSON は次のようになります。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*", "s3:PutObject", "s3:GetObject", "s3-object-lambda:Get*", "s3-object-lambda:List*", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload" ], "Resource": "*" } ] }
AWS KMS キーアクセス許可を指定するには
  • サービスロールがアップロードを復号できるようにするアクセス許可を AWS Key Management Service キーに追加する必要があります。サービスロールには、 kms:GenerateDataKey および kms:Decryptアクションのアクセス許可が必要です。「Amazon Textract を設定する」セクションのステップ 7 で作成したサービスロールに、次の例のようなアクセス許可ポリシーがあることを確認します。

    次の例では、 をサービスロールの ARN ARN from Step 7に置き換えます。

    { "Sid": "Decrypt only", "Effect": "Allow", "Principal": { "AWS": "ARN from Step 7" }, "Action": [ "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "*" }