

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Para configurar un índice de Amazon Kendra para usar un token de OpenID para el control de acceso, necesita la URL JWKS (JSON Web Key Set) del proveedor de OpenID. En la mayoría de los casos, la URL JWKS tiene el siguiente formato (si sigue la detección de OpenID) `https://domain-name/.well_known/jwks.json`. 

Los siguientes ejemplos muestran cómo usar un token de OpenID para el control de acceso de los usuarios al crear un índice.

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

1. Elija **Crear índice** para empezar a crear un índice nuevo.

1. En la página **Especificar detalles de índice**, proporcione a su índice un nombre y una descripción. 

1. Para **el rol de IAM**, seleccione un rol o seleccione **Crear un nuevo rol** y especifique un nombre para crear un nuevo rol. El rol de IAM tendrá el prefijo “AmazonKendra-”. 

1. No cambie los demás valores predeterminados. Elija **Siguiente**.

1. En la página **Configurar el control de acceso de los usuarios**, en **Configuración de control de acceso**, seleccione **Sí** para utilizar los tokens para el control de acceso. 

1. En **Configuración de token**, seleccione **OpenID** como **Tipo de token**. 

1. Especifique una **URL de clave de firma**. La URL debe apuntar a un conjunto de claves web JSON. 

1. *Opcional* En **Configuración avanzada**: 

   1. Especifique un **Nombre de usuario** para usarlo en la verificación de la ACL. 

   1. Especifique uno o más **Grupos** para usarlos en la verificación de la ACL. 

   1. Especifique el **Emisor** que validará el emisor del token. 

   1. Especifique el o los **ID de cliente.** Debe especificar una expresión regular que coincida con el público del JWT.

1. En la página **Detalles de aprovisionamiento**, elija la **Edición para desarrolladores**.

1. Elija **Crear** para crear el índice.

1. Espere a que se cree el índice. Amazon Kendra aprovisiona el hardware para su índice. Esta operación puede llevar algún tiempo.

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

Para crear un índice con la AWS CLI utilizando un archivo de entrada JSON, cree primero un archivo JSON con los parámetros que desee:

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

Puede anular los nombres de campo de usuario y grupo predeterminados. El valor predeterminado de `UserNameAttributeField` es “user”. El valor predeterminado de `GroupAttributeField` es “groups”. 

A continuación, llame a `create-index` usando el archivo de entrada. Por ejemplo, si el nombre de su archivo JSON es `create-index-openid.json`, puede usar lo siguiente: 

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

------