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

Las empresas usan diferentes proveedores de OpenID Connect (OP) para coordinarse 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 en la sección Authentication 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 los roles y permisos de Looker.

Consideraciones de planificación

  • Considera usar la opción Acceso alternativo para usuarios especificados para permitir que los administradores de Looker accedan a Looker sin OpenID Connect.
  • No inhabilites la autenticación de OpenID Connect cuando accedas a Looker con OpenID Connect, a menos que configures un acceso a una cuenta alternativa. De lo contrario, es posible que no puedas acceder a la app.
  • Looker puede migrar cuentas existentes a OpenID Connect con direcciones de correo electrónico que provienen de las configuraciones actuales de correo electrónico y contraseña, LDAP, SAML o Google Auth. Podrás configurar esta opción en 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 detección opcional. Looker no es compatible con 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 la autenticación de OpenID Connect.

Cómo configurar OpenID Connect

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

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

Cómo configurar Looker en tu OP

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

Cómo 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 de cliente y secreto del cliente Por lo general, el OP los 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 llamados 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 reclamos. 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 nombre y correo electrónico, pero si tienes otros atributos de usuario, como zona horaria o departamento, Looker también deberá identificar qué reclamos contienen esa información. Los reclamos se pueden incluir en la respuesta del extremo de información del usuario o del extremo de token de ID. Looker puede asignar las reclamaciones que muestra cualquiera de los extremos a los atributos de usuario de Looker.

Muchas operaciones proporcionan información sobre la configuración de OpenID Connect en forma de documento de descubrimiento, lo que te permite recopilar 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"
  ],

Configura la configuración de autenticación de OpenID Connect

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

Identificador: Es el identificador de cliente único de tu instancia de Looker. Tu OP debe proporcionarte esta información.

Secreto: Es la clave secreto del cliente única para tu instancia de Looker. Tu OP debe proporcionarte esta información.

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 tu valor de Identificador, pero puede ser un valor diferente.

Authorization URL: Es la URL de la OP en la que 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. 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: Una lista separada por comas de los permisos que usa el OP para proporcionar información del usuario a Looker. Debes incluir el alcance de openid y cualquier otro 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.

Configura la configuración de los atributos de usuario

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

En la sección Configuración de atributos del usuario, ingresa el nombre de la declaración de tu OP que contiene la información correspondiente para cada campo. Esto le indica a Looker cómo asignar esas reclamaciones a la información del usuario de Looker al momento de acceder. Looker no es específico sobre cómo se construyen los reclamos, solo es importante que la información de los reclamos que se ingresa aquí coincida con la forma en que se definen los reclamos en tu OP.

Reclamos estándar

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

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

Reclamo de nombre: Es el reclamo que usa tu OP para los nombres de usuario, como given_name.

Reclamo de apellido: Es el reclamo que usa tu OP para los apellidos de los usuarios, como family_name.

Ten en cuenta que algunos operadores utilizan un solo reclamo para los nombres, en lugar de separar los apellidos y los nombres. Si este es el caso con 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 el nombre y todo lo que sigue como el apellido.

Vinculaciones de atributos

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

Para vincular los reclamos con los atributos de usuario de Looker correspondientes, haz lo siguiente:

  1. Ingresa el reclamo como lo identifica tu OP en el campo Claim y el atributo de usuario de Looker con el que quieres vincularlo en el campo Looker User Attributes.
  2. Marca Obligatorio si quieres bloquear el acceso de cualquier cuenta de usuario a la que le falte un valor en ese campo de reclamo.
  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 los reclamos superiores y los anidados separados por una barra ( /). Si quieres configurar Looker para la reclamación locality en el ejemplo, debes ingresar address/locality.

Grupos y roles

Puedes permitir que Looker cree grupos que reflejen tus grupos de OpenID Connect administrados de forma externa y, luego, asignar roles de Looker a los usuarios en función de sus grupos de OpenID Connect reflejados. Cuando realices cambios en la membresía de tu grupo de OpenID Connect, estos se propagarán automáticamente en la configuración del grupo de Looker.

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

Si activas Reflejo de 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 miembros de grupos, configurar controles de acceso al contenido y asignar atributos del usuario.

Roles y grupos predeterminados

De forma predeterminada, el interruptor Reflejar 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 (Grupos de usuarios nuevos) y New User Roles (Roles de usuario nuevos), ingresa los nombres de los grupos o roles de Looker al que quieres asignar usuarios nuevos de Looker cuando accedan por primera vez a Looker:

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

Habilita grupos duplicados de OpenID Connect

Para duplicar tus grupos de OpenID Connect en Looker, activa el interruptor Duplicar grupos de OpenID Connect siguiendo estos pasos:

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 el reclamo 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 de grupo preferido, roles o nombre de grupo de OpenID Connect: 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 reflejado en Looker.

  2. Ingresa un nombre personalizado para el grupo reflejado 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 que se encuentra 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 adicionales de campos y configurar grupos reflejados adicionales. Si tienes varios grupos configurados y quieres quitar la configuración de uno, 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 cambiaría la forma en que aparece el grupo en la página Grupos de Looker, pero no cambiaría los roles ni los miembros del grupo asignados. Si cambias el ID de grupo de OpenID Connect, se conservarán el nombre y los roles del grupo, pero se reasignarán los miembros del grupo según los usuarios que sean miembros del grupo externo de OpenID Connect que tenga el nuevo ID de grupo de OpenID Connect.

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

