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 Autenticación del menú Administrador te permite configurar Looker para autenticar 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.

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 mientras accedes a Looker mediante OpenID Connect, a menos que tengas una cuenta alternativa configurada. De lo contrario, es posible que no puedas acceder a la app.
  • Looker puede migrar cuentas existentes a OpenID Connect mediante direcciones de correo electrónico que provienen de la configuración actual de correo electrónico y contraseña, LDAP, SAML o Google Auth. Podrás configurarlo en 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 debes proporcionar URLs explícitas en la sección Configuración de autenticación de OpenID Connect, como se describe a continuación.

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 solicitada en tu OP.

Configura Looker en tu OP

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

Obtén 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 un secreto del cliente. El OP suele proporcionar esta información en el sitio web cuando configuras el URI de redireccionamiento como se describió anteriormente.
  • 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 permisos. Debes conocer los nombres de los permisos que usa tu OP. OpenID Connect requiere el alcance openid, pero es probable que tu OP incluya otros permisos, como email, profile y groups.
  • En OpenID Connect, los atributos que almacenan datos del usuario se denominan claims. Debes saber qué reclamos pasa tu OP a Looker para proporcionar la información del usuario que quieres en tu instancia de Looker. Looker exige reclamos que contengan información de correo electrónico y nombre, pero si tienes otros atributos de usuario, como la zona horaria o el departamento, Looker también deberá identificar qué reclamos contienen esa información. Las reclamaciones se pueden incluir en la respuesta desde el extremo Información del usuario o el extremo del token de ID. Looker puede asignar las reclamaciones que muestran cualquiera de los extremos a los atributos de usuario de Looker.

Muchas operaciones 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 equipo de operaciones o 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"
  ],

Define 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, 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 proporcionarla.

Secreto: Es la clave secreto del cliente única de tu instancia de Looker. El OP debe proporcionarla.

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. Suele coincidir con el valor del Identificador, pero puede ser diferente.

URL de autorización: 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 la autorización de 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.

Establecer la configuración de los atributos de usuario

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

En la sección User Attribute Settings, ingresa el nombre de la reclamación de tu OP que contenga la información correspondiente de cada campo. Esto le indica a Looker cómo asignar esos reclamos a la información del usuario de Looker al momento de acceder. Looker no brinda información específica sobre la forma en que se crean 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 del nombre de usuario y el correo electrónico 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.

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

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

Ten en cuenta que algunas operaciones usan una sola reclamación para los nombres, en lugar de separar el nombre y el apellido. 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 nombre y todo el contenido posterior como apellido.

Vinculaciones de atributos

De manera opcional, puedes usar los datos en tus reclamaciones de OpenID Connect para propagar automáticamente los valores en los atributos del usuario de Looker cuando un usuario acceda. Por ejemplo, si configuraste OpenID Connect para que realice conexiones específicas de usuarios 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 base de datos sean específicas del usuario en Looker.

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

  1. Ingresa el reclamo tal 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 que no tenga un valor en el 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. Para las reclamaciones anidadas, se deben especificar las principales y anidadas, separadas por una barra diagonal ( /). Si quieres configurar Looker para la reclamación locality anterior, debes ingresar address/locality.

Grupos y roles

Looker puede crear grupos que repliquen tus grupos de OpenID Connect administrados de forma externa y, luego, asignar los roles de Looker a los usuarios en función de sus grupos duplicados de OpenID Connect. Cuando realizas cambios en la membresía del 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 el directorio de OpenID Connect definido de forma externa para administrar 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 la opción Duplicar grupos de OpenID Connect, Looker creará un grupo de Looker por cada grupo de OpenID Connect que se ingrese en el sistema. Esos grupos de Looker se pueden ver en la página Grupos de la sección Administrador de Looker. Los grupos se pueden usar para asignar roles a los miembros, 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 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 quieras asignar usuarios nuevos de Looker cuando accedan a Looker por primera vez:

Estos grupos y roles se aplican a los usuarios nuevos cuando acceden por primera vez. No se aplican a usuarios preexistentes y no se vuelven a aplicar si se quitan de los usuarios después del acceso inicial.

Si más adelante habilitas los grupos duplicados de OpenID Connect, estos valores predeterminados se quitarán para los usuarios la próxima vez que accedan y se reemplazarán por roles asignados en la sección Duplicar grupos de OpenID Connect. Estas opciones predeterminadas ya no estarán disponibles ni asignadas, y se reemplazarán por completo por la configuración de grupos duplicados.

Habilita grupos duplicados de OpenID Connect

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

Groups Claim: Ingresa el reclamo 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 ingrese en el sistema mediante la reclamación de grupos. Esos grupos de Looker se pueden ver en la página Grupos, en la sección Administrador de Looker. Los grupos se pueden usar para configurar los controles de acceso al contenido y asignar atributos del usuario.

