Paso 5: Configurar una conexión JDBC u ODBC para usar credenciales de IAM - Amazon Redshift

Paso 5: Configurar una conexión JDBC u ODBC para usar credenciales de IAM

Puede configurar su cliente SQL con un controlador JDBC u ODBC de Amazon Redshift. Este controlador administra el proceso de creación de credenciales de usuario de la base de datos y establecimiento de una conexión entre el cliente SQL y la base de datos de Amazon Redshift.

Si usa un proveedor de identidad para la autenticación, especifique el nombre de un complemento de proveedor de credenciales. Los controladores JDBC y ODBC de Amazon Redshift incluyen complementos para los siguientes proveedores de identidad basados en SAML:

Para configurar una conexión JDBC para usar las credenciales de IAM
  1. Descargue el controlador JDBC de Amazon Redshift más reciente de la página Configuración de una conexión del controlador JDBC versión 2.1 para Amazon Redshift.

  2. Cree una URL de JDBC con las opciones de credenciales de IAM en uno de los siguientes formatos. Para usar la autenticación de IAM, agregue iam: a la URL de JDBC de Amazon Redshift detrás de jdbc:redshift:, como se muestra en el siguiente ejemplo.

    jdbc:redshift:iam://

    Agregue cluster-name, region y account-id. El controlador JDBC usa la información de su cuenta de IAM y el nombre del clúster para recuperar el ID del clúster y la región de AWS. Para ello, el usuario o rol debe tener permiso para llamar a la operación redshift:DescribeClusters con el clúster especificado. Si el usuario o el rol no tiene permiso para llamar a la operación redshift:DescribeClusters, incluya el ID del clúster, la región de AWS y el puerto como se muestra en el siguiente ejemplo. El número de puerto es opcional.

    jdbc:redshift:iam://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev
  3. Agregue opciones de JDBC para proporcionar las credenciales de IAM. Para proporcionar las credenciales de IAM se usan diferentes combinaciones de opciones de JDBC. Para obtener más información, consulte Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos.

    La siguiente URL especifica AccessKeyID y SecretAccessKey para un usuario.

    jdbc:redshift:iam://examplecluster:us-west-2/dev?AccessKeyID=AKIAIOSFODNN7EXAMPLE&SecretAccessKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

    En el siguiente ejemplo, se especifica un perfil con nombre que contiene las credenciales de IAM.

    jdbc:redshift:iam://examplecluster:us-west-2/dev?Profile=user2
  4. Agregue las opciones JDBC que utiliza el controlador JDBC para llamar a la operación de la API GetClusterCredentials. No incluya estas opciones si llama a la operación de la API GetClusterCredentials mediante programación.

    El siguiente ejemplo incluye las opciones GetClusterCredentials de JDBC.

    jdbc:redshift:iam://examplecluster:us-west-2/dev?plugin_name=com.amazon.redshift.plugin.AzureCredentialsProvider&UID=user&PWD=password&idp_tenant=my_tenant&client_secret=my_secret&client_id=my_id
Para configurar una conexión ODBC para usar las credenciales de IAM