Cualquier edición que se realice en un grupo reflejado se aplicará a los usuarios de ese grupo la próxima vez que accedan a Looker.

Administración de funciones avanzada

Si habilitaste el interruptor Duplicar grupos de OpenID Connect, Looker mostrará esta configuración. Las opciones de esta sección determinan cuánta flexibilidad tienen los administradores de Looker a la hora de configurar grupos y usuarios de Looker que se duplicaron desde OpenID Connect.

Por ejemplo, si deseas que tu grupo de Looker y la configuración del usuario coincidan estrictamente con tu 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 reflejados y solo pueden asignar roles a los usuarios a través de los grupos reflejados 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 reflejando tu configuración de OpenID Connect, pero podrás realizar una administración adicional 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 los usuarios de OpenID Connect.

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

Para las instancias de Looker existentes que tienen grupos duplicados, estas opciones están activadas de forma predeterminada.

La sección Administración avanzada de roles contiene estas opciones:

Evitar que los usuarios individuales de OpenID Connect reciban roles directos: Si activas esta opción, se evita que los administradores de Looker asignen 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 los usuarios de OpenID Connect tienen permitido la membresía en grupos de Looker integrados (no duplicados), podrán heredar sus roles tanto de grupos duplicados de OpenID Connect como de grupos integrados de Looker. A los usuarios de OpenID Connect a los que se les hayan asignado roles directamente se les quitarán esos roles la próxima vez que accedan.

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 membresía directa en grupos que no son de 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 los grupos duplicados de OpenID Connect pueden ser miembros de grupos integrados de Looker, los usuarios de OpenID Connect pueden conservar la membresía en cualquier grupo superior de Looker. Los usuarios de OpenID Connect que anteriormente se asignaron a grupos integrados de Looker se quitarán de esos grupos la próxima vez que accedan.

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

Prevenir la herencia de roles de grupos que no son de OpenID Connect: Si activas esta opción, se evita que los miembros de los grupos de OpenID Connect reflejados hereden roles de los grupos integrados de Looker. Los usuarios de OpenID Connect que anteriormente heredaron roles de un grupo superior de Looker perderán esos roles la próxima vez que accedan.

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

La autenticación requiere rol: Si esta opción está activada, los usuarios de OpenID Connect deben tener asignado un rol. Los usuarios de OpenID Connect que no tengan un rol asignado 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 un 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 la plataforma.

Cómo inhabilitar grupos duplicados de OpenID Connect

Si quieres dejar de duplicar tus grupos de OpenID Connect en Looker, desactiva el interruptor Duplicar grupos de OpenID Connect. Se borrarán todos los grupos de OpenID Connect espejos vacíos.

Los grupos duplicados de OpenID Connect que no estén vacíos seguirán estando disponibles para su uso en la administración de contenido y la creación de roles. Sin embargo, no se pueden agregar usuarios a grupos duplicados de OpenID Connect ni quitarlos de ellos.

Cómo configurar las opciones de migración

Como se explica en esta sección, Looker recomienda habilitar el Acceso alternativo y proporcionar una estrategia de combinación para los usuarios existentes.

Acceso alternativo para usuarios especificados

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

Activar esta función es útil como resguardo durante la configuración de OpenID Connect en caso de que ocurran problemas de configuración más adelante o si necesitas brindar asistencia 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 (Combinar usuarios con), especifica el método que se usará para combinar un acceso por primera vez de Open ID Connect con una cuenta de usuario existente. Puedes combinar usuarios de los siguientes sistemas:

  • Correo electrónico/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 combinarlos en este campo. Looker buscará usuarios de los sistemas enumerados en el orden en que se especifican. Por ejemplo, supongamos que creaste algunos usuarios con el correo electrónico o la contraseña de Looker, habilitaste LDAP y ahora quieres usar OpenID Connect. En el ejemplo anterior, Looker se combinaría primero 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 conecta a su cuenta existente buscando la cuenta con una dirección de correo electrónico coincidente. Si el usuario no tiene una cuenta existente, se creará una nueva.

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

Cuando usas Looker (Google Cloud Core) y OpenID Connect, la combinación funciona como se describió 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, completaste los siguientes dos pasos:

    1. Usuarios federados las identidades en Google Cloud con Cloud Identity.
    2. Configura la autenticación de OAuth como el 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 Combinar usuarios con no estará disponible.

Durante la combinación, Looker buscará los registros de los 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. La pestaña muestra lo siguiente:

  • Si Looker pudo comunicarse con los distintos extremos y validar
  • Un seguimiento de la respuesta del extremo de autenticación
  • La información del usuario que Looker obtiene del extremo de información del usuario
  • Las versiones decodificadas y sin procesar del token de ID recibido

Puede utilizar esta prueba para verificar que la información recibida de los distintos endpoints sea correcta y solucionar problemas.

Sugerencias:

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

Guardar y aplicar configuración

Una vez que hayas ingresado la información y todas las pruebas estén satisfactorias, marca Confirmé la configuración anterior y quiero habilitar su aplicación global y haz clic en Actualizar configuración para guardar los cambios.