ステップ 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 連携の仕組み」を参照ください。

前提条件

開始する前に、以下を実行します。

IAM ロールを作成する

Amazon Simple Storage Service (Amazon S3) バケットにアクセスするには、Amazon Comprehend が AWS Identity and Access Management (IAM) ロールを引き受ける必要があります。IAM ロールは Amazon Comprehend を信頼できるエンティティとして宣言します。Amazon Comprehend がロールを引き受けて信頼できるエンティティになると、Amazon Comprehend にバケットアクセス権限を付与できます。このステップでは、Amazon Comprehend を信頼できるエンティティとしてラベル付けするロールを作成します。ロールは、 AWS CLI または Amazon Comprehend コンソールを使用して作成できます。コンソールを使用するには、「ステップ 3: Amazon S3 上のドキュメントに対する分析ジョブの実行」にスキップしてください。

Amazon Comprehend コンソールでは、ロール名に「Comprehend」が含まれ、信頼ポリシーに comprehend.amazonaws.com が含まれるロールを選択できます。コンソールにロールを表示させたい場合は、これらの基準を満たすように CLI で作成したロールを設定します。 

Amazon Comprehend の IAM ロールを作成するには (AWS CLI)
  1. コンピュータ上のコードまたはテキストエディタで、次の信頼ポリシーを comprehend-trust-policy.json という JSON ファイルとして保存します。この信頼ポリシーは、Amazon Comprehend を信頼できるエンティティとして宣言し、IAM ロールを引き受けることを許可します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 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 信頼ポリシーファイルへのパスが間違っている可能性があります。ホームディレクトリに基づいて、ファイルの相対パスを指定します。

  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. 以下のポリシーを comprehend-access-policy.json という名前の 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 コマンドを実行します。path/ をローカルコンピュータの 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) にアタッチするには
  • 以下のコマンドを実行します。policy-arn を、前のステップでコピーしたアクセスポリシー ARN に置き換えます。

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

これで、Amazon Comprehend の信頼ポリシーと Amazon Comprehend に S3 バケットへのアクセスを付与するアクセスポリシーを含む、AmazonComprehendServiceRole-access-role という名前の IAM ロールができました。また、IAM ロールの ARN がテキストエディタにコピーされました。