Configuración del administrador: autenticación de OpenID Connect

Las empresas usan diferentes proveedores de OpenID Connect (OP) para coordinar con OpenID Connect (por ejemplo, Okta o OneLogin). Es posible que los términos que se usan en las siguientes instrucciones de configuración y en la IU de Looker no coincidan directamente con los que usa tu OP.

La página OpenID Connect de la sección Autenticación del menú Administrador te permite configurar Looker para autenticar usuarios con el protocolo OpenID Connect. En esta página, se describe ese proceso y se incluyen instrucciones para vincular grupos de OpenID Connect a roles y permisos de Looker.

Requisitos

Looker muestra la página OpenID Connect en la sección Autenticación del menú Administrador solo si se cumplen las siguientes condiciones:

Si se cumplen estas condiciones y no ves la página OpenID Connect, abre una solicitud de asistencia para habilitar OpenID Connect en tu instancia.

Consideraciones de planificación

  • Considera usar la opción Alternate Login for Specified Users para permitir que los administradores de Looker accedan a Looker sin OpenID Connect.
  • No inhabilites la autenticación de OpenID Connect mientras accedes a Looker con OpenID Connect, a menos que tengas configurado un acceso alternativo a la cuenta. De lo contrario, podrías quedar fuera de la app.
  • Looker puede migrar cuentas existentes a OpenID Connect con direcciones de correo electrónico que provienen de configuraciones actuales de correo electrónico y contraseña, LDAP, SAML o Google Auth. Podrás configurar esta opción durante el proceso de configuración.
  • Looker solo admite la autenticación de OpenID Connect con el flujo de código de autorización de OpenID Connect. No se admiten otros flujos de código.
  • La especificación de OpenID Connect incluye un mecanismo de descubrimiento opcional. Looker no admite este mecanismo, por lo que debes proporcionar URLs explícitas en la sección Configuración de autenticación de OpenID Connect, como se describe en Cómo configurar los parámetros de configuración de autenticación de OpenID Connect.

Configura OpenID Connect

Para configurar la conexión entre Looker y OpenID Connect, realiza las siguientes tareas:

  1. Proporciona tu URL de Looker al proveedor de OpenID Connect (OP).
  2. Obtén la información necesaria de tu OP.

Configura Looker en tu OP

Tu proveedor de OpenID Connect (OP) necesitará la URL de tu instancia de Looker. Tu OP puede llamar a este URI URI de redireccionamiento o URI de redireccionamiento de acceso, entre otros nombres. En el sitio web de tu OP, proporciónale la URL con la que sueles acceder a tu instancia de Looker en un navegador, seguida de /openidconnect. Por ejemplo, https://instance_name.looker.com/openidconnect.

Obtener información de tu OP

Para configurar Looker para la autenticación de OpenID Connect, necesitas la siguiente información de tu OP:

  • Un identificador y un secreto del cliente Por lo general, el OP las proporciona en su sitio web cuando configuras el URI de redireccionamiento.
  • Durante el proceso de autenticación de OpenID Connect, Looker se conectará a tres extremos diferentes: un extremo de autenticación, un extremo de token de ID y un extremo de información del usuario. Necesitarás las URLs que usa tu OP para cada uno de estos extremos.
  • Cada OP proporcionará información del usuario en conjuntos denominados alcances. Debes conocer los nombres de los permisos que usa tu OP. OpenID Connect requiere el permiso openid, pero es probable que tu OP incluya otros permisos, como email, profile y groups.
  • En OpenID Connect, los atributos que almacenan datos del usuario se denominan claims. Debes saber qué reclamos pasa tu OP a Looker para proporcionar la información del usuario que deseas en tu instancia de Looker. Looker requiere reclamos que contengan información de correo electrónico y nombre, pero, si tienes otros atributos del usuario, como la zona horaria o el departamento, Looker también deberá identificar qué reclamos contienen esa información. Las reclamaciones se pueden incluir en la respuesta del extremo de User Information o del extremo de ID Token. Looker puede asignar las reclamaciones que devuelve cualquiera de los extremos a los atributos del usuario de Looker.

Muchos OP proporcionan información sobre la configuración de OpenID Connect en forma de un documento de detección, lo que te permite recopilar parte o toda la información que necesitarás para configurar Looker para OpenID Connect. Si no tienes acceso a un documento de descubrimiento, debes obtener la información necesaria de tu OP o del equipo de autenticación interno.

La siguiente sección es de un ejemplo de un documento de descubrimiento:

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token"
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],

