

 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/). 

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