

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation d'OpenID
<a name="create-index-access-control-tokens-openid"></a>

Pour configurer un Amazon Kendra index afin d'utiliser un jeton OpenID pour le contrôle d'accès, vous avez besoin de l'URL JWKS (JSON Web Key Set) du fournisseur OpenID. Dans la plupart des cas, l'URL JWKS est au format suivant (s'ils suivent la découverte d'OpenID). `https://domain-name/.well_known/jwks.json` 

Les exemples suivants montrent comment utiliser un jeton OpenID pour le contrôle d'accès des utilisateurs lorsque vous créez un index.

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

1. Choisissez **Create index** pour commencer à créer un nouvel index.

1. Sur la page **Spécifier les détails** de l'index, donnez un nom et une description à votre index. 

1. Pour **IAM le rôle**, sélectionnez un rôle ou sélectionnez **Créer un nouveau rôle** pour et spécifiez un nom de rôle pour créer un nouveau rôle. Le rôle IAM aura le préfixe « AmazonKendra - ». 

1. Conservez les valeurs par défaut de tous les autres champs. Choisissez **Suivant**.

1. Sur la page **Configurer le contrôle d'accès utilisateur**, sous **Paramètres de contrôle d'accès**, choisissez **Oui** pour utiliser des jetons pour le contrôle d'accès. 

1. Sous **Configuration du jeton**, sélectionnez **OpenID comme type** de **jeton**. 

1. Spécifiez une **URL de clé de signature**. L'URL doit pointer vers un ensemble de clés Web JSON. 

1. *Facultatif* sous **Configuration avancée** : 

   1. Spécifiez un **nom d'utilisateur** à utiliser lors de la vérification de l'ACL. 

   1. Spécifiez un ou plusieurs **groupes** à utiliser lors de la vérification de l'ACL. 

   1. Spécifiez l'**émetteur** qui validera l'émetteur du jeton. 

   1. Spécifiez le (s) **identifiant (s) client (s)**. Vous devez spécifier une expression régulière correspondant à l'audience du JWT.

1. Sur la page des **détails du provisionnement**, choisissez **Developer Edition**.

1. Choisissez **Créer** pour créer votre index.

1. Attendez que votre index soit créé. Amazon Kendra fournit le matériel nécessaire à votre index. Cette opération peut prendre un certain temps.

------
#### [ CLI ]

Pour créer un index à l' AWS CLI aide d'un fichier d'entrée JSON, créez d'abord un fichier JSON avec les paramètres souhaités :

```
{
    "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"
}
```

Vous pouvez remplacer les noms de champs d'utilisateur et de groupe par défaut. La valeur par défaut pour `UserNameAttributeField` est « user ». La valeur par défaut pour `GroupAttributeField` est « groups ». 

Ensuite, appelez `create-index` en utilisant le fichier d'entrée. Par exemple, si le nom de votre fichier JSON est`create-index-openid.json`, vous pouvez utiliser ce qui suit : 

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

------