Opciones para proporcionar credenciales de IAM - Amazon Redshift

Opciones para proporcionar credenciales de IAM

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

  • Perfil de AWS

    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.

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

  • 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 Uso de un complemento de proveedor de credenciales.

    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.1 y Configurar las opciones del controlador ODBC.

Para obtener más información, consulte Configurar una conexión JDBC u ODBC para usar credenciales de IAM.

Uso de un perfil de configuración

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 Uso de un complemento de proveedor de credenciales. Si no se utiliza plugin_name, se ignoran las demás opciones.

En el siguiente ejemplo, se muestra el archivo ~/.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 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.

Para obtener más información acerca del uso de perfiles para el controlador ODBC, consulte Configuración de la autenticación.

Opciones de JDBC y ODBC para proporcionar credenciales de IAM

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

Opción

Descripción

Iam

Para uso exclusivo en una cadena de conexión de ODBC. Establézcalo en 1 para usar la autenticación de IAM.

AccessKeyID

SecretAccessKey

SessionToken

El ID de clave de acceso y clave de acceso secreta para el rol o usuario de IAM configurado para autenticación de base de datos de IAM. SessionToken es necesario solo para un rol de IAM con credenciales temporales. SessionToken no se usa para un usuario. Para obtener más información, consulte Credenciales de seguridad temporales.
plugin_name El nombre completo de una clase que implementa un proveedor de credenciales. El controlador JDBC de Amazon Redshift incluye complementos de proveedores de credenciales basados en SAML. Si proporciona plugin_name, también puede proporcionar otras opciones relacionadas. Para obtener más información, consulte Uso de un complemento de proveedor de credenciales.

Profile

El nombre de un perfil en un archivo de credenciales o configuración de AWS que contiene valores para las opciones de conexión de JDBC. Para obtener más información, consulte Uso de un perfil de configuración.

Uso de un complemento de proveedor de credenciales

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 JDBC u ODBC con Microsoft Azure AD.

Configuración de la autenticación multifactor

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 SAML sigue este flujo:

  1. Un usuario intenta iniciar sesión.

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

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

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

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

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

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

  1. Un usuario intenta iniciar sesión.

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

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

  4. 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_id.

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

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

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

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

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

Consulte las siguientes secciones:

Configuración de las opciones del complemento

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.

Opción

Descripción
plugin_name

Para JDBC, el nombre de la clase que implementa un proveedor de credenciales. Especifique uno de los siguientes valores:

  • Para Active Directory Federation Services

    com.amazon.redshift.plugin.AdfsCredentialsProvider
  • Para Okta

    com.amazon.redshift.plugin.OktaCredentialsProvider
  • Para PingFederate

    com.amazon.redshift.plugin.PingCredentialsProvider
  • Para Microsoft Azure Active Directory

    com.amazon.redshift.plugin.AzureCredentialsProvider
  • Para SAML MFA

    com.amazon.redshift.plugin.BrowserSamlCredentialsProvider
  • Para el inicio de sesión único de Microsoft Azure Active Directory con MFA

    com.amazon.redshift.plugin.BrowserAzureCredentialsProvider

Para ODBC, especifique uno de los siguientes valores:

  • Para Active Directory Federation Services: adfs

  • Para Okta: okta

  • Para PingFederate: ping

  • Para Microsoft Azure Active Directory: azure

  • Para SAML MFA: browser saml

  • Para el inicio de sesión único de Microsoft Azure Active Directory con MFA: browser azure ad

idp_host El nombre del host del proveedor de identidad corporativo. Este nombre no debe incluir barras diagonales ('/'). Para un proveedor de identidad de Okta, el valor de idp_host debe terminar por .okta.com.

idp_port

El puerto usado por el proveedor de identidad. El valor predeterminado es 443. Este puerto se omite para Okta.

preferred_role

El nombre de recurso de Amazon (ARN) de los elementos AttributeValue para el atributo Role en la aserción SAML. Póngase en contacto con el administrador de su IdP para encontrar el valor adecuado para el rol preferido. Para obtener más información, consulte Configuración de aserciones SAML para el IdP.

user

Un nombre de usuario corporativo, incluido el dominio cuando proceda. Por ejemplo, en Active Directory, el nombre de dominio debe tener el formato dominio\nombre_usuario.
password

La contraseña del usuario corporativo. Le recomendamos que no utilice esta opción. En lugar de ello, use el cliente SQL para proporcionar la contraseña.

app_id