Cómo configurar los parámetros de autenticación de OpenID Connect

Usa la información de configuración que obtuviste del documento de descubrimiento de tu OP, tu OP o tu equipo de autenticación interno para ingresar la configuración de conexión en los siguientes campos:

Identificador: Es el identificador del cliente único para tu instancia de Looker. Tu OP debe proporcionarlo.

Secreto: Es la clave secreto del cliente exclusiva de tu instancia de Looker. Tu OP debe proporcionarlo.

Emisor: Es la URL segura que identifica tu OP.

Público: Es un identificador que le indica a tu OP quién es el cliente. A menudo, es el mismo que el valor de tu Identificador, pero puede ser un valor diferente.

URL de autorización: Es la URL del OP donde comienza la secuencia de autenticación. A menudo se denomina authorization_endpoint en un documento de descubrimiento.

URL del token: Es la URL en la que Looker recupera un token de OAuth después de que se autoriza Looker. A menudo se denomina token_endpoint en un documento de descubrimiento.

URL de información del usuario: Es la URL en la que Looker recuperará información detallada del usuario. A menudo se denomina userinfo_endpoint en un documento de descubrimiento.

Alcances: Es una lista separada por comas de los alcances que usa el OP para proporcionar información del usuario a Looker. Debes incluir el alcance de openid y cualquier alcance que incluya la información que requiere Looker, como direcciones de correo electrónico, nombres de usuario y cualquier atributo de usuario configurado en tu instancia de Looker.

Cómo configurar los atributos del usuario

En esta sección, asignarás los derechos de OP a los atributos de usuario de Looker.

En la sección User Attribute Settings, ingresa el nombre de la reclamación de tu OP que contiene la información correspondiente para cada campo. Esto le indica a Looker cómo correlacionar esos reclamos con la información del usuario de Looker en el momento del acceso. Looker no es exigente con la forma en que se construyen las afirmaciones, solo es importante que la información de la afirmación que se ingresa aquí coincida con la forma en que se definen las afirmaciones en tu OP.

Reclamaciones estándar

Looker requiere información de nombre de usuario y correo electrónico para la autenticación del usuario. Ingresa la información de reclamo correspondiente de tu OP en esta sección:

Email Claim: Es el reclamo que usa tu OP para las direcciones de correo electrónico de los usuarios, como email.

First Name Claim: Es la reclamación que usa tu OP para los nombres de los usuarios, como given_name.

Last Name Claim: Es el reclamo que tu OP usa para los apellidos de los usuarios, como family_name.

Ten en cuenta que algunos OP usan un solo reclamo para los nombres, en lugar de separar el nombre y el apellido. Si este es el caso de tu OP, ingresa la reclamación que almacena los nombres en los campos First Name Claim y Last Name Claim. Para cada usuario, Looker usará el contenido hasta el primer espacio como nombre y todo lo que le siga como apellido.

Combinaciones de atributos

De manera opcional, puedes usar los datos de tus reclamos de OpenID Connect para completar automáticamente los valores en los atributos de usuario de Looker cuando un usuario accede. Por ejemplo, si configuraste OpenID Connect para realizar conexiones específicas del usuario a tu base de datos, podrías vincular tus reclamos de OpenID Connect con los atributos del usuario de Looker para hacer que tus conexiones de base de datos sean específicas del usuario en Looker.

Para asociar reclamos con los atributos de usuario de Looker correspondientes, sigue estos pasos:

  1. Ingresa el reclamo tal como lo identificó tu OP en el campo Reclamo y el atributo de usuario de Looker con el que deseas vincularlo en el campo Atributos de usuario de Looker.
  2. Marca Obligatorio si deseas bloquear el acceso con cualquier cuenta de usuario a la que le falte un valor en ese campo de la declaración.
  3. Haz clic en + y repite estos pasos para agregar más pares de reclamos y atributos.

Ten en cuenta que algunos OP pueden tener reclamos "anidados". Por ejemplo:

"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
  "street_address": "1234 Main Street",
  "locality": "Anyton",
  "region": "IL",
  "postal_code": "60609",
  "country": "US"
},

En el ejemplo anterior, el reclamo locality está anidado dentro del reclamo address. En el caso de los reclamos anidados, especifica el reclamo principal y los reclamos anidados, separados por un carácter de barra ( / ). Para configurar Looker para el reclamo locality en el ejemplo, ingresarías address/locality.

Grupos y roles

