JSON の使用 - Amazon Kendra

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

JSON の使用

次の例は、インデックスを作成するときに JSON を使用してユーザーアクセス制御を行う方法を示しています。

警告

JSON トークンは検証されていないペイロードです。これは、 Amazon Kendra へのリクエストが信頼できるサーバーから送信され、ブラウザからのリクエストではない場合にのみ使用してください。

Console
  1. [Create index] (インデックスの作成) を選択して、新しいインデックスの作成を開始します。

  2. [Specify index details] (インデックスの詳細の指定) ページで、インデックスに名前と説明を付けます。

  3. [IAM ロール] には、[ロール] を選択するか、または [新規ロールを作成] を選択し、新しいロールを作成してロール名を指定します。 IAM ロールには「AmazonKendra-」というプレフィックスが付きます。

  4. その他のフィールドはすべてデフォルトのままにしておきます。[次へ] を選択します。

  5. [Configure user access control] (ユーザーアクセスコントロールの設定) ページの、[Access control settings] (アクセスコントロールの設定) で、[Yes] (はい) を選択し、アクセス制御にトークンを使用します。

  6. [Token configuration] (トークンの設定) で、[Token type] (トークンタイプ) は [JSON] を選択します。

  7. [ユーザー名] を指定して ACL チェックで使用します。

  8. 1 つ以上の [Groups] (グループ) を指定して、ACL チェックで使用します。

  9. [次へ] を選択します。

  10. [Provisioning details] (プロビジョニングの詳細) ページで、[Developer edition] (デベロッパーエディション) を選択します。

  11. [Create] (作成) を選択してインデックスを作成します。

  12. インデックスが作成されるまでお待ちください。 Amazon Kendra インデックスのハードウェアをプロビジョニングします。この演算には時間がかかる場合があります。

CLI

JSON AWS CLI 入力ファイルを使用してを使用してインデックスを作成するには、まず必要なパラメータを含む JSON ファイルを作成します。

{ "Name": "user-context", "Edition": "ENTERPRISE_EDITION", "RoleArn": "arn:aws:iam::account-id:role:/my-role", "UserTokenConfigurations": [ { "JsonTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group" } } ], "UserContextPolicy": "USER_TOKEN" }

次に、入力ファイルを使用して、create-index を呼び出します。例えば、JSON ファイルの名前が create-index-openid.json の場合、以下を使用できます。

aws kendra create-index --cli-input-json file://create-index-openid.json

Open ID for を使用していない場合は AWS IAM Identity Center、JSON 形式のトークンをお送りください。その場合は、JSON トークンのどのフィールドにユーザー名が含まれ、どのフィールドにグループが含まれているかを指定する必要があります。グループフィールドの値は JSON 文字列配列でなければなりません。例えば、SAML を使用している場合、トークンは次のようになります。

{ "username" : "user1", "groups": [ "group1", "group2" ] }

TokenConfiguration は、ユーザー名とグループフィールド名を指定します。

{ "UserNameAttributeField":"username", "GroupAttributeField":"groups" }
Python
response = kendra.create_index( Name='user-context', Edition='ENTERPRISE_EDITION', RoleArn='arn:aws:iam::account-id:role:/my-role', UserTokenConfigurations=[ { "JwtTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group", } } ], UserContextPolicy='USER_TOKEN' )