Ajustes de administrador: autenticación con OpenID Connect

Las empresas usan diferentes proveedores de OpenID Connect (OPs) 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 interfaz de usuario de Looker no coincidan directamente con los que usa tu OP.

La página OpenID Connect de la sección Autenticación del menú Administrar te permite configurar Looker para autenticar a los usuarios mediante 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ú Administrar 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 la opción Inicio de sesión alternativo para usuarios específicos para permitir que los administradores de Looker accedan a Looker sin OpenID Connect.
  • No inhabilite la autenticación OpenID Connect mientras haya iniciado sesión en Looker con OpenID Connect, a menos que haya configurado un inicio de sesión con una cuenta alternativa. De lo contrario, no podrás acceder a la aplicación.
  • Looker puede migrar cuentas a OpenID Connect con direcciones de correo que procedan de configuraciones actuales de correo y contraseña, LDAP, SAML o autenticación de Google. Podrás configurar esta opción durante el proceso de configuración.
  • Looker solo admite la autenticación de OpenID Connect mediante 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 debe proporcionar URLs explícitas en la sección Ajustes de autenticación de OpenID Connect, tal como se describe en el artículo Configurar los ajustes de autenticación de OpenID Connect.

Configurar OpenID Connect

Para configurar la conexión entre Looker y OpenID Connect, sigue estos pasos:

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

Configurar Looker en tu OP

Tu proveedor de OpenID Connect (OP) necesitará la URL de tu instancia de Looker. Tu proveedor de OP puede denominarlo URI de redirección o URI de redirección de inicio de sesión, entre otros nombres. En el sitio web de tu OP, proporciona a tu OP 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 OpenID Connect, necesitas la siguiente información de tu OP:

  • Un identificador de cliente y un secreto de cliente. Normalmente, el OP los proporciona en su sitio web cuando configuras el URI de redirección.
  • Durante el proceso de autenticación de OpenID Connect, Looker se conectará a tres endpoints diferentes: un endpoint de autenticación, un endpoint de token de ID y un endpoint de información de usuario. Necesitará las URLs que utilice su OP para cada uno de estos endpoints.
  • Cada OP proporcionará información de usuario en conjuntos denominados ámbitos. Debes saber los nombres de los ámbitos que usa tu proveedor de contenido original. 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 de usuario se denominan reivindicaciones. Debes saber qué reclamaciones transfiere tu OP a Looker para proporcionar la información de usuario que quieras en tu instancia de Looker. Looker requiere reclamaciones que contengan información sobre el correo y el nombre, pero, si tiene otros atributos de usuario, como la zona horaria o el departamento, Looker también tendrá que identificar qué reclamaciones contienen esa información. Las reclamaciones se pueden incluir en la respuesta del endpoint User Information o del endpoint ID Token. Looker puede asignar las reclamaciones devueltas por cualquiera de los dos endpoints a atributos de usuario de Looker.

Muchos proveedores de OPs proporcionan información sobre cómo configurar OpenID Connect en forma de 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 proveedor de servicios o del equipo de autenticación interno.

La siguiente sección es un ejemplo de 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"
  ],

Configurar los ajustes de autenticación de OpenID Connect

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

Identificador: el identificador de cliente único de su instancia de Looker. Tu operador debería proporcionártelo.

Secreto: la clave secreta de cliente única de tu instancia de Looker. Tu operador debería proporcionártelo.

Emisor: la URL segura que identifica tu OP.

Audiencia: identificador que indica a tu OP quién es el cliente. A menudo, es el mismo valor que el de Identifier, pero puede ser diferente.

URL de autorización: la URL del OP donde empieza 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 obtiene un token de OAuth después de que se haya autorizado Looker. A menudo se denomina token_endpoint en un documento de descubrimiento.

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

Ámbitos: lista separada por comas de los ámbitos que usa el OP para proporcionar información de usuario a Looker. Debe incluir el openid y cualquier otro que incluya la información que necesita Looker, como direcciones de correo electrónico, nombres de usuario y atributos de usuario configurados en su instancia de Looker.

Configurar los ajustes de atributos de usuario

En esta sección, asociará las reclamaciones de su OP con los atributos de usuario de Looker.

