

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 de JSON
<a name="create-index-access-control-tokens-json"></a>

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

**Avertissement**  
Le jeton JSON est une charge utile non validée. Cela ne doit être utilisé que lorsque les demandes Amazon Kendra proviennent d'un serveur fiable et jamais d'un navigateur. 

------
#### [ 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 IAM rôle 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 **JSON** comme **type de jeton**. 

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. Choisissez **Suivant**.

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": [
        {
            "JsonTokenTypeConfiguration": {
                "UserNameAttributeField": "user",
                "GroupAttributeField": "group"
            }
        }
    ],
    "UserContextPolicy": "USER_TOKEN"
}
```

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

Si vous n'utilisez pas Open ID pour AWS IAM Identity Center, vous pouvez nous envoyer le jeton au format JSON. Dans ce cas, vous devez spécifier quel champ du jeton JSON contient le nom d'utilisateur et quel champ contient les groupes. Les valeurs des champs de groupe doivent être un tableau de chaînes JSON. Par exemple, si vous utilisez le protocole SAML, votre jeton sera similaire au suivant :

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

Cela `TokenConfiguration` indiquerait le nom d'utilisateur et les noms des champs de groupe :

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

------