Tienes la opción de que Looker cree grupos que reflejen tus grupos de OpenID Connect administrados externamente y, luego, asigne roles de Looker a los usuarios según sus grupos de OpenID Connect reflejados. Cuando realizas cambios en la membresía de tu grupo de OpenID Connect, esos cambios se propagan automáticamente a la configuración del grupo de Looker.

La replicación de grupos de OpenID Connect te permite usar tu directorio de OpenID Connect definido de forma externa para administrar grupos y usuarios de Looker. Esto, a su vez, te permite administrar tu membresía de grupo para varias herramientas de software como servicio (SaaS), como Looker, en un solo lugar.

Si activas la opción Replicar grupos de OpenID Connect, Looker creará un grupo de Looker para cada grupo de OpenID Connect que se introduzca en el sistema. Esos grupos de Looker se pueden ver en la página Grupos de la sección Administrador de Looker. Los grupos se pueden usar para asignar roles a los miembros del grupo, establecer controles de acceso al contenido y asignar atributos de usuario.

Roles y grupos predeterminados

De forma predeterminada, el interruptor Replicar grupos de OpenID Connect está desactivado. En este caso, puedes establecer un grupo predeterminado para los usuarios nuevos de OpenID Connect. En los campos New User Groups y New User Roles, ingresa los nombres de los grupos o roles de Looker a los que deseas asignar usuarios nuevos de Looker cuando accedan a Looker por primera vez:

Estos grupos y roles se aplican a los usuarios nuevos en su acceso inicial. No se aplican a los usuarios existentes y no se vuelven a aplicar si se quitan de los usuarios después de su acceso inicial.

Cómo habilitar la replicación de grupos de OpenID Connect

Si usas una instancia de Looker (Google Cloud Core), te recomendamos que habilites la duplicación de grupos solo para el método de autenticación principal y que no la habilites para la autenticación de OAuth de copia de seguridad. Si habilitas la duplicación de grupos para los métodos de autenticación principal y secundario, se producirán los siguientes comportamientos:

  • Si un usuario tiene identidades combinadas, la duplicación de grupos coincidirá con el método de autenticación principal, independientemente del método de autenticación real que se use para acceder.
  • Si un usuario no tiene identidades combinadas, la duplicación de grupos coincidirá con el método de autenticación que se usó para acceder.

Pasos para habilitar los grupos duplicados

Para replicar tus grupos de OpenID Connect en Looker, activa el interruptor Replicar grupos de OpenID Connect:

Reclamación de grupos: Ingresa la reclamación que usa tu OP para almacenar los nombres de los grupos. Looker creará un grupo de Looker para cada grupo de OpenID Connect que la reclamación de grupos introduzca en el sistema. Esos grupos de Looker se pueden ver en la página Grupos de la sección Administrador de Looker. Los grupos se pueden usar para configurar controles de acceso al contenido y asignar atributos del usuario.

Nombre del grupo / roles / nombre del grupo de OpenID Connect preferidos: Este conjunto de campos te permite asignar un nombre de grupo personalizado y uno o más roles que se asignan al grupo de OpenID Connect correspondiente en Looker:

  1. Ingresa el nombre del grupo de OpenID Connect en el campo Nombre del grupo de OpenID Connect. Los usuarios de OpenID Connect que se incluyan en el grupo de OpenID Connect se agregarán al grupo replicado en Looker.

  2. Ingresa un nombre personalizado para el grupo duplicado en el campo Nombre personalizado. Este es el nombre que se mostrará en la página Grupos de la sección Administrador de Looker.

  3. En el campo a la derecha del campo Nombre personalizado, selecciona uno o más roles de Looker que se asignarán a cada usuario del grupo.

  4. Haz clic en + para agregar conjuntos de campos adicionales y configurar grupos duplicados adicionales. Si tienes varios grupos configurados y quieres quitar la configuración de uno de ellos, haz clic en X junto al conjunto de campos de ese grupo.

Si editas un grupo duplicado que se configuró anteriormente en esta pantalla, la configuración del grupo cambiará, pero el grupo en sí permanecerá intacto. Por ejemplo, podrías cambiar el nombre personalizado de un grupo, lo que modificaría la forma en que aparece el grupo en la página Grupos de Looker, pero no cambiaría los roles asignados ni los miembros del grupo. Si cambias el ID del grupo de OpenID Connect, se mantendrán el nombre y los roles del grupo, pero los miembros del grupo se reasignarán según los usuarios que sean miembros del grupo externo de OpenID Connect que tenga el nuevo ID del grupo de OpenID Connect.

Si borras un grupo en esta página, ya no se duplicará en Looker y sus miembros ya no tendrán los roles en Looker que se les asignaron a través de ese grupo.

