Okta - Amazon Redshift

Okta

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

Paso 1: Configuración de Okta y la cuenta de AWS para establecer una relación de confianza entre ellas

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

Para configurar Okta y su cuenta de AWS para establecer una relación de confianza entre ellas
  1. Cree o utilice un clúster de Amazon Redshift existente para que los usuarios de Okta se conecten a él. Para configurar la conexión, se necesitan ciertas propiedades de este clúster, como el identificador del clúster. Para obtener más información, consulte Creating a Cluster (Creación de un clúster).

  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 de JDBC u ODBC.

Paso 2: Configuración de JDBC u ODBC para la autenticación en Okta

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

    Puede usar cualquier cliente que use un controlador JDBC para conectarse mediante el inicio de sesión único de Okta o usar un lenguaje como Java para conectarse mediante un script. Para obtener información sobre la instalación y configuración, consulte Configuración de una conexión del controlador JDBC versión 2.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.

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

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

    En Windows, en la página Amazon Redshift ODBC Driver DSN Setup (Configuración del DSN del controlador ODBC de Amazon Redshift) en Connection Settings (Configuración de conexión), escriba la siguiente información:

    • En Data Source Name (Nombre de origen de datos), escriba your-DSN. Especifica el nombre del origen de datos utilizado como nombre del perfil de ODBC.

    • En Auth Type (Tipo de autenticación), realice una de las operaciones siguientes:

      • Para la configuración del inicio de sesión único de Okta, elija Identity Provider: Okta. Este es el método de autenticación que utiliza el controlador ODBC para autenticar mediante el inicio de sesión único de Okta.

      • Para la configuración del inicio de sesión único de Okta con MFA, elija Identity Provider: Browser SAML. Este es el método de autenticación que utiliza el controlador ODBC para autenticarse mediante el inicio de sesión único de Okta con MFA.

    • En Cluster ID (ID de clúster), escriba your-cluster-identifier.

    • En Region (Región), escriba your-cluster-region.

    • En Database (Base de datos), escriba your-database-name.

    • En User (Usuario), escriba your-okta-username. Este es el nombre de usuario de la cuenta de Okta que está utilizando para el inicio de sesión único que tiene permiso para el clúster con el que está intentando autenticarse. Utilice esto solo si Auth type (Tipo de autorización) es Identity Provider: Okta (Proveedor de identidades: Okta).

    • En Password (Contraseña), escriba your-okta-password. Utilice esto solo si Auth type (Tipo de autorización) es Identity Provider: Okta (Proveedor de identidades: Okta).

    En Mac OS y Linux, edite el archivo odbc.ini de la siguiente manera:

    nota

    Ninguna de las entradas distingue entre mayúsculas y minúsculas.

    • En clusterid, escriba your-cluster-identifier. Este es el nombre del clúster de Amazon Redshift creado.

    • En region, escriba your-cluster-region. Esta es la región de AWS del clúster de Amazon Redshift creado.

    • En database, escriba your-database-name. Este es el nombre de la base de datos a la que intenta tener acceso en el clúster de Amazon Redshift.

    • En locale, escriba en-us. Este es el idioma en el que se muestran los mensajes de error.

    • En iam, entra 1. Este valor especifica que el controlador debe autenticarse mediante credenciales de IAM.

    • En plugin_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