

Amazon Kendra は、2026 年 7 月 30 日以降、新規のお客様に公開されなくなります。サービスを使用する場合は、7 月 30 日までにサインアップしてください。同様の機能については Amazon Kendra、Amazon Bedrock ナレッジベースを参照してください。[詳細はこちら](https://docs.aws.amazon.com/kendra/latest/dg/kendra-availability-change.html)。

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

# OpenID の使用
<a name="create-index-access-control-tokens-openid"></a>

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

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

------
#### [ Console ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. インデックスが作成されるまで待ちます。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'
)
```

------