Un ID de una aplicación Okta. Solo se usa con Okta. El valor de app_id se incluye detrás de amazon_aws en el enlace incrustado de la aplicación Okta. Para obtener este valor, póngase en contacto con el administrador de su IdP. A continuación se muestra un ejemplo de un enlace incrustado de aplicación: https://example.okta.com/home/amazon_aws/0oa2hylwrpM8UGehd1t7/272

idp_tenant

Un inquilino utilizado para Azure AD. Se utiliza solo con Azure.

client_id

Un ID de cliente para la aplicación para empresas de Amazon Redshift en Azure AD. Se utiliza solo con Azure.

Configuración de la autenticación de inicio de sesión único JDBC u ODBC con Microsoft Azure AD

Puede usar Microsoft Azure AD como proveedor de identidades (IdP) para obtener acceso al clúster de Amazon Redshift. A continuación, puede encontrar un procedimiento que describa cómo configurar una relación de confianza para este fin. 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 en la Guía del usuario de IAM.

nota

Para usar Azure AD con JDBC, el controlador JDBC de Amazon Redshift debe ser la versión 1.2.37.1061 o una posterior. Para usar Azure AD con ODBC, el controlador ODBC de Amazon Redshift debe ser la versión 1.4.10.1000 o una posterior.

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.

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

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

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

  4. Elija +New application (+Nueva aplicación). Aparecerá la página Add an application (Agregar una aplicación).

  5. Buscar AWS en el campo de búsqueda.

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

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

  8. Elija SAML. Se abrirá la página Amazon Web Services (AWS) | Inicio de sesión basado en SAML.

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

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

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

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

  13. Elija + Add new claim (+Agregar nueva reclamación) para agregar una reclamación para los usuarios de base de datos.

    En Nombre, ingrese 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.

  14. Elija + Add new claim (+Agregar nueva reclamación) para agregar una reclamación para AutoCreate.

    En Nombre, ingrese 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.

    Nombre de la reclamación Valor

    Identificador de usuario único (ID de nombre)

    user.userprincipalname

    https://aws.amazon.com/SAML/Attributes/SessionDuration

    "900"

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam::123456789012:role/AzureSSO,arn:aws:iam::123456789012:saml-provider/AzureADProvider

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.userprincipalname

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbGroups

    user.assignedroles

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.userprincipalname

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

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

  17. 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) en la Guía del usuario de IAM.

  18. 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 en la Guía del usuario de IAM.

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

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.1 para Amazon Redshift.

    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.

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

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

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

    5. 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_name, 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_tenant, 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_secret, 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_id, 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_name, 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_tenant, 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_id, 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_port, escriba your-listen-port. Este es el puerto en el que escucha el servidor local. El valor predeterminado es 7890.

      • En idp_response_timeout, 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.

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.

    También instale y configure el controlador ODBC de Amazon Redshift más reciente para su sistema operativo según se indica a continuación:

    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_complemento para la configuración de inicio de sesión único de Azure AD, introduzcaAzureAD. Esto especifica al controlador que debe utilizar el inicio de sesión único de Azure como método de autenticación.

    • En nombre_complemento 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_name es AzureAD.

    • En pwd, escriba your-azure-password. Utilice esto solo para plugin_name es AzureAD.

    • En idp_tenant, 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_secret, 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_id, 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_port, 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_response_timeout, 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
Para solucionar problemas con el complemento Azure AD de navegador
  1. 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/.

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

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

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

Configuración de la autenticación de inicio de sesión único de JDBC u ODBC con AD FS

Puede utilizar AD FS como proveedor de identidad (IdP) para acceder al clúster de Amazon Redshift. A continuación, puede encontrar un procedimiento que describa cómo configurar una relación de confianza para este fin. Para obtener más información acerca de cómo configurar AWS como proveedor de servicios para AD FS, consulte Configuración de una relación de confianza para usuario autenticado y agregación de reclamaciones en el proveedor de identidades SAML 2.0 en la Guía del usuario de IAM.

Para configurar AD FS 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 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    15. 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);
    16. 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).

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

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

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

  4. 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) en la Guía del usuario de IAM.

  5. 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 en la Guía del usuario de IAM.

  6. 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) 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 JDBC u ODBC con Microsoft Azure AD.

Para configurar JDBC para la autenticación en 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.1 para Amazon Redshift.

    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.

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

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

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

    5. Elija Extended Properties (Propiedades extendidas). En plugin_name, 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.

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.

    También instale y configure el controlador ODBC de Amazon Redshift más reciente para su sistema operativo según se indica a continuación:

    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_name, 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_name es ADFS.

    • En pwd, escriba your-adfs-password. Utilice esto solo para plugin_name 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

