OpenID の使用 - Amazon Kendra

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

OpenID の使用

アクセス制御に OpenID Amazon Kendra トークンを使用するようにインデックスを設定するには、OpenID プロバイダーの JWKS (JSON Web キーセット) URL が必要です。ほとんどの場合、JWKS URL は https://domain-name/.well_known/jwks.json の形式になります (OpenID ディスカバリに従っている場合)。

次の例は、インデックスの作成時にユーザーアクセスコントロールに OpenID トークンを使用する方法を示しています。

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] (トークンタイプ) は [OpenID] を選択します。

  7. [Signing key URL] (署名キー URL) を指定します。URL は JSON ウェブキーのセットを参照する必要があります。

  8. [Advanced configuration] (詳細設定) の [Optional] (オプション):

    1. [Username] (ユーザーネーム) を指定して ACL チェックで使用します。

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

    3. トークン発行者を検証する [Issuer] (発行者) を指定します。

    4. [Client Id(s)] (クライアント ID) を指定します。JWT のオーディエンスと一致する正規表現を指定する必要があります。

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

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

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

CLI

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

{ "Name": "user-context", "Edition": "ENTERPRISE_EDITION", "RoleArn": "arn:aws:iam::account-id:role:/my-role", "UserTokenConfigurations": [ { "JwtTokenTypeConfiguration": { "KeyLocation": "URL", "Issuer": "optional: specify the issuer url", "ClaimRegex": "optional: regex to validate claims in the token", "UserNameAttributeField": "optional: user", "GroupAttributeField": "optional: group", "URL": "https://example.com/.well-known/jwks.json" } } ], "UserContextPolicy": "USER_TOKEN" }

デフォルトのユーザーフィールド名とグループフィールド名を上書きできます。UserNameAttributeField のデフォルト値は「ユーザー」です。GroupAttributeField のデフォルト値は「グループ」です。

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

aws kendra create-index --cli-input-json file://create-index-openid.json
Python
response = kendra.create_index( Name='user-context', Edition='ENTERPRISE_EDITION', RoleArn='arn:aws:iam::account-id:role:/my-role', UserTokenConfigurations=[ { "JwtTokenTypeConfiguration": { "KeyLocation": "URL", "Issuer": "optional: specify the issuer url", "ClaimRegex": "optional: regex to validate claims in the token", "UserNameAttributeField": "optional: user", "GroupAttributeField": "optional: group", "URL": "https://example.com/.well-known/jwks.json" } } ], UserContextPolicy='USER_TOKEN' )