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 usados 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 la 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, podrías bloquear el acceso 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 esto 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.

Configura 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 con 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

Si quieres 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, uno de Authentication, uno de Token de ID y uno de Información del usuario. Necesitarás las URL que usa tu OP para cada uno de estos extremos.
  • Cada OP proporcionará información del usuario en conjuntos llamados alcances. Debes saber 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 reclamaciones que contengan información de nombres y correos electrónicos, pero si tienes otros atributos de usuario, como zona horaria o departamento, Looker también deberá identificar qué reclamaciones contienen esa información. Las reclamaciones se pueden incluir en la respuesta desde el extremo de información del usuario o desde el extremo del 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 parte o la totalidad de 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 a partir 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 la autenticación de OpenID Connect

Usa la información de configuración que obtuviste del documento de descubrimiento de 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 de cliente único de tu instancia de Looker. El OP debe proporcionarlo.

Secreto: Es la clave secreto del cliente única para tu instancia de Looker. El 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 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: 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: Una lista separada por comas de los permisos que usa el OP para proporcionar información del usuario a Looker. Debes incluir el permiso openid y cualquier permiso 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.

Define la configuración de los atributos de usuario

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

En la sección Configuración de atributos de usuario, ingresa el nombre de la reclamación de tu OP que contiene la información correspondiente a 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 tiene en cuenta la forma en que se crean los reclamos, solo es importante que la información que ingreses aquí coincida con la definición de 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:

Reclamo por correo electrónico: 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 algunas operaciones usan un único reclamo para los nombres, en lugar de separar el nombre y el apellido. 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á los contenidos hasta el primer espacio como nombre y todo lo posterior como el apellido.

Vinculación 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 que realice conexiones específicas del usuario con 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 algunas operaciones 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, la reclamación locality está anidada dentro de la reclamación 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

Tienes la opción de Looker para crear grupos que dupliquen tus grupos de OpenID Connect administrados de forma externa y, luego, asignar roles de Looker a los usuarios en función de sus grupos duplicados de OpenID Connect. Cuando realices cambios en la membresía de tu grupo de OpenID Connect, estos se propagarán 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 externamente para administrar 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 Duplicar grupos de OpenID Connect, Looker creará un grupo de Looker por 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.

Grupos y roles predeterminados

De forma predeterminada, el interruptor Duplicar grupos de OpenID Connect está desactivado. En este caso, puedes establecer un grupo predeterminado para 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 cuando acceden por primera vez. 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:

Groups Claim: Ingresa la reclamación que tu OP usa para almacenar los nombres de los grupos. Looker creará un grupo de Looker por cada grupo de OpenID Connect que se introduzca en el sistema mediante una reclamación de Grupos. 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 establecer controles de acceso al contenido y asignar atributos del usuario.

Nombre de grupo preferido / Roles / Nombre del 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 están incluidos en el grupo de OpenID Connect se agregarán al grupo duplicado de 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 que está a la derecha del campo Custom Name, 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 deseas quitar la configuración de uno de ellos, haz clic en la 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 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 se cambia el ID de grupo de OpenID Connect, se mantendrán el nombre y los roles del grupo, pero los miembros se reasignarán en función de 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 de esta página, ya no se duplicará en Looker, y sus miembros ya no tendrán los roles que se les asignaron en Looker 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 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 quieres que la configuración de tu grupo y usuario de Looker coincida estrictamente con la 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 duplicados y solo pueden asignar roles a los usuarios a través de grupos duplicados 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 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:

Impedir que los usuarios individuales de OpenID Connect reciban roles directos: Activar esta opción impide 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 membresías 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. La próxima vez que accedan a sus cuentas, se les quitarán roles a todos los usuarios de OpenID Connect a los que se les habían asignado directamente roles de forma directa.

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. Todos los usuarios de OpenID Connect que estaban asignados previamente a grupos de Looker integrados se quitarán de esos grupos la próxima vez que accedan.

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

Impedir la herencia de roles de grupos que no sean de OpenID Connect: Si activas esta opción, impides que los miembros de los grupos duplicados de OpenID Connect 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 podrán autenticarse en Looker incluso si no tienen ningún rol asignado. Un usuario que no tenga 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 vacíos de OpenID Connect que estén duplicados.

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.

Configura 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 específicos

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 usó para combinar usuarios de OpenID Connect con 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 implementados, puedes especificar más de un sistema para combinar en este campo. Looker buscará usuarios en los sistemas enumerados en el orden en que se especifiquen. Por ejemplo, imagina que creaste algunos usuarios con el correo electrónico y 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 conecta al usuario con 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.

Combina usuarios cuando se usa 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 dos condiciones siguientes:

  • 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 los usuarios federadas 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. En la pestaña, se muestra lo siguiente:

  • Si Looker pudo comunicarse con los distintos endpoints 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
  • Se recibieron las versiones decodificadas y sin procesar del token de ID

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 Autenticación de OpenID Connect, incluso si esa configuración 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.