Las modificaciones que se realicen en un grupo duplicado se aplicarán a los usuarios de ese grupo la próxima vez que accedan a Looker.

Administración avanzada de roles

Si habilitaste el interruptor Replicar grupos de OpenID Connect, Looker mostrará estos parámetros de configuración. Las opciones de esta sección determinan el nivel de flexibilidad que tienen los administradores de Looker cuando configuran grupos y usuarios de Looker que se replicaron desde OpenID Connect.

Por ejemplo, si deseas que la configuración de usuarios y grupos de Looker coincida estrictamente con la configuración de OpenID Connect, activa estas opciones. Cuando se habilitan las tres primeras opciones, los administradores de Looker no pueden modificar la membresía de los grupos replicados y solo pueden asignar roles a los usuarios a través de los grupos replicados de OpenID Connect.

Si quieres tener más flexibilidad para personalizar aún más tus grupos en Looker, desactiva estas opciones. Tus grupos de Looker seguirán replicando tu configuración de OpenID Connect, pero podrás realizar tareas adicionales de administración de grupos y usuarios en Looker, como agregar usuarios de OpenID Connect a grupos específicos de Looker o asignar roles de Looker directamente a usuarios de OpenID Connect.

En el caso de las instancias nuevas de Looker o las que no tienen grupos duplicados configurados previamente, estas opciones están desactivadas de forma predeterminada.

En el caso de las instancias de Looker existentes que tienen configurados grupos duplicados, estas opciones están activadas de forma predeterminada.

La sección Administración avanzada de roles contiene las siguientes opciones:

Impedir que los usuarios individuales de OpenID Connect reciban roles directos: Si activas esta opción, los administradores de Looker no podrán asignar roles de Looker directamente a los usuarios de OpenID Connect. Los usuarios de OpenID Connect recibirán roles solo a través de sus pertenencias a grupos. Si se permite que los usuarios de OpenID Connect sean miembros de grupos integrados (no replicados) de Looker, podrán heredar sus roles tanto de los grupos de OpenID Connect replicados como de los grupos integrados de Looker. A los usuarios de OpenID Connect a los que se les asignaron roles directamente se les quitarán esos roles cuando vuelvan a acceder.

Si esta opción está desactivada, los administradores de Looker pueden asignar roles de Looker directamente a los usuarios de OpenID Connect como si fueran usuarios configurados directamente en Looker.

Impedir la pertenencia directa a grupos que no pertenecen a OpenID Connect: Si activas esta opción, los administradores de Looker no podrán agregar usuarios de OpenID Connect directamente a los grupos integrados de Looker. Si se permite que los grupos de OpenID Connect replicados sean miembros de los grupos integrados de Looker, es posible que los usuarios de OpenID Connect conserven la membresía en cualquier grupo principal de Looker. Los usuarios de OpenID Connect que se hayan asignado previamente a grupos integrados de Looker se quitarán de esos grupos cuando vuelvan a acceder.

Si esta opción está desactivada, los administradores de Looker pueden agregar usuarios de OpenID Connect directamente a los grupos integrados de Looker.

Impedir la herencia de roles de grupos que no pertenecen a OpenID Connect: Si activas esta opción, se impedirá que los miembros de los grupos de OpenID Connect replicados hereden roles de los grupos integrados de Looker. Los usuarios de OpenID Connect que anteriormente heredaron roles de un grupo principal de Looker perderán esos roles cuando vuelvan a acceder.

Si esta opción está desactivada, los grupos de OpenID Connect replicados o los usuarios de OpenID Connect que se agreguen como miembros de un grupo integrado de Looker heredarán los roles asignados al grupo principal de Looker.

Auth Requires Role: Si esta opción está activada, los usuarios de OpenID Connect deben tener un rol asignado. Los usuarios de OpenID Connect a los que no se les asigne un rol no podrán acceder a Looker.

Si esta opción está desactivada, los usuarios de OpenID Connect pueden autenticarse en Looker incluso si no tienen ningún rol asignado. Un usuario sin un rol asignado no podrá ver ningún dato ni realizar ninguna acción en Looker, pero podrá acceder a Looker.

Cómo inhabilitar la replicación de grupos de OpenID Connect