En la sección User Attribute Settings (Ajustes de atributos de usuario), introduce el nombre de la reclamación de tu OP que contenga la información correspondiente a cada campo. De esta forma, Looker sabe cómo asignar esas reclamaciones a la información del usuario de Looker en el momento de iniciar sesión. Looker no es exigente con la forma en que se construyen las reclamaciones, solo es importante que la información de la reclamación que se introduzca aquí coincida con la forma en que se definen las reclamaciones en tu OP.

Reclamaciones estándar

Looker requiere el nombre de usuario y la dirección de correo para autenticar a los usuarios. En esta sección, introduce la información de la reclamación correspondiente a tu proveedor de servicios:

Reclamación de correo electrónico: la reclamación que usa tu proveedor de OP para las direcciones de correo de los usuarios, como email.

Reclamación de nombre: la reclamación que usa tu OP para los nombres de los usuarios, como given_name.

Reclamación de apellidos: la reclamación que usa tu OP para los apellidos de los usuarios, como family_name.

Ten en cuenta que algunos OPs usan una sola reclamación para los nombres, en lugar de separar el nombre y los apellidos. Si este es el caso de tu OP, introduce la reclamación que almacena nombres en los campos Reclamación de nombre y Reclamación de apellidos. Looker usará el contenido hasta el primer espacio como nombre y todo lo que haya después como apellidos de cada usuario.

Emparejamientos de atributos

También puede usar los datos de sus reclamaciones de OpenID Connect para rellenar automáticamente los valores de los atributos de usuario de Looker cuando un usuario inicie sesión. Por ejemplo, si has configurado OpenID Connect para establecer conexiones específicas de cada usuario con tu base de datos, puedes emparejar tus reclamaciones de OpenID Connect con los atributos de usuario de Looker para que las conexiones a tu base de datos sean específicas de cada usuario en Looker.

Para emparejar las reclamaciones con los atributos de usuario de Looker correspondientes, sigue estos pasos:

  1. Introduce la reclamación tal como la ha identificado tu proveedor de identidad en el campo Reclamación y el atributo de usuario de Looker con el que quieras emparejarla en el campo Atributos de usuario de Looker.
  2. Marca Obligatorio si quieres bloquear el inicio de sesión de cualquier cuenta de usuario que no tenga un valor en ese campo de la reclamación.
  3. Haz clic en + y repite estos pasos para añadir más pares de reclamación y atributo.

Ten en cuenta que algunos OPs pueden tener reclamaciones "anidadas". 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 en la reclamación address. En el caso de las reclamaciones anidadas, especifica la reclamación principal y la reclamación anidada, separadas por una barra ( /). Para configurar Looker para la reclamación locality del ejemplo, debes introducir address/locality.

Grupos y roles

Looker puede crear grupos que reflejen tus grupos de OpenID Connect gestionados externamente y, a continuación, asignar roles de Looker a los usuarios en función de sus grupos de OpenID Connect reflejados. Cuando modificas la pertenencia a grupos de OpenID Connect, esos cambios se propagan automáticamente a la configuración de grupos de Looker.

La creación de réplicas de grupos de OpenID Connect te permite usar tu directorio de OpenID Connect definido externamente para gestionar grupos y usuarios de Looker. Esto, a su vez, te permite gestionar la pertenencia a grupos 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. Estos grupos de Looker se pueden ver en la página Grupos de la sección Administración de Looker. Los grupos se pueden usar para asignar roles a los miembros, configurar controles de acceso al contenido y asignar atributos de usuario.

Grupos y roles predeterminados

De forma predeterminada, el interruptor Duplicar grupos de OpenID Connect está desactivado. En este caso, puedes definir un grupo predeterminado para los nuevos usuarios de OpenID Connect. En los campos New User Groups (Nuevos grupos de usuarios) y New User Roles (Nuevos roles de usuario), introduce los nombres de los grupos o roles de Looker a los que quieras asignar nuevos usuarios de Looker cuando inicien sesión por primera vez en Looker:

Estos grupos y roles se aplican a los nuevos usuarios cuando inician sesión por primera vez. No se aplican a los usuarios que ya existían y no se vuelven a aplicar si se eliminan de los usuarios después de su inicio de sesión inicial.

