

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Opciones para proporcionar credenciales de IAM
<a name="options-for-providing-iam-credentials"></a>

Para proporcionar credenciales de IAM para una conexión JDBC u ODBC, elija una de las siguientes opciones.
+ **AWS Perfil de** 

  Como alternativa a proporcionar valores de credenciales en forma de opciones de JDBC u ODBC, puede incluir los valores en un perfil con nombre. Para obtener más información, consulte [Uso de un perfil de configuración](#using-configuration-profile).
+ **Credenciales de IAM**

  Proporcione valores para AccessKeyID, SecretAccessKey y, opcionalmente, SessionToken en forma de opciones de JDBC u ODBC. SessionToken es obligatorio únicamente para un rol de IAM con credenciales temporales. Para obtener más información, consulte [Opciones de JDBC y ODBC para proporcionar credenciales de IAM](#jdbc-options-for-providing-iam-credentials).
+ **Federación de proveedores de identidades** 

  Cuando utilice la federación de proveedores de identidades para permitir que los usuarios de un proveedor de identidades se autentiquen en Amazon Redshift, especifique el nombre de un complemento del proveedor de credenciales. Para obtener más información, consulte [Complementos de proveedores de credenciales](#using-credentials-provider-plugin).

  Los controladores JDBC y ODBC de Amazon Redshift incluyen complementos para los siguientes proveedores de credenciales de identidad federada basados en SAML: 
  + Servicios de identidad federada de Microsoft Active (AD FS)
  + PingOne
  + Okta
  + Microsoft Azure Active Directory (Azure AD)

  Puede proporcionar el nombre del complemento y los valores relacionados en forma de opciones de JDBC u ODBC o mediante un perfil. Para obtener más información, consulte [Opciones de configuración del controlador JDBC versión 2.x](jdbc20-configuration-options.md). 

Para obtener más información, consulte [Paso 5: Configurar una conexión JDBC u ODBC para usar credenciales de IAM](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc).

## Uso de un perfil de configuración
<a name="using-configuration-profile"></a>

Puede proporcionar las opciones de credenciales de IAM y las opciones de `GetClusterCredentials` como configuraciones en perfiles con nombre en su archivo de configuración de AWS. Para proporcionar el nombre del perfil, utilice la opción Profile JDBC. La configuración se almacena en un archivo denominado `config` o en uno denominado `credentials` en la carpeta denominada `.aws` en su directorio principal.

Para un complemento de proveedor de credenciales basado en SAML incluido con un controlador JDBC u ODBC de Amazon Redshift, puede utilizar la configuración descrita anteriormente en [Complementos de proveedores de credenciales](#using-credentials-provider-plugin). Si no se utiliza `plugin_name`, se ignoran las demás opciones.

En el siguiente ejemplo, se muestra el archivo \$1/.aws/credentials con dos perfiles.

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
session_token=AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
```

Para usar las credenciales para el ejemplo `user2`, especifique `Profile=user2` en la URL de JDBC.

Para obtener más información sobre el uso de perfiles, consulte [Opciones de los archivos de configuración y credenciales](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) en la *Guía del usuario de AWS Command Line Interface*. 

Para obtener más información acerca del uso de perfiles para el controlador JDBC, consulte [Especificación de perfiles](jdbc20-configure-authentication-ssl.md#jdbc20-aws-credentials-profiles). 

Para obtener más información acerca del uso de perfiles para el controlador ODBC, consulte [Métodos de autenticación](odbc20-authentication-ssl.md). 

## Opciones de JDBC y ODBC para proporcionar credenciales de IAM
<a name="jdbc-options-for-providing-iam-credentials"></a>

En la tabla siguiente se indican las opciones de JDBC y ODBC para proporcionar credenciales de IAM.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

## Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos
<a name="jdbc-and-odbc-options-for-database-credentials"></a>

Para usar el controlador JDBC u ODBC de Amazon Redshift para crear credenciales de usuario de base de datos, proporcione el nombre de usuario de base de datos como una opción de JDBC u ODBC. Si lo desea, puede hacer que el controlador cree un nuevo usuario de base de datos si no existe ninguno y puede especificar una lista de grupos de usuarios de base de datos a los que se une el usuario cuando inicia sesión. 

Si usa un proveedor de identidad (IdP), póngase en contacto con el administrador de su IdP para determinar los valores correctos para estas opciones. El administrador de su IdP también puede configurar su IdP para proporcionar estas opciones, en cuyo caso no necesita proporcionarlas como opciones de JDBC u ODBC. Para obtener más información, consulte [Paso 2: Configurar aserciones SAML para su IdP](generating-iam-credentials-steps.md#configuring-saml-assertions). 

**nota**  
Si utiliza una variable de política de IAM `${redshift:DbUser}`, como se describe en [Políticas de recursos de GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-resources.getclustercredentials-resources), el valor de `DbUser` se sustituye por el valor obtenido por el contexto de la solicitud de la operación de la API. Los controladores de Amazon Redshift utilizan el valor de la variable `DbUser` proporcionado por la URL de conexión en lugar del valor proporcionado como atributo SAML.   
Para ayudar a proteger esta configuración, recomendamos que utilice una condición en una política de IAM para validar el valor de `DbUser` con el `RoleSessionName`. Puede encontrar ejemplos de cómo establecer una condición utilizando una política de IAM en [Ejemplo 8: Política de IAM para usar GetClusterCredentials](redshift-iam-access-control-identity-based.md#redshift-policy-examples-getclustercredentials).

En la tabla siguiente se indican las opciones para crear credenciales de usuario de base de datos. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

## Complementos de proveedores de credenciales
<a name="using-credentials-provider-plugin"></a>

Amazon Redshift utiliza complementos de proveedor de credenciales para la autenticación de inicio de sesión único.

Para admitir la autenticación de inicio de sesión único, Amazon Redshift proporciona el complemento de Azure AD para Microsoft Azure Active Directory. Para obtener información sobre cómo configurar este complemento, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md).

### Autenticación multifactor
<a name="setting_mfa"></a>

Para admitir la autenticación multifactor (MFA), Amazon Redshift proporciona complementos basados en navegador. Utilice el complemento SAML del navegador para Okta y PingOne, y el complemento de Azure AD del navegador para Microsoft Azure Active Directory.

Con el complemento SAML del navegador, la autenticación OAuth sigue este flujo:

![\[Flujos de trabajo de OAuth sobre cómo el complemento, el servidor local, el navegador web y el punto de conexión trabajan juntos para autenticar a un usuario con autenticación SAML.\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/images/BrowserSAML_plugin.png)


1. Un usuario intenta iniciar sesión.

1. El complemento lanza un servidor local para escuchar las conexiones entrantes en el localhost.

1. El complemento lanza un navegador web para solicitar una respuesta SAML a través de HTTPS desde el punto de conexión del proveedor de identidad federada de la URL de inicio de sesión único especificado.

1. El navegador web sigue el enlace y pide al usuario que escriba las credenciales.

1. Una vez que el usuario autentica y otorga su consentimiento, el punto de conexión del proveedor de identidad federadas devuelve una respuesta SAML a través de HTTPS al URI indicado por `redirect_uri`.

1. El navegador web traslada el mensaje de respuesta con la respuesta SAML a la indicada `redirect_uri`.

1. El servidor local acepta la conexión entrante y el complemento recupera la respuesta SAML y la transfiere a Amazon Redshift.

Con el complemento de Azure AD del navegador, la autenticación SAML sigue este flujo:

![\[Flujos de trabajo de Azure sobre cómo el complemento, el servidor local, el navegador web y el punto de conexión trabajan juntos para autenticar a un usuario con autenticación SAML.\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/images/BrowserAzure_plugin.png)


1. Un usuario intenta iniciar sesión.

1. El complemento lanza un servidor local para escuchar las conexiones entrantes en el localhost.

1. El complemento lanza un explorador web para solicitar un código de autorización desde el punto de conexión `oauth2/authorize` de Azure AD.

1. El navegador web sigue el enlace generado a través de HTTPS y solicita al usuario que escriba las credenciales. El enlace se genera utilizando propiedades de configuración, como tenant y client\$1id.

1. Una vez que el usuario se autentica y otorga su consentimiento, el punto de conexión `oauth2/authorize` de Azure AD devuelve y envía una respuesta a través de HTTPS con el código de autorización al `redirect_uri` indicado.

1. El navegador web traslada el mensaje de respuesta con la respuesta SAML a la indicada `redirect_uri`.

1. El servidor local acepta la conexión entrante y las solicitudes del complemento, recupera el código de autorización y envía una solicitud POST al punto de conexión `oauth2/token` de Azure AD.

1. El punto de conexión `oauth2/token` de Azure AD devuelve una respuesta con un token de acceso al `redirect_uri` indicado.

1. El complemento recupera la respuesta SAML y la transfiere a Amazon Redshift.

Consulte las siguientes secciones:
+ Active Directory Federation Services (AD FS)

  Para obtener más información, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md).
+ PingOne (Ping) 

  Ping solo puede usarse con el adaptador de IdP PingOne mediante la autenticación de formularios. 

  Para obtener más información, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md).
+ Okta 

  Okta solo es compatible con la aplicación suministrada por Okta que se utiliza con la Consola de administración de AWS. 

  Para obtener más información, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md).
+ Microsoft Azure Active Directory

  Para obtener más información, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md).

### Opciones de complementos
<a name="configuring_plugin_options"></a>

Para usar un complemento de proveedor de credenciales basado en SAML, especifique las siguientes opciones utilizando las opciones de JDBC u ODBC o en un perfil con nombre. Si no se especifica `plugin_name`, se omiten las demás opciones.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/options-for-providing-iam-credentials.html)

# Generación de credenciales de base de datos para una identidad de IAM mediante la CLI o la API de Amazon Redshift
<a name="generating-iam-credentials-cli-api"></a>

Para generar credenciales temporales de usuario de base de datos mediante programación, Amazon Redshift proporciona el comando [get-cluster-credentials](https://docs.aws.amazon.com/cli/latest/reference/redshift/get-cluster-credentials.html) para la AWS Command Line Interface (AWS CLI) y la operación de la API [GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html). También puede configurar su cliente SQL con controladores JDBC u ODBC de Amazon Redshift que administren el proceso de llamar a la operación `GetClusterCredentials`, recuperar las credenciales de usuario de base de datos y establecer una conexión entre su cliente SQL y la base de datos de Amazon Redshift. Para obtener más información, consulte [Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos](options-for-providing-iam-credentials.md#jdbc-and-odbc-options-for-database-credentials).

**nota**  
Recomendamos el uso de controladores JDBC u ODBC de Amazon Redshift para generar credenciales de usuario de base de datos.

En esta sección, encontrará los pasos para llamar mediante programación a la operación `GetClusterCredentials` o el comando get-cluster-credentials, recuperar las credenciales de usuario de base de datos y conectarse a la base de datos.

**Para generar y usar credenciales temporales de base de datos**

1. Cree o modifique un usuario o rol con los permisos necesarios. Para obtener más información sobre los permisos de IAM, consulte [Paso 3: creación de un rol de IAM con permisos para llamar a GetClusterCredentialsWithIAM o GetClusterCredentials](generating-iam-credentials-steps.md#generating-iam-credentials-role-permissions).

1. Como el usuario o el rol que autorizó en el paso anterior, ejecute el comando de la CLI get-cluster-credentials o llame a la operación de la API `GetClusterCredentials` y proporcione los siguientes valores:
   + **Identificador del clúster**: nombre del clúster que contiene la base de datos.
   + **Nombre de usuario de base de datos**: nombre de un usuario de base de datos nuevo o existente.
     + Si el usuario no existe en la base de datos y AutoCreate está establecido en true, se crea un nuevo usuario con la contraseña deshabilitada.
     +  Si el usuario no existe y AutoCreate está establecido en false, la solicitud produce un error. 
     + En este ejemplo, el nombre de usuario de base de datos es `temp_creds_user`. 
   +  **Creación automática** (opcional): crea un usuario nuevo si el nombre de usuario de base de datos no existe.
   +  **Nombre de base de datos** (opcional): nombre de la base de datos en la que el usuario tiene autorización para iniciar sesión. Si no se especifica el nombre de la base de datos, el usuario puede iniciar sesión en cualquier base de datos del clúster.
   +  **Grupos de bases de datos** (opcional): lista de grupos de usuarios de bases de datos existentes. Tras iniciar sesión correctamente, el usuario de base de datos se agrega a los grupos de usuarios especificados. Si no se especifica ningún grupo, el usuario sólo tiene permisos PUBLIC. Los nombres de los grupos de usuarios deben coincidir con los ARN de los recursos de dbgroup especificados en la política de IAM asociada al usuario o rol. 
   +  **Fecha de vencimiento** (opcional): fecha de vencimiento, en segundos, de las credenciales temporales. Puede especificar un valor comprendido entre 900 segundos (15 minutos) y 3 600 segundos (60 minutos). El valor predeterminado es de 900 segundos.

1. Amazon Redshift verifica que el usuario tenga permiso para llamar a la operación `GetClusterCredentials` con los recursos especificados. 

1. Amazon Redshift devuelve una contraseña temporal y el nombre de usuario de la base de datos.

   En el siguiente ejemplo, se utiliza la CLI de Amazon Redshift para generar credenciales temporales de base de datos para un usuario existente denominado `temp_creds_user`.

   ```
   aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --db-name exampledb --duration-seconds 3600
   ```

   El resultado es el siguiente.

   ```
   {
     "DbUser": "IAM:temp_creds_user", 
     "Expiration": "2016-12-08T21:12:53Z", 
     "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
   }
   ```

   En el siguiente ejemplo, se utiliza la CLI de Amazon Redshift para crear automáticamente credenciales temporales de base de datos para un usuario nuevo y agregar el usuario al grupo `example_group`.

   ```
   aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --auto-create --db-name exampledb --db-groups example_group --duration-seconds 3600
   ```

   El resultado es el siguiente.

   ```
   {
     "DbUser": "IAMA:temp_creds_user:example_group", 
     "Expiration": "2016-12-08T21:12:53Z", 
     "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
   }
   ```

1. Establezca una conexión de autenticación de capa de conexión segura (SSL) con el clúster de Amazon Redshift y envíe una solicitud de inicio de sesión con el nombre de usuario y la contraseña de la respuesta de `GetClusterCredentials`. Incluya el prefijo `IAM:` o `IAMA:` con el nombre de usuario; por ejemplo `IAM:temp_creds_user` o `IAMA:temp_creds_user`.
**importante**  
Configure el cliente SQL para que requiera SSL. En caso contrario, si el cliente SQL intenta conectarse automáticamente con SSL, puede cambiar a una conexión distinta de SSL en caso de que se produzca algún error. En tal caso, el primer intento de conexión podría producir un error porque las credenciales han caducado o no son válidas, y el segundo intento de conexión podría producir un error porque la conexión no es SSL. Si eso ocurre, el primer mensaje de error podría pasarse por alto. Para obtener más información acerca de la conexión al clúster mediante SSL, consulte [Configuración de las opciones de seguridad para las conexiones](connecting-ssl-support.md).

1. Si la conexión no usa SSL, el intento de conexión produce un error. 

1. El clúster envía una solicitud `authentication` al cliente SQL. 

1. El cliente SQL envía entonces la contraseña temporal al clúster. 

1. Si la contraseña es válida y no ha caducado, el clúster realiza la conexión. 

# Configuración de la autenticación de inicio de sesión único de JDBC u ODBC
<a name="setup-azure-ad-identity-provider"></a>

Puede aprovechar proveedores de identidades (IDP) externos para autenticar y autorizar a los usuarios que accedan al clúster de Amazon Redshift, lo que simplifica la administración de usuarios y mejora la seguridad. Esto permite la administración centralizada de los usuarios, el control de acceso basado en roles y las capacidades de auditoría en varios servicios. Los casos de uso más comunes incluyen la simplificación de la autenticación para diversos grupos de usuarios, la aplicación de políticas de acceso coherentes y el cumplimiento de los requisitos regulatorios. 

Las siguientes páginas lo guían a través de la configuración de la integración del IdP con el clúster de Redshift. Para obtener más información acerca de cómo configurar AWS como proveedor de servicios para el IdP, consulte [Configuración de una relación de confianza para usuario autenticado y agregación de notificaciones en el proveedor de identidades SAML 2.0](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html#saml_relying-party) en la *Guía del usuario de IAM*.

# AD FS
<a name="setup-identity-provider-adfs"></a>

Este tutorial le muestra cómo puede utilizar AD FS como proveedor de identidades (IdP) para acceder al clúster de Amazon Redshift.

## Paso 1: Configuración de AD FS y la cuenta de AWS para establecer una relación de confianza entre ellas
<a name="setup-identity-provider-adfs-trust"></a>

 En el siguiente procedimiento se describe cómo configurar una relación de confianza. 

1. Cree o utilice un clúster de Amazon Redshift existente para que los usuarios de AD FS se conecten a él. Para configurar la conexión, se necesitan ciertas propiedades de este clúster, como el identificador del clúster. Para obtener más información, consulte [Creating a Cluster (Creación de un clúster)](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configure AD FS para controlar el acceso de Amazon Redshift en la consola de administración de Microsoft Management: 

   1. Elija **ADFS 2.0**, y, a continuación, elija **Add Relying Party Trust (Agregar confianza de parte de confianza)**. En la página **Add Relying Party Trust Wizard (Asistente para agregar confianza de parte)**, elija **Start (Inicio)**.

   1. En la página **Select Data Source (Seleccionar origen de datos)**, elija **Import data about the relying party published online or on a local network (Importar los datos sobre el usuario de confianza publicado en línea o en una red local)**.

   1. En **Federation metadata address (host name or URL) (Dirección de metadatos de federación [nombre de host o URL])**, escriba **https://signin.aws.amazon.com/saml-metadata.xml**. El archivo XML de metadatos es un documento de metadatos SAML estándar que describe a AWS como parte de confianza.

   1. En la página **Specify Display Name (Especificar nombre para mostrar)**, escriba un valor para **Display name (Nombre para mostrar)**. 

   1. En la página **Choose Issuance Authorization Rules (Elegir reglas de autorización de emisión)**, elija una regla de autorización de emisión para permitir o denegar a todos los autores que accedan a esta parte de confianza.

   1. En la página **Ready to Add Trust (Listo para agregar confianza)**, revise la configuración.

   1. En la página **Finish (Finalizar)**, elija **Open the Edit Claim Rules dialog for this relying party trust when the wizard closes (Abrir el cuadro de diálogo Editar reglas de reclamación para esta relación de confianza para usuarios autenticado al cerrarse el asistente)**.

   1. En el menú contextual (clic con el botón derecho), elija **Relying Party Trusts (Relaciones de confianza para usuario autenticado)**.

   1. Para el usuario autenticado, abra el menú contextual (haga clic con el botón derecho) y elija **Edita Claim Rules (Editar reglas de reclamación)**. En la página **Edit Claim Rules (Editar reglas de reclamación)**, elija **Add Rule (Agregar regla)**.

   1. En **Claim rule template (Plantilla de regla de reclamación)**, elija **Transform an Incoming Claim (Transformar una reclamación entrante)** y, a continuación, en la página **Edit Rule – NameId (Editar regla – NameId)**, haga lo siguiente:
      + En **Claim rule name (Nombre de regla de reclamación)**, escriba **NameId**.
      + En **Incoming claim name (Nombre de reclamación entrante)**, elija **Windows Account Name (Nombre de cuenta de Windows)**.
      + En **Outgoing claim name (Nombre de reclamación saliente)**, elija **Name ID (ID de nombre)**.
      + En **Outgoing name ID format (Formato de ID de nombre saliente)**, elija **Persistent Identifier (Identificador persistente)**.
      + Elija **Pass through all claim values (Acceso directo a todos los valores de reclamación)**.

   1. En la página **Edit Claim Rules (Editar reglas de reclamación)**, elija **Add Rule (Agregar regla)**. En la página **Select Rule Template (Seleccionar plantilla de regla)**, en **Claim rule template (Plantilla de regla de reclamación)**, elija **Send LDAP Attributes as Claims (Enviar atributos LDAP como reclamaciones)**.

   1. En la página **Configure Rule (Configurar regla)**, haga lo siguiente:
      + En **Claim rule name (Nombre de regla de reclamación)**, escriba **RoleSessionName**.
      + En **Attribute store** (Almacén de atributos), elija **Active Directory**.
      + En **LDAP Attribute (Atributo LDAP)**, elija **Email Addresses (Direcciones de correo electrónico)**.
      + En **Outgoing Claim Type** (Tipo de reclamación saliente), elija **https://aws.amazon.com/SAML/Attributes/RoleSessionName**.

   1. En la página **Edit Claim Rules (Editar reglas de reclamación)**, elija **Add Rule (Agregar regla)**. En la página **Select Rule Template (Seleccionar plantilla de regla)**, para **Claim rule template (Plantilla de regla de reclamación)**, elija **Send Claims Using a Custom Rule (Enviar reclamaciones utilizando una regla personalizada)**.

   1. En la página **Edit Rule – Get AD Groups (Editar regla –Obtener grupos de AD)**, en **Claim rule name (Nombre de regla de reclamación)**, escriba **Get AD Groups (Obtener grupos de AD)**.

   1. En **Custom rule (Regla personalizada)**, escriba lo siguiente.

      ```
      c:[Type ==
                                          "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
                                          Issuer == "AD AUTHORITY"] => add(store = "Active Directory",
                                          types = ("http://temp/variable"), query = ";tokenGroups;{0}",
                                          param = c.Value);
      ```

   1. En la página **Edit Claim Rules (Editar reglas de reclamación)**, elija **Add Rule (Agregar regla)**. En la página **Select Rule Template (Seleccionar plantilla de regla)**, para **Claim rule template (Plantilla de regla de reclamación)**, elija **Send Claims Using a Custom Rule (Enviar reclamaciones utilizando una regla personalizada)**.

   1. En la página **Edit Rule – Roles (Editar regla – Roles)**, en **Claim rule name (Nombre de regla de reclamación)**, escriba **Roles**.

   1. En **Custom rule (Regla personalizada)**, escriba lo siguiente.

      ```
      c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
      ```

      Tenga en cuenta los ARN del proveedor SAML y el rol que se van a asumir. En este ejemplo, `arn:aws:iam:123456789012:saml-provider/ADFS` es el ARN del proveedor SAML y `arn:aws:iam:123456789012:role/ADFS-` es el ARN del rol.

1. Asegúrese de haber descargado el archivo `federationmetadata.xml`. Compruebe que el contenido del documento no tenga caracteres no válidos. Este es el archivo de metadatos que utiliza al configurar la relación de confianza con AWS. 

1. Cree un proveedor de identidad SAML de IAM en la consola de IAM. El documento de metadatos que proporciona es el archivo XML de metadatos de federación que guardó al configurar Azure Enterprise Application. Para obtener información detallada sobre los pasos, consulte [Creación y administración de un proveedor de identidad de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) en la *Guía del usuario de IAM*. 

1. Cree un rol de IAM para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de un rol para SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) en la *Guía del usuario de IAM*. 

1. Cree una directiva de IAM que pueda adjuntar al rol de IAM creado para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de políticas de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*. Para ver un ejemplo de Azure AD, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md). 

## Paso 2: Configuración de JDBC u ODBC para la autenticación en AD FS
<a name="setup-identity-provider-adfs-auth"></a>

------
#### [ JDBC ]

 En el siguiente procedimiento se describe cómo configurar una relación de JDBC con AD FS. 
+ Configure el cliente de la base de datos para conectarse al clúster a través de JDBC mediante el inicio de sesión único de AD FS. 

  Puede usar cualquier cliente que use un controlador JDBC para conectarse mediante el inicio de sesión único de AD FS o usar un lenguaje como Java para conectarse mediante un script. Para obtener información sobre la instalación y configuración, consulte [Configuración de una conexión del controlador JDBC versión 2.x para Amazon Redshift](jdbc20-install.md).

  Por ejemplo, puede usar SQLWorkBench/J como cliente. Al configurar SQLWorkbench/J, la dirección URL de la base de datos utiliza el siguiente formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si utiliza SQLWorkbench/J como cliente, siga los siguientes pasos:

  1. Inicie SQL Workbench/J. En la página **Select Connection Profile** (Seleccionar perfil de conexión), agregue un **Profile Group** (Grupo de perfil); por ejemplo, **ADFS**.

  1. En **Connection Profile (Perfil de conexión)**, escriba el nombre de perfil de su conexión; por ejemplo **ADFS**.

  1. Elija **Manage Drivers (Administrar controladores)**, y elija **Amazon Redshift**. Elija el icono **Open folder (Abrir carpeta)** junto a **Library (Biblioteca)** y a continuación, elija el archivo JDBC .jar adecuado. 

  1. En la página **Select connection profile (Seleccionar perfil de conexión)** agregue información al perfil de conexión de la siguiente manera:
     + En **User (Usuario)**, escriba su nombre de usuario de AD FS. Este es el nombre de usuario de la cuenta de que está utilizando para el inicio de sesión único que tiene permisos en el clúster en el que está intentando autenticarse.
     + En **Password (Contraseña)**, escriba su contraseña de AD FS.
     + En **Drivers (Controladores)**, elija **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + En **URL**, escriba **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Elija **Extended Properties** (Propiedades extendidas). En **plugin\$1name**, escriba **com.amazon.redshift.plugin.AdfsCredentialsProvider**. Este valor especifica al controlador que debe utilizar el inicio de sesión único de Azure AD como método de autenticación. 

------
#### [ ODBC ]

**Para configurar ODBC para la autenticación en AD FS**
+ Configure el cliente de la base de datos para conectarse al clúster a través de ODBC mediante el inicio de sesión único de AD FS. 

  Amazon Redshift proporciona controladores ODBC para los sistemas operativos Linux, Windows y MacOS. Antes de instalar un controlador ODBC, determine si su herramienta del cliente SQL es de 32 bits o 64 bits. Instale el controlador ODBC que coincida con los requisitos de la herramienta cliente SQL. 

  En Windows, en la página **Amazon Redshift ODBC Driver DSN Setup (Configuración del DSN del controlador ODBC de Amazon Redshift)** en **Connection Settings (Configuración de conexión)**, escriba la siguiente información: 
  + En **Data Source Name (Nombre de origen de datos)**, escriba ***your-DSN***. Especifica el nombre del origen de datos utilizado como nombre del perfil de ODBC. 
  + Para **Auth type** (Tipo de autenticación), elija **Identity Provider: SAML** (Proveedor de identidades: SAML). Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de AD FS.
  + En **Cluster ID (ID de clúster)**, escriba ***your-cluster-identifier***. 
  + En **Region (Región)**, escriba ***your-cluster-region***.
  + En **Database (Base de datos)**, escriba ***your-database-name***.
  + En **User (Usuario)**, escriba ***your-adfs-username***. Este es el nombre de usuario de la cuenta de AD FS que está utilizando para el inicio de sesión único que tiene permiso para el clúster con el que está intentando autenticarse. Utilice esto solo para **Auth type (Tipo de autorización)** es **Identity Provider: SAML (Proveedor de identidades: SAML)**.
  + En **Password (Contraseña)**, escriba ***your-adfs-password***. Utilice esto solo para **Auth type (Tipo de autorización)** es **Identity Provider: SAML (Proveedor de identidades: SAML)**. 

  En Mac OS y Linux, edite el archivo `odbc.ini` de la siguiente manera: 
**nota**  
Ninguna de las entradas distingue entre mayúsculas y minúsculas.
  + En **clusterid**, escriba ***your-cluster-identifier***. Este es el nombre del clúster de Amazon Redshift creado.
  + En **region**, escriba ***your-cluster-region***. Esta es la región de AWS del clúster de Amazon Redshift creado.
  + En **database**, escriba ***your-database-name***. Este es el nombre de la base de datos a la que intenta tener acceso en el clúster de Amazon Redshift.
  + En **locale**, escriba **en-us**. Este es el idioma en el que se muestran los mensajes de error.
  + En **iam**, entra **1**. Este valor especifica que el controlador debe autenticarse mediante credenciales de IAM.
  + En **plugin\$1name**, realice una de las operaciones siguientes:
    + Para la configuración de inicio de sesión único de AD FS con MFA, introduzca **BrowserSAML**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar en AD FS. 
    + Para la configuración de inicio de sesión único de AD FS, introduzca **ADFS**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de Azure AD. 
  + En **uid**, escriba ***your-adfs-username***. Este es el nombre de usuario de la cuenta de Microsoft Azure que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse. Utilice esto solo para **plugin\$1name** es **ADFS**.
  + En **pwd**, escriba ***your-adfs-password***. Utilice esto solo para **plugin\$1name** es **ADFS**. 

  En Mac OS y Linux, edite también la configuración del perfil para agregar las siguientes exportaciones:

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Azure
<a name="setup-identity-provider-azure"></a>

Puede usar Microsoft Azure AD como proveedor de identidades (IdP) para obtener acceso al clúster de Amazon Redshift. Este tutorial le muestra cómo puede utilizar Azure como proveedor de identidades (IdP) para acceder al clúster de Amazon Redshift.

Para obtener información acerca de cómo federar el acceso de Amazon Redshift con el inicio de sesión único de Microsoft Azure AD, vea el siguiente video. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/aXs9hEgJCss/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/aXs9hEgJCss)


## Paso 1: Configuración de Azure y la cuenta de AWS para establecer una relación de confianza entre ellas
<a name="setup-identity-provider-azure-trust"></a>

En el siguiente procedimiento se describe cómo configurar una relación de confianza.

**Para configurar Azure AD y su cuenta de AWS para establecer una relación de confianza entre ellas**

1. Cree o utilice un clúster de Amazon Redshift existente para que los usuarios de Azure AD se conecten a él. Para configurar la conexión, se necesitan ciertas propiedades de este clúster, como el identificador del clúster. Para obtener más información, consulte [Creating a Cluster (Creación de un clúster)](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configure un Azure Active Directory, los grupos y los usuarios utilizados para AWS en el portal de Microsoft Azure.

1. Agregue Amazon Redshift como una aplicación para empresas en el portal de Microsoft Azure para utilizar el inicio de sesión único en la consola de AWS y el inicio de sesión federado en Amazon Redshift. Elija **Enterprise application (Aplicación de Enterprise)**.

1. Elija **\$1New application (\$1Nueva aplicación)**. Aparecerá la página Add an application (Agregar una aplicación).

1. Buscar **AWS** en el campo de búsqueda.

1. Elija **Amazon Web Services (AWS)** y elija **Add** (Agregar). Esto crea la aplicación de AWS.

1. En **Manage (Administrar)**, elija **Single sign-on (Inicio de sesión único)**.

1. Elija **SAML**. Se abrirá la página Amazon Web Services (AWS) \$1 Inicio de sesión basado en SAML.

1. Elija **Yes (Sí)** para continuar con la página Set up Single Sign-On with SAML (Configurar inicio de sesión único con SAML). Esta página muestra la lista de atributos preconfigurados relacionados con el inicio de sesión único.

1. En **Basic SAML Configuration (Configuración básica de SAML)**, elija el icono de edición y, a continuación, **Save (Guardar)**.

1. Cuando esté configurando para más de una aplicación, proporcione un valor de identificador. Por ejemplo, escriba . ***https://signin.aws.amazon.com/saml\$12***. Tenga en cuenta que a partir de la segunda aplicación, utilice este formato con un signo \$1 para especificar un valor SPN único.

1. En la sección **User Attributes and Claims (Atributos y reclamaciones de usuario)**, elija el icono de edición.

   De forma predeterminada, las reclamaciones Identificador único de usuario (UID), Role, RoleSessionName y SessionDuration están preconfiguradas.

1. Elija **\$1 Add new claim (\$1Agregar nueva reclamación)** para agregar una reclamación para los usuarios de base de datos.

   En **Nombre**, escriba **DbUser**.

   En **Namespace (Espacio de nombres)**, escriba **https://redshift.amazon.com/SAML/Attributes**.

   En **Source (Origen)**, elija **Attribute (Atributo)**.

   En **Source attribute (Atributo de origen)**, elija **user.userprincipalname**. A continuación, elija **Guardar**.

1. Elija **\$1 Add new claim (\$1Agregar nueva reclamación)** para agregar una reclamación para AutoCreate.

   En **Nombre**, escriba **AutoCreate**.

   En **Namespace (Espacio de nombres)**, escriba **https://redshift.amazon.com/SAML/Attributes**.

   En **Source (Origen)**, elija **Attribute (Atributo)**.

   En **Source attribute (Atributo de origen)**, elija **"true"**. A continuación, elija **Guardar**.

   Aquí, `123456789012` es su cuenta de AWS, *`AzureSSO`* es un rol de IAM que ha creado y *`AzureADProvider`* es el proveedor de IAM.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/setup-identity-provider-azure.html)

1. En **Registro de aplicaciones > ***your-application-name*** > Autenticación**, agregue **Aplicación móvil y de escritorio**. Especifique la URL como http://localhost/redshift/.

1. En la sección **SAML Signing Certificate (Certificado de firma SAML)**, elija **Download (Descargar)** para descargar y guardar el archivo XML de metadatos de federación para usarlo cuando cree un proveedor de identidad SAML de IAM. Este archivo se utiliza para crear la identidad federada de inicio de sesión único.

1. Cree un proveedor de identidad SAML de IAM en la consola de IAM. El documento de metadatos que proporciona es el archivo XML de metadatos de federación que guardó al configurar Azure Enterprise Application. Para obtener información detallada sobre los pasos, consulte [Creación y administración de un proveedor de identidad de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) en la *Guía del usuario de IAM*. 

1. Cree un rol de IAM para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de un rol para SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) en la *Guía del usuario de IAM*. 

1. Cree una directiva de IAM que pueda adjuntar al rol de IAM creado para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de políticas de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*.

   Modifique la siguiente política (en formato JSON) para su entorno: 
   + Sustituya la región de AWS de su clúster por `us-west-1`. 
   + Sustituya su cuenta de AWS por *`123456789012`*. 
   + Sustituya el identificador de clúster (o `*` para todos los clústeres) por *`cluster-identifier`*. 
   + Sustituya la base de datos (o `*` para todas las bases de datos) por *`dev`*. 
   + Sustituya el identificador único de su rol de IAM por *`AROAJ2UCCR6DPCEXAMPLE`*. 
   + Sustituya el dominio de correo electrónico de su arrendatario o empresa por `example.com`. 
   + Sustituya el grupo de base de datos al que planea asignar el usuario por *`my_dbgroup`*. 

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentials",
               "Resource": [
                   "arn:aws:redshift:us-west-1:123456789012:dbname:cluster-identifier/dev",
                   "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}",
                   "arn:aws:redshift:us-west-1:123456789012:cluster:cluster-identifier"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:userid": "AROAJ2UCCR6DPCEXAMPLE:${redshift:DbUser}@example.com"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": "redshift:CreateClusterUser",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}"
           },
           {
               "Effect": "Allow",
               "Action": "redshift:JoinGroup",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbgroup:cluster-identifier/my_dbgroup"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "redshift:DescribeClusters",
                   "iam:ListRoles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

   Esta política concede permisos de la siguiente manera:
   + La primera sección concede permiso a la operación `GetClusterCredentials` de la API para obtener credenciales temporales para el clúster especificado. En este ejemplo, el recurso es `cluster-identifier` con la base de datos *`dev`*, en la cuenta *`123456789012`* y en la región AWS *`us-west-1`*. La cláusula `${redshift:DbUser}` permite que sólo los usuarios que coincidan con el valor `DbUser` especificado en Azure AD se conecten.
   + La cláusula de condición obliga a que solo ciertos usuarios obtengan credenciales temporales. Se trata de usuarios con el rol especificado por el ID único de rol *`AROAJ2UCCR6DPCEXAMPLE`* en la cuenta de IAM identificada por una dirección de email en el dominio de correo electrónico de su empresa. Para obtener más información acerca de los ID únicos, consulte [ID únicos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) en la *Guía del usuario de IAM*. 

     La configuración con el IdP (en este caso, Azure AD) determina cómo se escribe la cláusula de condición. Si el correo electrónico de su empleado es `johndoe@example.com`, primero establezca `${redshift:DbUser}` en el supercampo que coincida con el nombre de usuario del empleado `johndoe`. A continuación, para que esta condición funcione, configure el campo `RoleSessionName` de SAML de AWS en el supercampo que concuerde con el email del empleado `johndoe@example.com`. Cuando tome este enfoque, tenga en cuenta lo siguiente:
     + Si establece `${redshift:DbUser}` para que sea el correo electrónico del empleado, quite el `@example.com` en el archivo JSON de muestra para que coincida con el `RoleSessionName`. 
     + Si establece `RoleSessionId` para que solo sea el nombre de usuario del empleado, quite el `@example.com` en el ejemplo para que coincida con el `RoleSessionName`. 
     + En el JSON de ejemplo, `${redshift:DbUser}` y `RoleSessionName` se establecen en el correo electrónico del empleado. En este ejemplo, JSON utiliza el nombre de usuario de la base de datos de Amazon Redshift con `@example.com` para que el usuario inicie sesión y acceda al clúster.
   + La segunda sección concede permiso para crear un nombre `dbuser` en el clúster especificado. En este JSON de muestra, restringe la creación a `${redshift:DbUser}`. 
   + La tercera sección concede permisos para especificar a qué `dbgroup` puede unirse un usuario. En este JSON de muestra, un usuario puede unirse al grupo `my_dbgroup` en el clúster especificado. 
   + La cuarta sección otorga permiso a las acciones que el usuario puede realizar en todos los recursos. En este JSON de ejemplo, se permite a los usuarios llamar a `redshift:DescribeClusters` para obtener información del clúster, como el punto de conexión del clúster, la región de AWS y el puerto. También permite a los usuarios llamar a `iam:ListRoles` para comprobar qué roles puede asumir un usuario. 

## Paso 2: Configuración de JDBC u ODBC para la autenticación en Azure
<a name="setup-identity-provider-azure-auth"></a>

------
#### [ JDBC ]

**Para configurar JDBC para la autenticación en Microsoft Azure AD**
+ Configure el cliente de la base de datos para conectarse al clúster a través de JDBC mediante el inicio de sesión único de Azure AD. 

  Puede usar cualquier cliente que use un controlador JDBC para conectarse mediante el inicio de sesión único de Azure AD o usar un lenguaje como Java para conectarse mediante un script. Para obtener información sobre la instalación y configuración, consulte [Configuración de una conexión del controlador JDBC versión 2.x para Amazon Redshift](jdbc20-install.md).

  Por ejemplo, puede usar SQLWorkBench/J como cliente. Al configurar SQLWorkbench/J, la dirección URL de la base de datos utiliza el siguiente formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si utiliza SQLWorkbench/J como cliente, siga los siguientes pasos:

  1. Inicie SQL Workbench/J. En la página **Select Connection Profile** (Seleccionar perfil de conexión) agregue un **Profile group** (Grupo de perfiles) denominado **AzureAuth**.

  1. En **Connection Profile (Perfil de conexión)**, escriba **Azure**.

  1. Elija **Manage Drivers (Administrar controladores)**, y elija **Amazon Redshift**. Elija el icono **Open folder (Abrir carpeta)** junto a **Library (Biblioteca)** y a continuación, elija el archivo JDBC .jar adecuado. 

  1. En la página **Select connection profile (Seleccionar perfil de conexión)** agregue información al perfil de conexión de la siguiente manera:
     + En **User (Usuario)**, escriba su nombre de usuario de Microsoft Azure. Este es el nombre de usuario de la cuenta de Microsoft Azure que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse.
     + En **Password (Contraseña)**, escriba la contraseña de Microsoft Azure.
     + En **Drivers (Controladores)**, elija **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + En **URL**, escriba **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Elija **Extended properties (Propiedades extendidas)** para agregar información adicional a las propiedades de conexión, como se describe a continuación.

     Para la configuración de inicio de sesión único de Azure AD, agregue información adicional como se indica a continuación:
     + En **plugin\$1name**, escriba **com.amazon.redshift.plugin.AzureCredentialsProvider**. Este valor especifica al controlador que debe utilizar el inicio de sesión único de Azure AD como método de autenticación. 
     + En **idp\$1tenant**, escriba ***your-idp-tenant***. Se utiliza solo para Microsoft Azure AD. Este es el nombre del arrendatario de su empresa configurado en Azure AD. Este valor puede ser el nombre del arrendatario o el ID único del inquilino con guiones.
     + En **client\$1secret**, escriba ***your-azure-redshift-application-client-secret***. Se utiliza solo para Microsoft Azure AD. Este es el secreto de cliente de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. Esto solo es aplicable al complemento com.amazon.redshift.plugin.AzureCredentialsProvider. 
     + En **client\$1id**, escriba ***your-azure-redshift-application-client-id***. Se utiliza solo para Microsoft Azure AD. Este es el ID de cliente (con guiones) de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. 

     Para la configuración de inicio de sesión único de Azure AD con MFA, agregue información adicional a las propiedades de conexión de la siguiente manera:
     + En **plugin\$1name**, escriba **com.amazon.redshift.plugin.BrowserAzureCredentialsProvider**. Este valor le indica al controlador que debe utilizar el inicio de sesión único de Azure AD con MFA como método de autenticación. 
     + En **idp\$1tenant**, escriba ***your-idp-tenant***. Se utiliza solo para Microsoft Azure AD. Este es el nombre del arrendatario de su empresa configurado en Azure AD. Este valor puede ser el nombre del arrendatario o el ID único del inquilino con guiones.
     + En **client\$1id**, escriba ***your-azure-redshift-application-client-id***. Esta opción se utiliza solo para Microsoft Azure AD. Este es el ID de cliente (con guiones) de la aplicación de Amazon Redshift que creó al configurar el inicio de sesión único de Azure AD con MFA. 
     + En **listen\$1port**, escriba ***your-listen-port***. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890. 
     + En **idp\$1response\$1timeout**, escriba ***the-number-of-seconds***. Este es el número de segundos que se deben esperar antes de que el servidor IdP devuelva una respuesta. El número mínimo de segundos debe ser 10. Si establecer la conexión toma más que este umbral de tiempo, se anula la conexión.

------
#### [ ODBC ]

**Para configurar ODBC para la autenticación en Microsoft Azure AD**
+ Configure el cliente de base de datos para que se conecte al clúster a través de ODBC mediante el inicio de sesión único de Azure AD. 

  Amazon Redshift proporciona controladores ODBC para los sistemas operativos Linux, Windows y MacOS. Antes de instalar un controlador ODBC, determine si su herramienta del cliente SQL es de 32 bits o 64 bits. Instale el controlador ODBC que coincida con los requisitos de la herramienta cliente SQL. 

  En Windows, en la página **Amazon Redshift ODBC Driver DSN Setup (Configuración del DSN del controlador ODBC de Amazon Redshift)** en **Connection Settings (Configuración de conexión)**, escriba la siguiente información: 
  + En **Data Source Name (Nombre de origen de datos)**, escriba ***your-DSN***. Especifica el nombre del origen de datos utilizado como nombre del perfil de ODBC. 
  + En **Auth type** (Tipo de autenticación) para la configuración de inicio de sesión único de Azure AD, seleccione **Identity Provider: Azure AD**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de Azure.
  + En **Auth type** (Tipo de autenticación) para la configuración de inicio de sesión único de Azure AD con MFA, seleccione **Identity Provider: Browser Azure AD**. Este es el método de autenticación que utiliza el controlador ODBC para autenticarse mediante el inicio de sesión único de Azure con MFA.
  + En **Cluster ID (ID de clúster)**, escriba ***your-cluster-identifier***. 
  + En **Region (Región)**, escriba ***your-cluster-region***.
  + En **Database (Base de datos)**, escriba ***your-database-name***.
  + En **User (Usuario)**, escriba ***your-azure-username***. Este es el nombre de usuario de la cuenta de Microsoft Azure que está utilizando para el inicio de sesión único que tiene permiso para el clúster con el que está intentando autenticarse. Utilice esto solo para **Auth Type (Tipo de autorización)** es **Identity Provider: Azure AD (Proveedor de identidades: Azure AD)**.
  + En **Password (Contraseña)**, escriba ***your-azure-password***. Utilice esto solo para **Auth Type (Tipo de autorización)** es **Identity Provider: Azure AD (Proveedor de identidades: Azure AD)**. 
  + En **IdP Tenant (Arrendatario de IdP)**, escriba ***your-idp-tenant***. Este es el nombre del arrendatario de su empresa configurado en su IdP (Azure). Este valor puede ser el nombre del arrendatario o el ID único del inquilino con guiones.
  + En **Azure Client Secret (Secreto de cliente de Azure)**, escriba ***your-azure-redshift-application-client-secret***. Este es el secreto de cliente de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. 
  + En **Azure Client ID (ID de cliente de Azure)**, escriba ***your-azure-redshift-application-client-id***. Este es el ID de cliente (con guiones) de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. 
  + En **Puerto de escucha**, escriba ***your-listen-port***. Este es el puerto de escucha predeterminado en el que escucha el servidor local. El valor predeterminado es 7890. Esto solo se aplica al complemento Browser Azure AD. 
  + En **Response Timeout (Tiempo de espera de respuesta)**, escriba ***the-number-of-seconds***. Este es el número de segundos que se deben esperar antes de que el servidor IdP devuelva una respuesta. El número mínimo de segundos debe ser 10. Si establecer la conexión toma más que este umbral de tiempo, se anula la conexión. Esta opción solo se aplica al complemento Browser Azure AD.

  En Mac OS y Linux, edite el archivo `odbc.ini` de la siguiente manera: 
**nota**  
Ninguna de las entradas distingue entre mayúsculas y minúsculas.
  + En **clusterid**, escriba ***your-cluster-identifier***. Este es el nombre del clúster de Amazon Redshift creado.
  + En **region**, escriba ***your-cluster-region***. Esta es la región de AWS del clúster de Amazon Redshift creado.
  + En **database**, escriba ***your-database-name***. Este es el nombre de la base de datos a la que intenta tener acceso en el clúster de Amazon Redshift.
  + En **locale**, escriba **en-us**. Este es el idioma en el que se muestran los mensajes de error.
  + En **iam**, entra **1**. Este valor especifica que el controlador debe autenticarse mediante credenciales de IAM.
  + En **nombre\$1complemento** para la configuración de inicio de sesión único de Azure AD, introduzca**AzureAD**. Esto especifica al controlador que debe utilizar el inicio de sesión único de Azure como método de autenticación. 
  + En **nombre\$1complemento** para la configuración de inicio de sesión único de Azure AD con MFA, introduzca **BrowserAzureAD**. Esto especifica al controlador que debe utilizar el inicio de sesión único de Azure con MFA como método de autenticación. 
  + En **uid**, escriba ***your-azure-username***. Este es el nombre de usuario de la cuenta de Microsoft Azure que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse. Utilice esto solo para **plugin\$1name** es **AzureAD**.
  + En **pwd**, escriba ***your-azure-password***. Utilice esto solo para **plugin\$1name** es **AzureAD**. 
  + En **idp\$1tenant**, escriba ***your-idp-tenant***. Este es el nombre del arrendatario de su empresa configurado en su IdP (Azure). Este valor puede ser el nombre del arrendatario o el ID único del inquilino con guiones.
  + En **client\$1secret**, escriba ***your-azure-redshift-application-client-secret***. Este es el secreto de cliente de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. 
  + En **client\$1id**, escriba ***your-azure-redshift-application-client-id***. Este es el ID de cliente (con guiones) de la aplicación de Amazon Redshift que creó cuando configuró el inicio de sesión único de Azure. 
  + En **listen\$1port**, escriba ***your-listen-port***. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890. Esto se aplica al complemento Browser Azure AD.
  + En **idp\$1response\$1timeout**, escriba ***the-number-of-seconds***. Este es el periodo de tiempo especificado en segundos que esperar la respuesta de Azure. Esta opción se aplica al complemento Browser Azure AD.

  En Mac OS y Linux, edite también la configuración del perfil para agregar las siguientes exportaciones:

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

## Solución de problemas
<a name="setup-identity-provider-azure-auth"></a>

Para solucionar problemas con el complemento Browser Azure AD, tenga en cuenta lo siguiente.
+ Para utilizar el complemento Azure AD de navegador, debe establecer la URL de respuesta especificada en la solicitud para que coincida con la URL de respuesta configurada para la aplicación. Vaya a la página **Configurar el inicio de sesión único con SAML** en el portal de Microsoft Azure. A continuación, compruebe que la **URL de respuesta** está establecida en http://localhost/redshift/.
+ Si aparece un error de inquilino de IdP, compruebe que el nombre de **Inquilino de IdP** coincide con el nombre de dominio que utilizó inicialmente para configurar Active Directory en Microsoft Azure.

  En Windows, vaya a la sección **Connection Settings** (Configuración de conexión) de la página **Amazon Redshift ODBC DSN Setup** (Configuración de DSN de ODBC de Amazon Redshift). A continuación, compruebe que el nombre de inquilino de su empresa configurado en su IdP (Azure) coincide con el nombre de dominio que utilizó inicialmente para configurar Active Directory en Microsoft Azure.

  En macOS y Linux, busque el archivo *odbc.ini*. A continuación, compruebe que el nombre de inquilino de su empresa configurado en su IdP (Azure) coincide con el nombre de dominio que utilizó inicialmente para configurar Active Directory en Microsoft Azure.
+ Si aparece un error que indica que la URL de respuesta especificada en la solicitud no coincide con las URL de respuesta configuradas para la aplicación, verifique que los **URI de redirección** son los mismos que la URL de respuesta.

  Vaya a la página **Registro de aplicaciones** de su aplicación en el portal de Microsoft Azure. A continuación, compruebe que los URI de redirección coinciden con la URL de respuesta.
+ Si obtiene la respuesta inesperada de error no autorizado, verifique que haya completado la configuración de **Aplicaciones móviles y de escritorio**.

  Vaya a la página **Registro de aplicaciones** de su aplicación en el portal de Microsoft Azure. A continuación, vaya a **Autenticación** y compruebe que ha configurado **Aplicaciones móviles y de escritorio** para utilizar http://localhost/redshift/ como URI de redirección.

# Ping Identity
<a name="setup-identity-provider-ping"></a>

Puede utilizar Ping Identity como proveedor de identidades (IdP) para acceder a su clúster de Amazon Redshift. Este tutorial le muestra cómo puede utilizar Ping Identity como proveedor de identidades (IdP) para acceder al clúster de Amazon Redshift.

## Paso 1: Configuración de una relación de confianza entre Ping Identity y la cuenta de AWS
<a name="setup-identity-provider-ping-trust"></a>

En el siguiente procedimiento se describe cómo configurar una relación de confianza mediante el portal de PingOne.

**Para establecer una relación de confianza entre Ping Identity y su cuenta de AWS**

1. Cree o use un clúster de Amazon Redshift existente para que los usuarios de Ping Identity se conecten a él. Para configurar la conexión, se necesitan ciertas propiedades de este clúster, como el identificador del clúster. Para obtener más información, consulte [Creating a Cluster (Creación de un clúster)](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Agregue Amazon Redshift como una nueva aplicación SAML en el portal de PingOne. Para obtener información detallada sobre los pasos, consulte la [documentación de Ping Identity](https://docs.pingidentity.com/). 

   1. Vaya a **My Applications (Mis aplicaciones)**.

   1. En **Add Application (Agregar aplicación)**, elija **New SAML Application (Nueva aplicación SAML)**.

   1. En **Application name (Nombre de la application)**, escriba **Amazon Redshift**.

   1. En **Protocol Version (Versión de protocolo)**, elija **SAML v2.0**.

   1. En **Category (Categoría)**, elija ***your-application-category***.

   1. En **Assertion Consumer Service (ACS)**, escriba ***your-redshift-local-host-url***. Éste es el host local y el puerto al que redirige la aserción SAML.

   1. En **Entity ID (ID de entidad)**, escriba `urn:amazon:webservices`.

   1. En **Signing (Firma)**, elija **Sign Assertion (Aserción de firma)**.

   1. En la sección **SSO Attribute Mapping (Mapeo de atributos de SSO)**, cree las reclamaciones como se muestra en la tabla siguiente.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/setup-identity-provider-ping.html)

1. En **Group Access (Acceso de grupo)**, configure el acceso de grupo siguiente en caso necesario:
   + **https://aws.amazon.com/SAML/Attributes/Role**
   + **https://aws.amazon.com/SAML/Attributes/RoleSessionName**
   + **https://redshift.amazon.com/SAML/Attributes/AutoCreate**
   + **https://redshift.amazon.com/SAML/Attributes/DbUser**

1. Revise la configuración y realice cambios, si es necesario. 

1. Utilice la **Initiate Single Sign-On (SSO) URL ((URL iniciar inicio de sesión único (SSO))** como URL de inicio de sesión para el complemento Browser SAML.

1. Cree un proveedor de identidad SAML de IAM en la consola de IAM. El documento de metadatos que proporciona es el archivo XML de metadatos de federación que guardó al configurar Ping Identity. Para obtener información detallada sobre los pasos, consulte [Creación y administración de un proveedor de identidad de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) en la *Guía del usuario de IAM*.

1. Cree un rol de IAM para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de un rol para SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) en la *Guía del usuario de IAM*. 

1. Cree una directiva de IAM que pueda adjuntar al rol de IAM creado para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de políticas de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*. Para ver un ejemplo de Azure AD, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md). 

## Paso 2: Configuración de JDBC u ODBC para la autenticación en Ping Identity
<a name="setup-identity-provider-ping-auth"></a>

------
#### [ JDBC ]

**Para configurar JDBC para autenticación en Ping Identity**
+ Configure el cliente de base de datos para que se conecte al clúster a través de JDBC mediante el inicio de sesión único de Ping Identity. 

  Puede usar cualquier cliente que use un controlador JDBC para conectarse mediante el inicio de sesión único de Ping Identity o usar un lenguaje como Java para conectarse mediante un script. Para obtener información sobre la instalación y configuración, consulte [Configuración de una conexión del controlador JDBC versión 2.x para Amazon Redshift](jdbc20-install.md).

  Por ejemplo, puede usar SQLWorkBench/J como cliente. Al configurar SQLWorkbench/J, la dirección URL de la base de datos utiliza el siguiente formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si utiliza SQLWorkbench/J como cliente, siga los siguientes pasos:

  1. Inicie SQL Workbench/J. En la página **Select Connection Profile** (Seleccionar perfil de conexión), agregue un **Profile Group** (Grupo de perfil); por ejemplo, **Ping**.

  1. En **Connection Profile (Perfil de conexión)**, escriba ***your-connection-profile-name***; por ejemplo **Ping**.

  1. Elija **Manage Drivers (Administrar controladores)**, y elija **Amazon Redshift**. Elija el icono **Open folder (Abrir carpeta)** junto a **Library (Biblioteca)** y a continuación, elija el archivo JDBC .jar adecuado. 

  1. En la página **Select connection profile (Seleccionar perfil de conexión)** agregue información al perfil de conexión de la siguiente manera:
     + En **User (Usuario)**, especifique el nombre de usuario de PingOne. Este es el nombre de usuario de la cuenta de PingOne que está utilizando con el inicio de sesión único que tiene permisos para el clúster en el que está intentando autenticarse.
     + En **Password (Contraseña)**, escriba la contraseña de PingOne.
     + En **Drivers (Controladores)**, elija **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + En **URL**, escriba **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Elija **Extended Properties (Propiedades extendidas)** y realice una de las acciones siguientes:
     + En **login\$1url**, escriba ***your-ping-sso-login-url***. Este valor especifica la dirección URL que va a utilizar el inicio de sesión único como autenticación al iniciar sesión. 
     + Para Ping Identity, en **nombre\$1complemento**, escriba **com.amazon.redshift.plugin.PingCredentialsProvider**. Este valor especifica al controlador que debe utilizar el inicio de sesión único de Ping Identity como método de autenticación. 
     + Para el inicio de sesión único en Ping Identity, en **nombre\$1complemento**, escriba **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Este valor especifica al controlador que debe utilizar el inicio de sesión único de PingOne para Ping Identity como método de autenticación. 

------
#### [ ODBC ]

**Para configurar ODBC para la autenticación en Ping Identity**
+ Configure el cliente de la base de datos para que se conecte al clúster a través de ODBC utilizando el inicio de sesión único de PingOne para Ping Identity. 

  Amazon Redshift proporciona controladores ODBC para los sistemas operativos Linux, Windows y MacOS. Antes de instalar un controlador ODBC, determine si su herramienta del cliente SQL es de 32 bits o 64 bits. Instale el controlador ODBC que coincida con los requisitos de la herramienta cliente SQL. 

  En Windows, en la página **Amazon Redshift ODBC Driver DSN Setup (Configuración del DSN del controlador ODBC de Amazon Redshift)** en **Connection Settings (Configuración de conexión)**, escriba la siguiente información: 
  + En **Data Source Name (Nombre de origen de datos)**, escriba ***your-DSN***. Especifica el nombre del origen de datos utilizado como nombre del perfil de ODBC. 
  + En **Auth Type (Tipo de autenticación)**, realice una de las operaciones siguientes:
    + Para la configuración de Ping Identity, elija **Proveedor de identidad: Ping Federate**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante inicio de sesión único Ping Identity.
    + Para la configuración de Ping Identity con inicio de sesión único, elija **Identity Provider: Browser SAML** (Proveedor de identidades: Browser SAML). Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante Ping Identity con inicio de sesión único.
  + En **Cluster ID (ID de clúster)**, escriba ***your-cluster-identifier***. 
  + En **Region (Región)**, escriba ***your-cluster-region***.
  + En **Database (Base de datos)**, escriba ***your-database-name***.
  + En **User (Usuario)**, escriba ***your-ping-username***. Este es el nombre de usuario de la cuenta de PingOne que está utilizando con el inicio de sesión único que tiene permiso para el clúster con el que está intentando autenticarse. Utilice esto solo para el **Auth type (Tipo de autenticación)** es **Identity Provider: PingFederate (Proveedor de identidad: PingFederate)**.
  + En **Password (Contraseña)**, escriba ***your-ping-password***. Utilice esto solo para el **Auth type (Tipo de autenticación)** es **Identity Provider: PingFederate (Proveedor de identidad: PingFederate)**. 
  + En **Puerto de escucha**, escriba ***your-listen-port***. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890. Esto solo se aplica al complemento SAML del navegador. 
  +  En **Response Timeout (Tiempo de espera de respuesta)**, escriba ***the-number-of-seconds***. Este es el número de segundos que se deben esperar antes de que el servidor IdP devuelva una respuesta. El número mínimo de segundos debe ser 10. Si establecer la conexión toma más que este umbral de tiempo, se anula la conexión. Esto solo se aplica al complemento SAML del navegador.
  + En **Login URL (URL de inicio de sesión)**, escriba ***your-login-url***. Esto solo se aplica al complemento SAML del navegador.

  En Mac OS y Linux, edite el archivo `odbc.ini` de la siguiente manera: 
**nota**  
Ninguna de las entradas distingue entre mayúsculas y minúsculas.
  + En **clusterid**, escriba ***your-cluster-identifier***. Este es el nombre del clúster de Amazon Redshift creado.
  + En **region**, escriba ***your-cluster-region***. Esta es la región de AWS del clúster de Amazon Redshift creado.
  + En **database**, escriba ***your-database-name***. Este es el nombre de la base de datos a la que intenta tener acceso en el clúster de Amazon Redshift.
  + En **locale**, escriba **en-us**. Este es el idioma en el que se muestran los mensajes de error.
  + En **iam**, entra **1**. Este valor especifica que el controlador debe autenticarse mediante credenciales de IAM.
  + En **plugin\$1name**, realice una de las operaciones siguientes:
    + Para la configuración de Ping Identity, escriba **BrowserSAML**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar con Ping Identity. 
    + Para la configuración de Ping Identity con inicio de sesión único, introduzca **Ping**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante Ping Identity con inicio de sesión único. 
  + En **uid**, escriba ***your-ping-username***. Este es el nombre de usuario de la cuenta de Microsoft Azure que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse. Utilice esto solo para **plugin\$1name** es **Ping**.
  + En **pwd**, escriba ***your-ping-password***. Utilice esto solo para **plugin\$1name** es **Ping**. 
  + En **login\$1url**, escriba ***your-login-url***. Esta es la URL de inicio de inicio de sesión único que devuelve la respuesta SAML. Esto solo se aplica al complemento SAML del navegador.
  + En **idp\$1response\$1timeout**, escriba ***the-number-of-seconds***. Este es el periodo de tiempo especificado en segundos que se va a esperar a que PingOne Identity responda. Esto solo se aplica al complemento SAML del navegador.
  + En **listen\$1port**, escriba ***your-listen-port***. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890. Esto solo se aplica al complemento SAML del navegador.

  En Mac OS y Linux, edite también la configuración del perfil para agregar las siguientes exportaciones:

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Okta
<a name="setup-identity-provider-okta"></a>

Puede utilizar Okta como proveedor de identidades (IdP) para acceder a su clúster de Amazon Redshift. Este tutorial le muestra cómo puede utilizar Okta como proveedor de identidades (IdP) para acceder al clúster de Amazon Redshift.

## Paso 1: Configuración de Okta y la cuenta de AWS para establecer una relación de confianza entre ellas
<a name="setup-identity-provider-okta-trust"></a>

En el siguiente procedimiento se describe cómo configurar una relación de confianza.

**Para configurar Okta y su cuenta de AWS para establecer una relación de confianza entre ellas**

1. Cree o utilice un clúster de Amazon Redshift existente para que los usuarios de Okta se conecten a él. Para configurar la conexión, se necesitan ciertas propiedades de este clúster, como el identificador del clúster. Para obtener más información, consulte [Creating a Cluster (Creación de un clúster)](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Agregue Amazon Redshift como una nueva aplicación en el portal de Okta. Para ver los pasos detallados, consulte la [documentación de Okta](https://developer.okta.com/docs/). 
   + Elija **Add Application (Agregar aplicación)**.
   + En **Add Application (Agregar aplicación)**, elija **Create New App (Crear nueva aplicación)**.
   + En la página **Create a New Add Application Integration (Crear una nueva integración Agregar aplicación)**, en **Platform (Plataforma)**, elija **Web**.
   + En **Sign on method (Método de inicio de sesión)**, elija **SAML v2.0**.
   + En la página **General Settings (Configuración general)**, en **App name (Nombre de la aplicación)**, escriba ***your-redshift-saml-sso-name***. Se trata del nombre de la aplicación.
   + En la página **Configuración de SAML**, en **URL de inicio de sesión único**, escriba ***your-redshift-local-host-url***. Este es el alojamiento local y el puerto al que redirige la aserción SAML; por ejemplo, `http://localhost:7890/redshift/`.

1. Utilice el valor de **Single sign on URL** (URL de inicio de sesión único) como **Recipient URL** (URL de destinatario) y **Destination URL** (URL de destino).

1. En **Signing (Firma)**, elija **Sign Assertion (Aserción de firma)**.

1. En **Audience URI (SP Entity ID)** (URI de audiencia [ID entidad SP]), ingrese **urn:amazon:webservices** para las reclamaciones, como se muestra en la siguiente tabla. 

1. En la sección **Configuración avanzada**, en **ID de emisor SAML**, ingrese ***your-Identity-Provider-Issuer-ID***, que puede encontrar en la sección **Ver instrucciones de configuración**.

1. En la sección **Attribute Statements (Declaraciones de atributos)**, cree las reclamaciones como se muestra en la tabla siguiente.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/redshift/latest/mgmt/setup-identity-provider-okta.html)

1. En la sección **App Embed Link (Enlace de inserción de aplicaciones)**, busque la URL que quiere usar como URL de inicio de sesión con el complemento Browser SAML.

1. Cree un proveedor de identidad SAML de IAM en la consola de IAM. El documento de metadatos que proporciona es el archivo XML de metadatos de federación que guardó al configurar Okta. Para obtener información detallada sobre los pasos, consulte [Creación y administración de un proveedor de identidad de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) en la *Guía del usuario de IAM*. 

1. Cree un rol de IAM para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de un rol para SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) en la *Guía del usuario de IAM*. 

1. Cree una directiva de IAM que pueda adjuntar al rol de IAM creado para la federación de SAML 2.0 en la consola de IAM. Para obtener información detallada sobre los pasos, consulte [Creación de políticas de IAM (Consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*. Para ver un ejemplo de Azure AD, consulte [Configuración de la autenticación de inicio de sesión único de JDBC u ODBC](setup-azure-ad-identity-provider.md). 

## Paso 2: Configuración de JDBC u ODBC para la autenticación en Okta
<a name="setup-identity-provider-okta-auth"></a>

------
#### [ JDBC ]

**Para configurar JDBC para la autenticación en Okta**
+ Configure el cliente de la base de datos para conectarse al clúster a través de JDBC mediante el inicio de sesión único de Okta.

  Puede usar cualquier cliente que use un controlador JDBC para conectarse mediante el inicio de sesión único de Okta o usar un lenguaje como Java para conectarse mediante un script. Para obtener información sobre la instalación y configuración, consulte [Configuración de una conexión del controlador JDBC versión 2.x para Amazon Redshift](jdbc20-install.md).

  Por ejemplo, puede usar SQLWorkBench/J como cliente. Al configurar SQLWorkbench/J, la dirección URL de la base de datos utiliza el siguiente formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Si utiliza SQLWorkbench/J como cliente, siga los siguientes pasos:

  1. Inicie SQL Workbench/J. En la página **Select Connection Profile** (Seleccionar perfil de conexión), agregue un **Profile Group** (Grupo de perfil); por ejemplo, **Okta**.

  1. En **Connection Profile (Perfil de conexión)**, escriba ***your-connection-profile-name***; por ejemplo **Okta**.

  1. Elija **Manage Drivers (Administrar controladores)**, y elija **Amazon Redshift**. Elija el icono **Open folder (Abrir carpeta)** junto a **Library (Biblioteca)** y a continuación, elija el archivo JDBC .jar adecuado. 

  1. En la página **Select connection profile (Seleccionar perfil de conexión)** agregue información al perfil de conexión de la siguiente manera:
     + Para **User (Usuario)**, escriba su nombre de usuario de Okta. Este es el nombre de usuario de la cuenta de Okta que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse.
     + En **Password (Contraseña)**, escriba su contraseña de Okta.
     + En **Drivers (Controladores)**, elija **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + En **URL**, escriba **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Elija **Extended Properties (Propiedades extendidas)** y realice una de las acciones siguientes:
     + En **login\$1url**, escriba ***your-okta-sso-login-url***. Este valor especifica la dirección URL que va a utilizar el inicio de sesión único como autenticación al iniciar sesión en Okta. 
     + Para el inicio de sesión único de Okta, en **nombre\$1complemento**, introduzca **com.amazon.redshift.plugin.OktaCredentialsProvider**. Este valor especifica al controlador que debe utilizar el inicio de sesión único de Okta como método de autenticación. 
     + Para el inicio de sesión único de Okta con MFA, en **nombre\$1complemento**, introduzca **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Este valor le indica al controlador que debe utilizar el inicio de sesión único de Okta con MFA como método de autenticación. 

------
#### [ ODBC ]

**Para configurar ODBC para la autenticación en Okta**
+ Configure el cliente de la base de datos para conectarse al clúster a través de ODBC mediante el inicio de sesión único de Okta. 

  Amazon Redshift proporciona controladores ODBC para los sistemas operativos Linux, Windows y MacOS. Antes de instalar un controlador ODBC, determine si su herramienta del cliente SQL es de 32 bits o 64 bits. Instale el controlador ODBC que coincida con los requisitos de la herramienta cliente SQL. 

  En Windows, en la página **Amazon Redshift ODBC Driver DSN Setup (Configuración del DSN del controlador ODBC de Amazon Redshift)** en **Connection Settings (Configuración de conexión)**, escriba la siguiente información: 
  + En **Data Source Name (Nombre de origen de datos)**, escriba ***your-DSN***. Especifica el nombre del origen de datos utilizado como nombre del perfil de ODBC. 
  + En **Auth Type (Tipo de autenticación)**, realice una de las operaciones siguientes:
    + Para la configuración del inicio de sesión único de Okta, elija **Identity Provider: Okta**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de Okta.
    + Para la configuración del inicio de sesión único de Okta con MFA, elija **Identity Provider: Browser SAML**. Este es el método de autenticación que utiliza el controlador ODBC para autenticarse mediante el inicio de sesión único de Okta con MFA.
  + En **Cluster ID (ID de clúster)**, escriba ***your-cluster-identifier***. 
  + En **Region (Región)**, escriba ***your-cluster-region***.
  + En **Database (Base de datos)**, escriba ***your-database-name***.
  + En **User (Usuario)**, escriba ***your-okta-username***. Este es el nombre de usuario de la cuenta de Okta que está utilizando para el inicio de sesión único que tiene permiso para el clúster con el que está intentando autenticarse. Utilice esto solo si **Auth type (Tipo de autorización)** es **Identity Provider: Okta (Proveedor de identidades: Okta)**.
  + En **Password (Contraseña)**, escriba ***your-okta-password***. Utilice esto solo si **Auth type (Tipo de autorización)** es **Identity Provider: Okta (Proveedor de identidades: Okta)**. 

  En Mac OS y Linux, edite el archivo `odbc.ini` de la siguiente manera: 
**nota**  
Ninguna de las entradas distingue entre mayúsculas y minúsculas.
  + En **clusterid**, escriba ***your-cluster-identifier***. Este es el nombre del clúster de Amazon Redshift creado.
  + En **region**, escriba ***your-cluster-region***. Esta es la región de AWS del clúster de Amazon Redshift creado.
  + En **database**, escriba ***your-database-name***. Este es el nombre de la base de datos a la que intenta tener acceso en el clúster de Amazon Redshift.
  + En **locale**, escriba **en-us**. Este es el idioma en el que se muestran los mensajes de error.
  + En **iam**, entra **1**. Este valor especifica que el controlador debe autenticarse mediante credenciales de IAM.
  + En **plugin\$1name**, realice una de las operaciones siguientes:
    + Para la configuración de inicio de sesión único de Okta con MFA, introduzca **BrowserSAML**. Este es el método de autenticación que utiliza el controlador ODBC para autenticarse mediante el inicio de sesión único de Okta con MFA. 
    + Para la configuración del inicio de sesión único de Okta, introduzca **Okta**. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de Okta. 
  + En **uid**, escriba ***your-okta-username***. Este es el nombre de usuario de la cuenta de Okta que está utilizando para el inicio de sesión único, que tiene permisos en el clúster en el que está intentando autenticarse. Use esto solo para **plugin\$1name** es **Okta**.
  + En **pwd**, escriba ***your-okta-password***. Use esto solo para **plugin\$1name** es **Okta**. 
  + En **login\$1url**, escriba ***your-login-url***. Esta es la URL de inicio de inicio de sesión único que devuelve la respuesta SAML. Esto solo se aplica al complemento SAML del navegador.
  + En **idp\$1response\$1timeout**, escriba ***the-number-of-seconds***. Este es el periodo de tiempo especificado en segundos que se va a esperar a que PingOne responda. Esto solo se aplica al complemento SAML del navegador.
  + En **listen\$1port**, escriba ***your-listen-port***. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890. Esto solo se aplica al complemento SAML del navegador.

  En Mac OS y Linux, edite también la configuración del perfil para agregar las siguientes exportaciones:

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------