Si quieres dejar de replicar tus grupos de OpenID Connect en Looker, desactiva el interruptor Replicar grupos de OpenID Connect. Si desactivas el interruptor, se producirá el siguiente comportamiento:

  • Los grupos replicados de OpenID Connect que no tengan usuarios se borrarán de inmediato.
  • Cualquier grupo de OpenID Connect replicado que contenga usuarios se marcará como huérfano. Si ningún usuario de este grupo accede en un plazo de 31 días, el grupo se borrará. Ya no se pueden agregar ni quitar usuarios de los grupos huérfanos de OpenID Connect.

Configura las opciones de migración

Como se explica en esta sección, Looker recomienda que habilites el acceso alternativo y proporciones una estrategia de combinación para los usuarios existentes.

Acceso alternativo para usuarios especificados

Los accesos con correo electrónico y contraseña de Looker siempre están inhabilitados para los usuarios normales cuando se habilita la autenticación de OpenID Connect. La opción Acceso alternativo para usuarios especificados permite el acceso alternativo basado en correo electrónico con /login/email para los administradores y los usuarios especificados con el permiso login_special_email.

Activar esta opción es útil como alternativa durante la configuración de OpenID Connect si se producen problemas de configuración de OpenID Connect más adelante o si necesitas admitir a algunos usuarios que no tienen cuentas en tu directorio de OpenID Connect.

Especifica el método que se usa para combinar usuarios de OpenID Connect en una cuenta de Looker

En el campo Merge Users Using, especifica el método que se usará para combinar un acceso de OpenID Connect por primera vez con una cuenta de usuario existente. Puedes combinar usuarios de los siguientes sistemas:

  • Correo electrónico y contraseña de Looker (no disponible para Looker (Google Cloud Core))
  • Google
  • LDAP (no disponible para Looker (Google Cloud Core))
  • SAML

Si tienes varios sistemas de autenticación, puedes especificar más de uno para combinar en este campo. Looker buscará usuarios en los sistemas que se indican en el orden en que se especifican. Por ejemplo, supongamos que creaste algunos usuarios con el correo electrónico y la contraseña de Looker, luego habilitaste LDAP y ahora quieres usar OpenID Connect. En el ejemplo anterior, Looker primero combinaría los datos por correo electrónico y contraseña, y luego por LDAP.

Cuando un usuario accede por primera vez con OpenID Connect, esta opción lo conectará a su cuenta existente buscando la cuenta con una dirección de correo electrónico coincidente. Si no existe una cuenta para el usuario, se creará una nueva.

Cómo combinar usuarios cuando se usa Looker (Google Cloud Core)

Cuando usas Looker (Google Cloud Core) y OpenID Connect, la combinación funciona como se describe en la sección anterior. Sin embargo, solo es posible cuando se cumple una de las siguientes dos condiciones:

  • Condición 1: Los usuarios se autentican en Looker (Google Cloud Core) con sus identidades de Google a través del protocolo OpenID Connect.
  • Condición 2: Antes de seleccionar la opción de combinación, debes completar los siguientes dos pasos:

    1. Identidades de usuarios federados en Google Cloud con Cloud Identity.
    2. Configura la autenticación de OAuth como método de autenticación de copia de seguridad con los usuarios federados.

Si la configuración no cumple con una de estas dos condiciones, la opción Merge Users Using no estará disponible.

Cuando se realice la combinación, Looker buscará registros de usuarios que compartan exactamente la misma dirección de correo electrónico.

Cómo probar la autenticación de usuarios

Mientras especificas esta configuración, haz clic en el botón Probar para probar tu configuración de OpenID Connect.

Las pruebas se redireccionarán a los extremos y abrirán una nueva pestaña del navegador. En la pestaña, se muestra lo siguiente:

  • Indica si Looker pudo comunicarse con los distintos extremos y realizar la validación.
  • Un registro del seguimiento de la respuesta del extremo de autenticación
  • La información del usuario que Looker obtiene del extremo de información del usuario
  • Versiones decodificadas y sin procesar del token de ID recibido

Puedes usar esta prueba para verificar que la información recibida de los distintos extremos sea correcta y solucionar cualquier error.

Sugerencias:

  • Puedes ejecutar esta prueba en cualquier momento, incluso si OpenID Connect está configurado parcialmente. Ejecutar una prueba puede ser útil durante la configuración para ver qué parámetros deben configurarse.
  • La prueba usa la configuración ingresada en la página OpenID Connect Authentication, incluso si no se guardó esa configuración. La prueba no afectará ni cambiará ninguna de las opciones de configuración de esa página.

Guardar y aplicar la configuración

Cuando termines de ingresar tu información y todas las pruebas se aprueben, marca la casilla de verificación I have confirmed the configuration above and want to enable applying it globally y haz clic en Update Settings para guardar los cambios.