Nombre del 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 incluidos en el grupo de OpenID Connect se agregarán al grupo duplicado en Looker.

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

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

  4. Haz clic en + para agregar conjuntos de campos adicionales a fin de 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ó previamente 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 en la página Grupos de Looker, pero no los roles asignados ni los miembros del grupo. Si se cambia 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 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, ese grupo ya no se duplicará en Looker y sus miembros ya no tendrán asignados los roles de Looker mediante 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 roles avanzada

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

Por ejemplo, si quieres que la configuración del grupo y los usuarios de Looker coincidan estrictamente con la configuración de OpenID Connect, activa estas opciones. Cuando están habilitadas 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 más tus grupos en Looker, desactiva estas opciones. Tus grupos de Looker seguirán replicando tu configuración de OpenID Connect, pero podrás realizar tareas adicionales de administración de grupos y usuarios en Looker, como agregar usuarios de OpenID Connect a grupos específicos de Looker o asignar roles de Looker directamente a usuarios de OpenID Connect.

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

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

Si activas parámetros de configuración más restrictivos, los usuarios perderán directamente la pertenencia a un grupo o los roles asignados que se hayan establecido en Looker. Esto ocurrirá la próxima vez que esos usuarios accedan a Looker.

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

Impide que los usuarios individuales de OpenID Connect reciban roles directos: Si activas esta opción, los administradores de Looker no podrán asignar roles de Looker directamente a los usuarios de OpenID Connect. Los usuarios de OpenID Connect recibirán roles solo a través de sus membresías de grupo. Si se permite que los usuarios de OpenID Connect formen parte de grupos nativos de Looker (no duplicados), pueden heredar sus roles de los grupos de OpenID Connect duplicados y nativos de Looker. Se quitará a todos los usuarios de OpenID Connect a los que se les asignaron roles anteriormente la próxima vez que accedan.

Si esta opción está desactivada, los administradores de Looker podrán asignar roles de Looker directamente a los usuarios de OpenID Connect como si fueran usuarios configurados de forma nativa 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 grupos nativos de Looker. Si se permite que los grupos duplicados de OpenID Connect sean miembros de los grupos nativos 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 a grupos nativos 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 nativos de Looker.

Impide la herencia de roles de grupos que no son de OpenID Connect: Si activas esta opción, los miembros de los grupos duplicados de OpenID Connect hereden roles de los grupos nativos de Looker. Cualquier usuario de OpenID Connect que haya heredado 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 duplicados de OpenID Connect o los usuarios de OpenID Connect que se agreguen como miembros de un grupo nativo de Looker heredarán los roles asignados al grupo superior de Looker.

La autenticación requiere un 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 asignado un rol no podrán acceder a Looker.

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

Inhabilita los 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 los grupos duplicados de OpenID Connect vacíos.

Los grupos de OpenID Connect duplicados no vacíos permanecerán disponibles para usarse 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 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 específicos

Los accesos a Looker con correo electrónico y contraseña están siempre 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 mediante /login/email para los administradores y 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 de OpenID Connect más adelante o si necesitas brindar asistencia a usuarios que no tengan cuentas en tu directorio de OpenID Connect.

Para habilitar accesos alternativos con la API de Looker, consulta la página de documentación Habilita la opción de acceso alternativa.

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

En el campo Combinar usuarios con, especifica el método que se usará para combinar un primer acceso de Open ID Connect con una cuenta de usuario existente. Puedes combinar usuarios de los siguientes sistemas:

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

Si tienes varios sistemas de autenticación, puedes especificar más de un sistema para combinar en este campo. Looker buscará usuarios en los sistemas enumerados en el orden en que se especifican. Por ejemplo, supongamos que creaste algunos usuarios con el correo electrónico y contraseña de Looker, luego 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, con LDAP.

Cuando un usuario accede por primera vez con OpenID Connect, esta opción lo conectará con su cuenta existente al buscar la cuenta con una dirección de correo electrónico coincidente. Si no existe una cuenta para el usuario, se creará una cuenta de usuario 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 estas 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 estos dos pasos:

    1. Identidades de usuario federadas en Google Cloud mediante Cloud Identity
    2. Configura la autenticación de OAuth como el método de autenticación de copia de seguridad mediante 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 realices la combinación, Looker buscará registros de usuarios que compartan 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.

Lee los resultados de la prueba detenidamente; algunas partes de la prueba pueden completarse correctamente aunque otras fallen.

Las pruebas se redireccionarán a los extremos y se abrirán una pestaña nueva en el navegador. En la pestaña, se 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 que Looker obtiene del extremo de información del usuario
  • Se recibieron las versiones decodificadas y sin procesar del token de ID

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

Sugerencias:

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

Guardar y aplicar la configuración

Primero, asegúrate de probar la configuración y leer los resultados con atención para verificar que todas las partes de la prueba se ejecutaron correctamente. Si guardas la información de configuración incorrecta de OpenID Connect, es posible que tú y otras personas no puedan usar Looker.

Cuando termines de ingresar tu información y se aprueben todas las pruebas, marca la casilla Confirmo la configuración anterior y quiero habilitar su aplicación global y haz clic en Update Settings para guardar.