

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di JSON
<a name="create-index-access-control-tokens-json"></a>

Gli esempi seguenti mostrano come utilizzare JSON per il controllo degli accessi degli utenti quando si crea un indice.

**avvertimento**  
Il token JSON è un payload non convalidato. Questo dovrebbe essere usato solo quando le richieste Amazon Kendra provengono da un server affidabile e mai da un browser. 

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

1. Scegli **Crea indice** per iniziare a creare un nuovo indice.

1. Nella pagina **Specificare i dettagli dell'**indice, assegna un nome e una descrizione all'indice. 

1. Per **IAM il ruolo**, seleziona un ruolo o seleziona **Crea un nuovo ruolo** e specifica un nome di ruolo per creare un nuovo ruolo. Il IAM ruolo avrà il prefisso "AmazonKendra-». 

1. Lascia tutti gli altri campi ai valori predefiniti. Scegli **Next (Successivo)**.

1. Nella pagina **Configura il controllo dell'accesso utente**, in **Impostazioni di controllo degli accessi**, scegli **Sì** per utilizzare i token per il controllo degli accessi. 

1. In **Configurazione token**, seleziona **JSON** come tipo di **token**. 

1. Specificate un **nome utente** da utilizzare nel controllo ACL.

1. Specificare uno o più **gruppi** da utilizzare nel controllo ACL.

1. Scegli **Next (Successivo)**.

1. Nella pagina dei **dettagli del provisioning**, scegli **Developer** edition.

1. Scegli **Crea** per creare il tuo indice.

1. Attendi la creazione dell'indice. Amazon Kendra fornisce l'hardware per l'indice. Questa operazione può richiedere del tempo.

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

Per creare un indice AWS CLI utilizzando un file di input JSON, create innanzitutto un file JSON con i parametri desiderati:

```
{
    "Name": "user-context",
    "Edition": "ENTERPRISE_EDITION",
    "RoleArn": "arn:aws:iam::account-id:role:/my-role",
    "UserTokenConfigurations": [
        {
            "JsonTokenTypeConfiguration": {
                "UserNameAttributeField": "user",
                "GroupAttributeField": "group"
            }
        }
    ],
    "UserContextPolicy": "USER_TOKEN"
}
```

Quindi, chiama `create-index` utilizzando il file di input. Ad esempio, se il nome del file JSON è`create-index-openid.json`, puoi utilizzare quanto segue: 

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

Se non utilizzi Open ID per AWS IAM Identity Center, puoi inviarci il token in formato JSON. In tal caso, è necessario specificare quale campo del token JSON contiene il nome utente e quale campo contiene i gruppi. I valori dei campi del gruppo devono essere un array di stringhe JSON. Ad esempio, se utilizzi SAML, il tuo token sarebbe simile al seguente:

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

`TokenConfiguration`Specificherebbe il nome utente e i nomi dei campi del gruppo:

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

------