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 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 Authentication del menú Admin 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 Acceso alternativo para usuarios especificados para permitir que los administradores de Looker accedan a la plataforma sin OpenID Connect.
  • No inhabilites la autenticación de OpenID Connect mientras estés en Looker con OpenID Connect, a menos que hayas configurado un acceso alternativo a la cuenta. 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 configuraciones de correo electrónico y contraseña actuales, LDAP, SAML o la autenticación de Google. 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 descubrimiento opcional. Looker no admite este mecanismo, por lo que debes proporcionar URLs explícitas en la sección OpenID Connect Auth Settings, como se describe en Configuración de 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 la URL de Looker a tu proveedor de OpenID Connect (OP).
  2. Obtén la información necesaria 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 operador

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

  • Un identificador 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 declaraciones. 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 los reclamos que devuelve cualquiera de los extremos a los atributos de usuario de Looker.

Muchos OPs proporcionan información sobre la configuración de OpenID Connect en forma de un documento de descubrimiento, 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 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 de secreto del cliente única de tu instancia de Looker. Tu OP debe proporcionarte esta información.

Emisor: Es la URL segura que identifica a 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 Identificador, pero puede ser diferente.

URL de autorización: 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 desde 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 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 esos reclamos a la información del usuario de Looker en el momento del acceso. Looker no es específico sobre cómo se construyen los reclamos, solo es importante que la información 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 nombre de usuario y correo electrónico para la autenticación del usuario. Ingresa la información correspondiente del reclamo de 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.

First Name Claim: Es el reclamo que usa tu OP para los nombres de los usuarios, como given_name.

Reclamación 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 de tu OP, ingresa el reclamo 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 reclamos de OpenID Connect para propagar automáticamente los valores en los atributos de usuario de Looker cuando un usuario accede. Por ejemplo, si configuraste OpenID Connect para establecer conexiones específicas del usuario con tu base de datos, puedes vincular tus reclamos de OpenID Connect con los atributos de usuario de Looker para hacer que tus conexiones de base de datos sean específicas del usuario en Looker.

Para vincular los 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 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 atributos y declaraciones.

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 anidados, separados por una barra ( / ). Para configurar Looker para el reclamo 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 según sus grupos de OpenID Connect reflejados. Cuando realizas cambios en tu membresía de grupo de OpenID Connect, esos cambios se propagan automáticamente a 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 la membresía de tu grupo para 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. Puedes ver esos grupos de Looker 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 del usuario.

Grupos y roles 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 Nuevos grupos de usuarios y Nuevos roles de usuario, ingresa los nombres de los grupos o roles de Looker a los que deseas asignar usuarios nuevos de Looker cuando accedan por primera vez a la plataforma:

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.

Habilitación de grupos de OpenID Connect reflejados

Para duplicar tus grupos de OpenID Connect en Looker, activa el interruptor Mirror OpenID Connect Groups:

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. Puedes ver esos grupos de Looker 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 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 reflejado que se configuró anteriormente en esta pantalla, la configuración del grupo cambiará, pero el grupo 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 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 avanzada de roles

Si habilitaste el interruptor Mirror OpenID Connect Groups, Looker mostrará estos parámetros de configuración. Las opciones de esta sección determinan la flexibilidad que tienen los administradores de Looker cuando configuran 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 de las instancias que no tienen grupos reflejados configurados previamente, estas opciones están desactivadas de forma predeterminada.

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

La sección Administración avanzada de roles contiene las siguientes 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 ser miembros de grupos de Looker integrados (no reflejados), pueden heredar sus roles tanto de los grupos de OpenID Connect reflejados como de los grupos de Looker integrados. 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.

Prevenir la membresía directa en grupos que no son de OpenID Connect: Si activas esta opción, se impide que los administradores de Looker agreguen usuarios de OpenID Connect directamente a los grupos integrados de Looker. Si los grupos de OpenID Connect reflejados pueden ser miembros de grupos de Looker integrados, 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 grupos de OpenID Connect o los usuarios de OpenID Connect reflejados que se agreguen como miembros de un grupo de Looker integrado heredarán los roles asignados al grupo de Looker superior.

Auth Requires Role: Si esta opción está activada, los usuarios de OpenID Connect deben tener un rol asignado. 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.

Inhabilita los grupos de OpenID Connect reflejados

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

Los grupos de OpenID Connect espejo que no estén vacíos seguirán disponibles para usarse en la administración de contenido y la creación de roles. Sin embargo, no se pueden agregar ni quitar usuarios de los grupos de OpenID Connect reflejados.

Cómo configurar 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 de 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 habilita el acceso alternativo basado en correo electrónico con /login/email para los administradores y para los usuarios especificados con el permiso login_special_email.

Activar esta opción es útil como resguardo durante la configuración de OpenID Connect si, más adelante, se producen problemas de configuración de OpenID Connect o si necesitas admitir 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 Open ID Connect por primera vez con una cuenta de usuario existente. Puedes combinar usuarios de los siguientes sistemas:

  • Correo electrónico o 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 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 no hay una cuenta existente 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, completaste los siguientes dos pasos:

    1. Identidades de usuarios federados en Google Cloud con Cloud Identity.
    2. Configura la autenticación de OAuth como el método de autenticación de respaldo 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.

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

Prueba la autenticación de usuarios

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

Las pruebas 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 registro 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

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 de forma parcial. 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 terminado de ingresar la información y todas las pruebas sean exitosas, marca la opción Confirmé la configuración anterior y quiero habilitar su aplicación a nivel global y haz clic en Actualizar configuración para guardarla.