Configuración de la autenticación de inicio de sesión único JDBC u ODBC con Ping Identity

Puede utilizar Ping Identity como proveedor de identidades (IdP) para acceder a su clúster de Amazon Redshift. A continuación, puede encontrar un procedimiento que describa cómo configurar una relación de confianza para este fin mediante el portal de PingOne. Para obtener más información acerca de cómo configurar AWS como proveedor de servicios para Ping Identity, consulte Configuración de una relación de confianza para usuario autenticado y agregación de reclamaciones en el proveedor de identidades SAML 2.0 en la Guía del usuario de IAM.

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

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

    1. Vaya a My Applications (Mis aplicaciones).

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

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

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

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

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

    7. En Entity ID (ID de entidad), escriba urn:amazon:webservices.

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

    9. En la sección SSO Attribute Mapping (Mapeo de atributos de SSO), cree las reclamaciones como se muestra en la tabla siguiente.

      Atributo de aplicación Atributo de puente de identidad de valor literal

      https://aws.amazon.com/SAML/Attributes/Role

      arn:aws:iam::123456789012:role/Ping,arn:aws:iam::123456789012:saml-provider/PingProvider

      https://aws.amazon.com/SAML/Attributes/RoleSessionName

      email

      https://redshift.amazon.com/SAML/Attributes/AutoCreate

      "true"

      https://redshift.amazon.com/SAML/Attributes/DbUser

      email

      https://redshift.amazon.com/SAML/Attributes/DbGroups

      Los grupos en los atributos “DbGroups” contienen el prefijo @directory. Para eliminar esto, en Identity bridge (Puente de identidad), ingrese memberOf. En Function (Función), elija ExtractByRegularExpression. En Expression (Expresión), escriba (.*)[\@](?:.*).

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

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

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

  6. 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) en la Guía del usuario de IAM.

  7. 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 en la Guía del usuario de IAM.

  8. 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) 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 JDBC u ODBC con Microsoft Azure AD.

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.1 para Amazon Redshift.

    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.

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

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

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

    5. Elija Extended Properties (Propiedades extendidas) y realice una de las acciones siguientes:

      • En login_url, 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_complemento, 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_complemento, 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.

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.

    También instale y configure el controlador ODBC de Amazon Redshift más reciente para su sistema operativo según se indica a continuación:

    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_name, 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_name es Ping.

    • En pwd, escriba your-ping-password. Utilice esto solo para plugin_name es Ping.

    • En login_url, 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_response_timeout, 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_port, 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

Configuración de la autenticación de inicio de sesión único de JDBC u ODBC con Okta

Puede utilizar Okta como proveedor de identidades (IdP) para acceder a su clúster de Amazon Redshift. A continuación, puede encontrar un procedimiento que describa cómo configurar una relación de confianza para este fin. Para obtener más información acerca de cómo configurar AWS como proveedor de servicios para Okta, consulte Configuración de una relación de confianza para usuario autenticado y agregación de reclamaciones en el proveedor de identidades SAML 2.0 en la Guía del usuario de IAM.

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

  2. Agregue Amazon Redshift como una nueva aplicación en el portal de Okta. Para ver los pasos detallados, consulte la documentación de Okta.

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

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

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

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

  6. En la sección Advanced Settings (Configuración avanzada), en SAML Issuer ID (ID de emisor SAML), ingrese your-Identity-Provider-Issuer-ID, que puede encontrar en la sección View Setup Instructions (Ver instrucciones de configuración).

  7. En la sección Attribute Statements (Declaraciones de atributos), cree las reclamaciones como se muestra en la tabla siguiente.

    Nombre de la reclamación Valor

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam::123456789012:role/Okta,arn:aws:iam::123456789012:saml-provider/Okta

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.email

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.email

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

  9. 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) en la Guía del usuario de IAM.

  10. 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 en la Guía del usuario de IAM.

  11. 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) 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 JDBC u ODBC con Microsoft Azure AD.

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.1 para Amazon Redshift.

    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.

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

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

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

    5. Elija Extended Properties (Propiedades extendidas) y realice una de las acciones siguientes:

      • En login_url, 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_complemento, 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_complemento, 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.

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.

    También instale y configure el controlador ODBC de Amazon Redshift más reciente para su sistema operativo según se indica a continuación:

    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_name, 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_name es Okta.

    • En pwd, escriba your-okta-password. Use esto solo para plugin_name es Okta.

    • En login_url, 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_response_timeout, 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_port, 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