

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

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

------