Habilitar grupos de OpenID Connect duplicados

Si usas una instancia de Looker (Google Cloud core), te recomendamos que habilites la réplica de grupos solo para el método de autenticación principal y que no lo hagas para la autenticación OAuth alternativa. Si habilitas la creación de reflejos de grupos para los métodos de autenticación principal y secundario, se producirán los siguientes comportamientos:

  • Si un usuario ha combinado identidades, la creación de reflejo de grupos coincidirá con el método de autenticación principal, independientemente del método de autenticación que se haya usado para iniciar sesión.
  • Si un usuario no tiene identidades combinadas, la creación de reflejo de grupos se corresponderá con el método de autenticación utilizado para iniciar sesión.

Pasos para habilitar grupos reflejados

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

Grupos de reclamaciones: introduce la reclamación que usa tu OP para almacenar nombres de grupos. Looker creará un grupo de Looker por cada grupo de OpenID Connect que se introduzca en el sistema mediante la reclamación Groups. Estos grupos de Looker se pueden ver en la página Grupos de la sección Administración de Looker. Los grupos se pueden usar para configurar controles de acceso al contenido y asignar atributos de usuario.

Nombre de grupo, roles o nombre de grupo de OpenID Connect preferidos: este conjunto de campos te permite asignar un nombre de grupo personalizado y uno o varios roles que se asignan al grupo de OpenID Connect correspondiente en Looker:

  1. Escribe 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 añadirán al grupo reflejado en Looker.

  2. Escriba 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 Administración de Looker.

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

  4. Haga clic en + para añadir más conjuntos de campos y configurar más grupos reflejados. 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 haya configurado previamente en esta pantalla, la configuración del grupo cambiará, pero el grupo en sí permanecerá intacto. Por ejemplo, puedes cambiar el nombre personalizado de un grupo, lo que modificaría la forma en que se muestra 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 mantendrán el nombre y los roles del grupo, pero los miembros del grupo se reasignarán en función de los usuarios que pertenezcan al grupo externo de OpenID Connect que tenga el nuevo ID de grupo de OpenID Connect.

Si eliminas un grupo en esta página, ese grupo dejará de replicarse en Looker y sus miembros ya no tendrán los roles de Looker que se les hayan asignado a través de ese grupo.

Los cambios que se hagan en un grupo reflejado se aplicarán a los usuarios de ese grupo la próxima vez que inicien sesión en Looker.

Gestión avanzada de roles

Si has habilitado el interruptor Duplicar grupos de OpenID Connect, Looker mostrará estos ajustes. Las opciones de esta sección determinan la flexibilidad que tienen los administradores de Looker al configurar grupos y usuarios de Looker que se han replicado desde OpenID Connect.

Por ejemplo, si quieres que la configuración de grupos y usuarios de Looker coincida exactamente con la configuración de OpenID Connect, activa estas opciones. Si las tres primeras opciones están habilitadas, los administradores de Looker no podrán modificar la pertenencia a grupos reflejados y solo podrán asignar roles a los usuarios a través de 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 gestionar grupos y usuarios adicionales en Looker, como añadir usuarios de OpenID Connect a grupos específicos de Looker o asignar roles de Looker directamente a usuarios de OpenID Connect.

En las instancias de Looker nuevas o en las que no se hayan configurado grupos duplicados, estas opciones están desactivadas de forma predeterminada.

En las instancias de Looker que ya tengan configurados grupos reflejados, estas opciones estarán activadas de forma predeterminada.

La sección Gestión avanzada de roles contiene estas 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 solo recibirán roles a través de su pertenencia a grupos. Si se permite que los usuarios de OpenID Connect sean miembros de grupos de Looker integrados (no reflejados), podrán seguir heredando 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 inicien sesión.

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.

Evitar la pertenencia directa a grupos que no sean de OpenID Connect: si activas esta opción, los administradores de Looker no podrán añadir usuarios de OpenID Connect directamente a grupos de Looker integrados. Si se permite que los grupos de OpenID Connect reflejados sean miembros de grupos de Looker integrados, los usuarios de OpenID Connect pueden conservar la pertenencia a cualquier grupo de Looker principal. Los usuarios de OpenID Connect que se hayan asignado previamente a grupos de Looker integrados se eliminarán de esos grupos la próxima vez que inicien sesión.

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

