

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à.

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

Per configurare un Amazon Kendra indice per utilizzare un token OpenID per il controllo degli accessi, è necessario l'URL JWKS (JSON Web Key Set) del provider OpenID. Nella maggior parte dei casi l'URL JWKS ha il seguente formato (se segue OpenID Discovery). `https://domain-name/.well_known/jwks.json` 

Gli esempi seguenti mostrano come utilizzare un token OpenID per il controllo dell'accesso degli utenti quando si crea un indice.

------
#### [ 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 ruolo IAM 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**, selezionate **OpenID come tipo** di **token**. 

1. Specificate l'**URL di una chiave di firma**. L'URL deve puntare a un set di chiavi Web JSON. 

1. *Facoltativo* In **Configurazione avanzata**: 

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

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

   1. Specificare l'**emittente** che convaliderà l'emittente del token. 

   1. Specificare gli **ID client**. È necessario specificare un'espressione regolare che corrisponda al pubblico nel JWT.

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

È possibile sovrascrivere i nomi dei campi utente e gruppo predefiniti. Il valore predefinito per `UserNameAttributeField` è «user». Il valore predefinito per `GroupAttributeField` è «groups». 

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

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

------