En el procedimiento siguiente, sólo puede encontrar pasos para configurar la autenticación de IAM. Para ver el procedimiento para usar la autenticación estándar, que usa un nombre de usuario y una contraseña de la base de datos, consulte Configuración de una conexión ODBC.

  1. Instale y configure el controlador ODBC de Amazon Redshift más reciente para su sistema operativo. Para obtener más información, consulte la página Configuración de una conexión ODBC.

    importante

    La versión del controlador ODBC de Amazon Redshift debe ser 1.3.6.1000 o posterior.

  2. Siga los pasos correspondientes a su sistema operativo para configurar las opciones de conexión.

    Para obtener más información, consulte una de las siguientes:

  3. En los sistemas operativos Microsoft Windows, acceda a la ventana “Amazon Redshift ODBC Driver DSN Setup” (Configuración de DSN del controlador ODBC de Amazon Redshift).

    1. En Connection Settings (Configuración de conexión), escriba la siguiente información:

      • Data Source Name

      • Server (Servidor) (opcional)

      • Port (Puerto) (opcional)

      • Base de datos

      Si el usuario o el rol tiene permiso para llamar a la operación redshift:DescribeClusters, solo son necesarios Nombre del origen de datos y Base de datos. Amazon Redshift utiliza ClusterId y Region (Región) para obtener el servidor y el puerto llamando a la operación DescribeCluster.

      Si el usuario o el rol no tiene permiso para llamar a la operación redshift:DescribeClusters, proporcione especifique Servidor y Puerto.

    2. En Autenticación, elija un valor para Tipo de autenticación.

      Para cada tipo de autenticación, introduzca los valores que se enumeran a continuación:

      Perfil de AWS

      Introduzca la información siguiente:

      • ID del clúster

      • Region

      • Nombre del perfil

        Ingrese el nombre de un perfil en un archivo de configuración de AWS que contenga valores para las opciones de conexión de ODBC. Para obtener más información, consulte Uso de un perfil de configuración.

      (Opcional) Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      Credenciales de IAM

      Introduzca la información siguiente:

      • ID del clúster

      • Region

      • AccessKeyID (ID de clave de acceso) y SecretAccessKey (Clave de acceso secreta)

        El ID de clave de acceso y la clave de acceso secreta del rol de IAM configurado para la autenticación de la base de datos de IAM.

      • SessionToken

        SessionToken (Token de sesión) es obligatorio para las funciones de IAM con credenciales temporales. Para obtener más información, consulte Credenciales de seguridad temporales.

      Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      Proveedor de identidad: AD FS

      Para la autenticación integrada de Windows con AD FS, deje User (Usuario) y Password (Contraseña) vacíos.

      Proporcione los detalles del IdP:

      • IdP Host (Host del proveedor de identidades)

        El nombre del host del proveedor de identidad corporativo. Este nombre no debe incluir barras diagonales ( / ).

      • IdP Port (Puerto del proveedor de identidades) (opcional)

        El puerto usado por el proveedor de identidad. El valor predeterminado es 443.

      • Preferred Role (Función preferida)

        El nombre de recurso de Amazon (ARN) de un rol de IAM obtenido de los elementos AttributeValue de varios valores del 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.

      (Opcional) Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      • DbUser

      • User AutoCreate (Creación automática de usuarios)

      • DbGroups

      Para obtener más información, consulte Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos.

      Proveedor de identidades: PingFederate

      En User (Usuario) y Password (Contraseña), introduzca el nombre de usuario y la contraseña del IdP.

      Proporcione los detalles del IdP:

      • IdP Host (Host del proveedor de identidades)

        El nombre del host del proveedor de identidad corporativo. Este nombre no debe incluir barras diagonales ( / ).

      • IdP Port (Puerto del proveedor de identidades) (opcional)

        El puerto usado por el proveedor de identidad. El valor predeterminado es 443.

      • Preferred Role (Función preferida)

        El nombre de recurso de Amazon (ARN) de un rol de IAM obtenido de los elementos AttributeValue de varios valores del 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.

      (Opcional) Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      • DbUser

      • User AutoCreate (Creación automática de usuarios)

      • DbGroups

      Para obtener más información, consulte Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos.

      Proveedor de identidades: Okta

      En User (Usuario) y Password (Contraseña), introduzca el nombre de usuario y la contraseña del IdP.

      Proporcione los detalles del IdP:

      • IdP Host (Host del proveedor de identidades)

        El nombre del host del proveedor de identidad corporativo. Este nombre no debe incluir barras diagonales ( / ).

      • IdP Port (Puerto del proveedor de identidades)

        Este valor no es utilizado por Okta.

      • Preferred Role (Función preferida)

        Un nombre de recurso de Amazon (ARN) de un rol de IAM obtenido de los elementos AttributeValue del 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.

      • Okta App ID (ID de aplicación Okta)

        Un ID de una aplicación Okta. El valor de App ID se incluye detrás de "amazon_aws" en el enlace incrustado de la aplicación Okta. Póngase en contacto con el administrador de su IdP para obtener este valor.

      (Opcional) Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      • DbUser

      • User AutoCreate (Creación automática de usuarios)

      • DbGroups

      Para obtener más información, consulte Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos.

      Proveedor de identidades: Azure AD

      En User (Usuario) y Password (Contraseña), introduzca el nombre de usuario y la contraseña del IdP.

      En Cluster ID (ID de clúster) y Region (Región), ingrese el ID de clúster y la región de AWS del clúster de Amazon Redshift.

      En Database (Base de datos), ingrese la base de datos que creó para el clúster de Amazon Redshift.

      Proporcione los detalles del IdP:

      • Arrendatario de IdP

        El inquilino utilizado para Azure AD.

      • Secreto de cliente de Azure

        El secreto del cliente de la aplicación para empresas de Amazon Redshift en Azure.

      • ID de cliente de Azure

        El ID del cliente (ID de la aplicación) de la aplicación para empresas de Amazon Redshift en Azure.

      (Opcional) Proporcione detalles de las opciones que utiliza el controlador ODBC para llamar a la operación de la API GetClusterCredentials:

      • DbUser

      • User AutoCreate (Creación automática de usuarios)

      • DbGroups

      Para obtener más información, consulte Opciones de JDBC y ODBC para crear credenciales de usuario de base de datos.