

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

# 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'
)
```

------