Evitar la herencia de roles de grupos que no sean de OpenID Connect: si activas esta opción, los miembros de los grupos de OpenID Connect reflejados no heredarán roles de los grupos de Looker integrados. Los usuarios de OpenID Connect que hayan heredado roles de un grupo de Looker principal perderán esos roles la próxima vez que inicien sesión.

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

Autenticación requiere rol: si esta opción está activada, los usuarios de OpenID Connect deben tener un rol asignado. Los usuarios de OpenID Connect que no tengan ningún rol asignado no podrán iniciar sesión en Looker.

Si esta opción está desactivada, los usuarios de OpenID Connect pueden autenticarse en Looker aunque no tengan ningún rol asignado. Un usuario sin ningún rol asignado no podrá ver ningún dato ni realizar ninguna acción en Looker, pero sí podrá iniciar sesión en Looker.

Inhabilitar grupos de OpenID Connect reflejados

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

  • Los grupos de OpenID Connect duplicados que no tengan usuarios se eliminan inmediatamente.
  • Los grupos de OpenID Connect duplicados que no contengan usuarios se marcarán como huérfanos. Si ningún usuario de este grupo inicia sesión en un plazo de 31 días, el grupo se elimina. Ya no se pueden añadir ni quitar usuarios de grupos OpenID Connect huérfanos.

Configurar las opciones de migración

Tal como se explica en esta sección, Looker recomienda que habilites Inicio de sesión alternativo y que proporciones una estrategia de combinación para los usuarios que ya tengan una cuenta.

Inicio de sesión alternativo para usuarios específicos

Los inicios de sesión con correo 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 Inicio de sesión alternativo para usuarios específicos permite iniciar sesión con una dirección de correo alternativa mediante /login/email para los administradores y los usuarios específicos que tengan 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 más adelante o si necesitas ofrecer asistencia a algunos usuarios que no tienen cuentas en tu directorio de OpenID Connect.

Especificar el método utilizado para combinar usuarios de OpenID Connect en una cuenta de Looker

En el campo Combinar usuarios mediante, especifique el método que se va a usar para combinar un inicio de sesión de OpenID Connect por primera vez con una cuenta de usuario. Puedes combinar usuarios de los siguientes sistemas:

  • Correo y contraseña de Looker (no disponible en Looker [servicio principal de Google Cloud])
  • Google
  • LDAP (no disponible en Looker [servicio principal de Google Cloud])
  • 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 has creado algunos usuarios con el correo y la contraseña de Looker, has habilitado LDAP y ahora quieres usar OpenID Connect. En el ejemplo anterior, Looker combinaría los datos por correo y contraseña primero y, después, por LDAP.

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

Combinar usuarios al usar Looker (Google Cloud Core)

Si 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 si 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 combinar, debes haber completado los dos pasos siguientes:

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

Si la configuración no cumple una de estas dos condiciones, la opción Combinar usuarios con no estará disponible.

Al combinar, Looker buscará registros de usuarios que compartan exactamente la misma dirección de correo electrónico.

Probar 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 se redirigirán a los endpoints y abrirán una nueva pestaña del navegador. En la pestaña se muestra lo siguiente:

  • Si Looker ha podido comunicarse con los distintos endpoints y validarlos
  • Un seguimiento de la respuesta del endpoint de autenticación
  • Información de usuario que obtiene Looker del endpoint de información de usuario
  • Versiones descodificada y sin procesar del token de ID recibido

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

Notas:

  • Puedes realizar esta prueba en cualquier momento, aunque OpenID Connect esté configurado parcialmente. Realizar una prueba puede ser útil durante la configuración para ver qué parámetros necesitan configurarse.
  • La prueba usa los ajustes introducidos en la página Autenticación OpenID Connect, aunque no se hayan guardado. La prueba no afectará ni cambiará ninguno de los ajustes de esa página.

Guardar y aplicar la configuración

Cuando hayas terminado de introducir la información y todas las pruebas se hayan superado, marca la casilla He confirmado la configuración anterior y quiero habilitarla de forma global y haz clic en Actualizar configuración para guardar los cambios.