Usar OAuth de Google para la autenticación de usuarios de Looker (servicio principal de Google Cloud)

Google OAuth se usa junto con Gestión de Identidades y Accesos (IAM) para autenticar a los usuarios de Looker (núcleo de Google Cloud).

Cuando se usa OAuth para la autenticación, Looker (Google Cloud core) autentica a los usuarios mediante el protocolo OAuth 2.0. Usa cualquier cliente de OAuth 2.0 para crear credenciales de autorización al crear una instancia. Por ejemplo, en esta página se explican los pasos para configurar la autenticación de una instancia de Looker (Google Cloud core) mediante la Google Cloud consola para crear credenciales de OAuth.

Si otro método es la forma principal de autenticación, Google OAuth será el método de autenticación alternativo de forma predeterminada. Google OAuth también es el método de autenticación que usa el equipo de Asistencia de Google Cloud cuando proporciona asistencia.

El cliente de OAuth que se usa para la autenticación debe ser el mismo que se usó para configurar la instancia.

Autenticación y autorización con OAuth y gestión de identidades y accesos

Cuando se usan con OAuth, los roles de gestión de identidades y accesos de Looker (Google Cloud Core) proporcionan los siguientes niveles de autenticación y autorización para todas las instancias de Looker (Google Cloud Core) de un Google Cloud proyecto determinado. Asigna uno de los siguientes roles de gestión de identidades y accesos a cada uno de tus principales, en función de los niveles de acceso que quieras que tengan:

Rol de IAM Autenticación Autorización
Usuario de instancia de Looker (roles/looker.instanceUser)

Puede iniciar sesión en instancias de Looker (Google Cloud core)

Cuando inician sesión por primera vez en Looker (servicio principal de Google Cloud), se les asigna el conjunto de roles de Looker predeterminado definido en Roles for new users (Roles de los nuevos usuarios).

No se puede acceder a los recursos de Looker (en la infraestructura de Google Cloud) en la consola. Google Cloud

Lector de Looker (roles/looker.viewer) Puede iniciar sesión en instancias de Looker (Google Cloud core) Cuando inician sesión por primera vez en Looker (servicio principal de Google Cloud), se les asigna el conjunto de roles de Looker predeterminado definido en Roles for new users (Roles de los nuevos usuarios).

Puede ver la lista de instancias de Looker (en la infraestructura de Google Cloud) y los detalles de las instancias en la Google Cloud consola
Administrador de Looker (roles/looker.admin) Puede iniciar sesión en instancias de Looker (Google Cloud core) Cuando inician sesión por primera vez en Looker (servicio principal de Google Cloud), se les asigna el conjunto de roles de Looker predeterminado definido en Roles for new users (Roles de los nuevos usuarios).

Se verifica en cada inicio de sesión en Looker (servicio principal de Google Cloud) que usa OAuth principal o OAuth de respaldo y cada vez que el usuario hace una llamada a la API de Looker. Este rol (o un rol personalizado que incluya el permiso looker.instances.update) también otorga el rol Administrador a través de gestión de identidades y accesos en la instancia.

El rol Administrador a través de gestión de identidades y accesos contiene todos los permisos y las funciones del rol de Looker Administrador. Este rol no se puede quitar ni reasignar en la instancia de Looker (en la infraestructura de Google Cloud). Para quitar el rol Administrador a través de gestión de identidades y accesos, vuelve a asignar la cuenta principal a un rol de gestión de identidades y accesos que no sea Administrador de Looker (roles/looker.admin). Los cambios en los roles de gestión de identidades y accesos se sincronizan automáticamente con la instancia de Looker (Google Cloud core), aunque el usuario inicie sesión con un proveedor de identidades de terceros después del cambio. Para obtener más información, consulta la sección Rol de administrador de Looker frente a rol de administrador a través de gestión de identidades y accesos de Looker.

Mientras el token de actualización de OAuth de un usuario sea válido, el rol del usuario se mostrará como Administrador a través de gestión de identidades y accesos en Looker (Google Cloud core), aunque el usuario inicie sesión más adelante con un proveedor de identidades externo. Si el token de actualización de OAuth caduca o se revoca, el usuario debe usar OAuth para volver a iniciar sesión en la instancia y recuperar el rol Administrador a través de IAM.

Puede realizar todas las tareas administrativas de Looker (en la infraestructura de Google Cloud) en la Google Cloud consola

Además, las cuentas de usuario con el rol owner de un proyecto pueden iniciar sesión y administrar cualquier instancia de Looker (Google Cloud core) de ese proyecto. Estos usuarios tendrán el rol de administrador de Looker.

Si los roles predefinidos no te ofrecen el conjunto de permisos que quieres, también puedes crear tus propios roles personalizados.

Las cuentas de Looker (Google Cloud core) se crean la primera vez que se inicia sesión en una instancia de Looker (Google Cloud core).

Rol de administrador de Looker frente al rol de administrador de Looker mediante gestión de identidades y accesos

En una instancia de Looker (en la infraestructura de Google Cloud), hay dos roles que usan el conjunto de permisos de administrador y que confieren los mismos privilegios de administrador en la instancia. En la siguiente tabla se resumen las similitudes y diferencias entre ambos roles.

Propiedad Rol de administrador de Looker Administrador mediante el rol de Looker de gestión de identidades y accesos
Fuente oficial Concedido por otro administrador en la instancia de Looker (Google Cloud Core) Vinculado directamente al rol de gestión de identidades y accesos de administrador de Looker
¿Se pueden añadir o quitar en una instancia de Looker (Google Cloud Core)? No
¿Se pueden añadir o quitar con IAM? No
Permisos en Looker (servicio principal de Google Cloud) Todos los permisos Todos los permisos
Permisos en la consola de Google Cloud Ninguno Acceso completo a todos los recursos de Looker (Google Cloud core)
Validación de roles Continuamente en la instancia de Looker (servicio principal de Google Cloud) Cada vez que se inicia sesión en la instancia de Looker (Google Cloud Core) y cada vez que se llama a la API de Looker.

Los cambios en un rol con gestión de identidades y accesos pueden tardar varios minutos en propagarse.
Ámbito Instancia individual de Looker (servicio principal de Google Cloud) Todas las instancias de Looker (Google Cloud Core) de un Google Cloud proyecto

Un usuario puede tener los roles de Looker Administrador y Administrador a través de gestión de identidades y accesos. Por lo tanto, si quieres revocar los privilegios de administrador, asegúrate de quitar tanto el rol de gestión de identidades y accesos como el rol Administrador en la instancia de Looker (Google Cloud core).

Configurar OAuth en la instancia de Looker (Google Cloud Core)

En la instancia de Looker (en la infraestructura de Google Cloud), la página Autenticación de Google de la sección Autenticación del menú Administrar te permite configurar algunos ajustes de OAuth de Google. Debes tener el rol de Looker Administrador.

Combinar cuentas de usuario

En el campo Combinar usuarios mediante, especifica el método que se usará para combinar un inicio de sesión de OAuth por primera vez con una cuenta de usuario. Cuando un usuario inicia sesión por primera vez a través de OAuth, esta opción lo conectará a su cuenta actual buscando la cuenta con una dirección de correo electrónico coincidente. Si no existe ninguna cuenta para el usuario, se creará una.

Puedes combinar usuarios de los siguientes sistemas:

  • SAML
  • OIDC

Si tienes más de un sistema, puedes especificar más de uno para combinar en este campo. Looker (servicio principal de Google Cloud) buscará usuarios en los sistemas indicados en el orden en el que se especifiquen. Por ejemplo, si primero creaste algunos usuarios con OIDC y, más tarde, usaste SAML, cuando un usuario intente iniciar sesión con OAuth por primera vez, Looker (Google Cloud core) buscará primero al usuario con OIDC y, si no encuentra ninguna coincidencia, lo buscará con SAML.

Si no quieres que Looker (en la infraestructura de Google Cloud) combine usuarios, deja este campo en blanco.

Replicar Grupos de Google

Si tienes Grupos de Google gestionados, Looker (Google Cloud core) puede crear grupos de Looker que reflejen la composición de tus grupos de Google. Esto significa que no tienes que configurar usuarios directamente en Looker (Google Cloud core), sino que puedes gestionar el acceso de los usuarios gestionando la pertenencia a los grupos de Google. Además, los grupos de Looker se pueden usar para asignar roles a los miembros del grupo, definir controles de acceso al contenido, controlar el acceso a funciones y datos y asignar atributos de usuario.

Los grupos de Looker duplicados (y los roles y el acceso asociados) se aplican a los nuevos usuarios cuando inician sesión por primera vez en la instancia de Looker (servicio principal de Google Cloud). Los grupos no se aplican a los usuarios que ya existían y no se vuelven a aplicar si se eliminan de la cuenta de un usuario en Looker (Google Cloud core) después de que el usuario haya iniciado sesión por primera vez.

Te recomendamos que habilites la creación de reflejo de grupos solo para el método de autenticación principal de Looker (Google Cloud core). Si utilizas OAuth como método de autenticación alternativo, no habilites la creación de reflejos de grupos para OAuth. 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 habilitar la creación de imágenes especulares de grupos, sigue estos pasos:

  1. En la Google Cloud consola Google Cloud , habilita la API Cloud Identity en el proyecto que contiene tu cliente OAuth. Debes tener el rol de gestión de identidades y accesos Administrador de Uso de Servicio (roles/serviceusage.serviceUsageAdmin) para habilitar las APIs.

    Habilitar la API

  2. En la Google Cloud consola, actualiza la pantalla de consentimiento del cliente de OAuth para añadir el permiso https://www.googleapis.com/auth/cloud-identity.groups.readonly. Debes tener el permiso de gestión de identidades y accesos clientauthconfig.clients.update para añadir ámbitos. Sigue estos pasos para actualizar la pantalla de consentimiento:

    • Ve al cliente de OAuth.
    • Elige la página Acceso a los datos.
    • Haz clic en el botón Añadir o quitar permisos. Se abrirá el panel Actualizar permisos seleccionados.
    • Busca el ámbito https://www.googleapis.com/auth/cloud-identity.groups.readonly y selecciona la casilla situada junto a él.
    • Haga clic en el botón Actualizar para añadir el ámbito.
    • Cierra el panel y haz clic en Guardar en la página Acceso a datos para guardar el ámbito.

  3. En la instancia de Looker (Google Cloud core), habilita el interruptor Mirror Google Groups (Replicar grupos de Google) en la página Google Authentication (Autenticación de Google). Este interruptor está inhabilitado de forma predeterminada. Rellena los siguientes campos:

    • En el campo Nombre del grupo de Looker, añade un nombre para el grupo de Looker. Este es el nombre que aparecerá en la página Grupos de Looker (Google Cloud Core).
    • En el campo ID de grupo de Google, introduce el nombre o el correo del grupo de Google que quieras duplicar.
    • En el campo Rol, introduce el rol o los roles de Looker que quieras asignar a los miembros de ese grupo.

Looker (Google Cloud core) creará un grupo de Looker por cada grupo de Google que se añada a la página Autenticación de Google. Puedes ver esos grupos de Looker en la página Grupos de Looker (Google Cloud Core).

Editar grupos reflejados

Cuando haces cambios en la pertenencia a un grupo de Grupos de Google, esos cambios se propagan automáticamente a la pertenencia del grupo de Looker reflejado y se validan la próxima vez que inicie sesión cada usuario.

Si editas los campos Nombre personalizado o Rol asignados a un grupo en la página Autenticación de Google, cambiará el nombre del grupo de Looker reflejado que aparece en la página Grupos de Looker (Google Cloud core) o los roles asignados al grupo, pero no cambiarán los miembros del grupo.

Si cambia el nombre o el correo del campo ID de grupo de Google de la página Autenticación de Google por el ID de un nuevo grupo de Google, los miembros del grupo de Looker reflejado pasarán a ser los miembros del nuevo grupo de Google, pero se mantendrán el nombre y los roles del grupo definidos en la página Autenticación de Google.

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 (Google Cloud core).

Inhabilitar grupos reflejados

Si quieres dejar de replicar tus grupos de Google en Looker (Google Cloud Core), inhabilita el interruptor Replicar grupos de Google en la página Autenticación de Google de la instancia de Looker (Google Cloud Core). Si se inhabilita el interruptor, se producirá lo siguiente:

  • Los grupos de Google reflejados que no tengan usuarios se eliminarán inmediatamente.
  • Cualquier grupo de Google reflejado que no contenga usuarios se marcará como huérfano. 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 los grupos de Google huérfanos.

Gestión avanzada de roles

Si el interruptor Duplicar grupos de Google está habilitado, la página Autenticación de Google muestra los ajustes de Gestión avanzada de roles. Las opciones de esta sección determinan el grado de flexibilidad que tienen los administradores de Looker a la hora de configurar grupos y usuarios de Looker que se han replicado desde Google.

Si quieres que la configuración de tus grupos y usuarios de Looker coincida exactamente con la de tus grupos de Google, activa todas las opciones de Gestión avanzada de roles. Si todas las opciones están habilitadas, los administradores de Looker no pueden modificar las pertenencias a grupos reflejados y solo pueden asignar roles a los usuarios a través de Grupos de Google.

Si quieres tener más flexibilidad para personalizar tus grupos en Looker (Google Cloud core), desactiva estas opciones. Tus grupos de Looker (Google Cloud core) seguirán reflejando tu configuración de Grupos de Google, pero podrás realizar tareas adicionales de gestión de grupos y usuarios en Looker (Google Cloud core), como añadir usuarios de Google a grupos de Looker o asignar roles de Looker directamente a usuarios de Google.

En las instancias de Looker (Google Cloud core), estas opciones están desactivadas de forma predeterminada.

La sección Gestión avanzada de roles contiene las siguientes opciones:

  • Impedir que los usuarios de Google reciban roles directamente: si activa esta opción, los administradores de Looker no podrán asignar roles de Looker directamente a los usuarios de Google. Los usuarios de Google solo recibirán roles a través de sus membresías de grupo. Si se permite que los usuarios de Google sean miembros de grupos de Looker integrados (no reflejados), podrán seguir heredando sus roles tanto de los grupos de Google reflejados como de los grupos de Looker integrados. Los usuarios de Google a los que se les hayan asignado roles directamente perderá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 Google en la instancia de Looker (Google Cloud core).

  • Impedir la pertenencia directa a grupos que no son de Google: esta opción impide que los administradores de Looker añadan miembros de grupos reflejados directamente a grupos de Looker integrados que no formen parte de la configuración de grupos reflejados en la página Autenticación de Google.

    Si se selecciona esta opción, los usuarios de Google 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 no está marcada, los administradores de Looker pueden añadir usuarios de Google directamente a grupos de Looker integrados.

  • Evitar la herencia de roles de grupos que no sean de Google: esta opción impide que los miembros de grupos reflejados hereden roles de grupos de Looker integrados. Si se permite que los grupos de Google reflejados sean miembros de grupos de Looker integrados, los usuarios de Google pueden conservar la pertenencia a cualquier grupo de Looker integrado. Los usuarios de Google que hayan heredado roles de un grupo de Looker integrado perderán esos roles la próxima vez que inicien sesión.

    Si esta opción está desactivada, los grupos reflejados o los usuarios de Google que se añadan como miembros de un grupo de Looker integrado heredarán los roles que se asignen al grupo de Looker integrado.

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

    Si esta opción está desactivada, los usuarios de Google pueden autenticarse en Looker (Google Cloud core) 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 (Google Cloud core), pero sí podrá iniciar sesión en Looker (Google Cloud core).

Definir un rol de Looker predeterminado

Si el interruptor Duplicar grupos de Google está inhabilitado, el ajuste Roles para usuarios nuevos aparece en la página Autenticación de Google. Este ajuste te permite definir el rol de Looker predeterminado que se asignará a las cuentas de usuario con el rol de gestión de identidades y accesos Usuario de instancia de Looker (roles/looker.instanceUser) o Lector de Looker (roles/looker.viewer) cuando inicien sesión por primera vez en una instancia de Looker (Google Cloud core). Para definir un rol predeterminado, sigue estos pasos:

  1. Ve a la página Autenticación de Google, en la sección Autenticación del menú Administrar.
  2. En el ajuste Roles para usuarios nuevos, selecciona el rol que quieras asignar a todos los usuarios nuevos de forma predeterminada. El ajuste contiene una lista de todos los roles predeterminados y roles personalizados de la instancia de Looker (en la infraestructura de Google Cloud).

Los roles de administrador no pueden ser roles predeterminados. Las cuentas de usuario con el rol de gestión de identidades y accesos de administrador de Looker (roles/looker.admin) recibirán el rol de Looker Administrador mediante gestión de identidades y accesos al iniciar sesión por primera vez, además del rol seleccionado en el ajuste Roles para usuarios nuevos.

Si habilitas el interruptor Duplicar grupos de Google después de personalizar el ajuste Roles para usuarios nuevos, los roles que se asignen a los usuarios mediante el ajuste Roles para usuarios nuevos se eliminarán cuando vuelvan a iniciar sesión y se sustituirán por los roles asignados mediante el ajuste Duplicar grupos de Google.

Probar la autenticación de usuarios

Haz clic en el botón Probar autenticación de Google para probar la configuración. Las pruebas redirigirán al servidor OAuth de Google y abrirán una pestaña del navegador. En la pestaña se muestra la siguiente información:

  • Si Looker (Google Cloud Core) ha podido comunicarse con el servidor y validarlo.
  • La información de usuario que Looker (en la infraestructura de Google Cloud) obtiene del servidor. Debes validar que el servidor devuelva los resultados adecuados.
  • Una traza que muestra cómo se ha encontrado la información. Usa el seguimiento para solucionar el problema si la información es incorrecta. Si necesita más información, puede leer el archivo de servidor XML sin formato.
  • Versiones decodificada y sin procesar del token de ID recibido. Se pueden usar para confirmar los detalles del usuario, así como la configuración de Google.

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 Enviar para guardar los cambios.

Añadir usuarios a una instancia de Looker (Google Cloud Core)

Una vez que se haya creado una instancia de Looker (Google Cloud core), se pueden añadir usuarios a través de IAM. Para añadir usuarios, sigue estos pasos:

  1. Asegúrate de tener el rol Administrador de gestión de identidades y accesos del proyecto u otro rol que te permita gestionar el acceso de gestión de identidades y accesos.
  2. Ve al Google Cloud proyecto de la consola en el que se encuentra la instancia de Looker (Google Cloud core).

  3. Ve a la sección IAM y administración > IAM de la consola Google Cloud .

  4. Selecciona Conceder acceso.

  5. En la sección Añadir principales, añade uno o varios de los siguientes elementos:

    • Una dirección de correo de una cuenta de Google
    • Un grupo de Google
    • Un dominio de Google Workspace
  6. En la sección Asignar roles, selecciona uno de los roles de gestión de identidades y accesos (IAM) predefinidos de Looker (Google Cloud core) o un rol personalizado que hayas añadido.

  7. Haz clic en Guardar.

  8. Comunica a los nuevos usuarios de Looker (principal de Google Cloud) que se les ha concedido acceso y dirígelos a la URL de la instancia. Desde ahí, podrán iniciar sesión en la instancia y se crearán sus cuentas. No se enviará ninguna comunicación automática.

Si cambias el rol de gestión de identidades y accesos de un usuario, este se propagará a la instancia de Looker (Google Cloud core) en unos minutos. Si ya existe una cuenta de usuario de Looker, el rol de ese usuario en Looker no cambia.

Todos los usuarios deben aprovisionarse siguiendo los pasos de gestión de identidades y accesos descritos anteriormente, con una excepción: puedes crear cuentas de servicio solo para la API de Looker en la instancia de Looker (Google Cloud Core).

Iniciar sesión en Looker (Google Cloud Core) con OAuth

La primera vez que inicien sesión, se les pedirá a los usuarios que inicien sesión con su cuenta de Google. Debe usar la misma cuenta que el administrador de Looker haya indicado en el campo Añadir principales al conceder acceso. Los usuarios verán la pantalla de consentimiento de OAuth que se configuró durante la creación del cliente de OAuth. Una vez que los usuarios acepten la pantalla de consentimiento, se crearán sus cuentas en la instancia de Looker (Google Cloud core) y se iniciará sesión en ellas.

Después, los usuarios iniciarán sesión automáticamente en Looker (servicio principal de Google Cloud), a menos que su autorización caduce o el usuario la revoque. En esos casos, los usuarios volverán a ver la pantalla de consentimiento de OAuth y se les pedirá que den su consentimiento para la autorización.

Es posible que a algunos usuarios se les asignen credenciales de API para obtener un token de acceso a la API. Si la autorización de esos usuarios caduca o se revoca, sus credenciales de API dejarán de funcionar. Los tokens de acceso a la API actuales también dejarán de funcionar. Para resolver el problema, el usuario debe volver a autorizar sus credenciales iniciando sesión de nuevo en la interfaz de usuario de Looker (Google Cloud core) de cada instancia de Looker (Google Cloud core) afectada. También puedes usar cuentas de servicio solo para APIs para evitar que se produzca un error de autorización de credenciales en los tokens de acceso a APIs.

Quitar el acceso OAuth a Looker (Google Cloud core)

Si tienes un rol que te permite gestionar el acceso de gestión de identidades y accesos, puedes quitar el acceso a una instancia de Looker (Google Cloud core) revocando el rol de gestión de identidades y accesos que concedía el acceso. Si quitas el rol de gestión de identidades y accesos de una cuenta de usuario, ese cambio se propagará a la instancia de Looker (Google Cloud core) en unos minutos. El usuario ya no podrá autenticarse en la instancia. Sin embargo, la cuenta de usuario seguirá apareciendo como activa en la página Usuarios. Para quitar la cuenta de usuario de la página Usuarios, elimina el usuario en la instancia de Looker (Google Cloud core).

Usar OAuth como método de autenticación alternativo

OAuth es el método de autenticación alternativo cuando SAML u OIDC son los métodos de autenticación principales.

Para configurar OAuth como método alternativo, concede a cada usuario de Looker (Google Cloud core) el rol de gestión de identidades y accesos adecuado para iniciar sesión en la instancia.

Una vez que se haya configurado el método de copia de seguridad, los usuarios podrán acceder a él siguiendo estos pasos:

  1. En la página de inicio de sesión, selecciona Autenticar con Google.
  2. Aparecerá un cuadro de diálogo para confirmar la autenticación de Google. Selecciona Confirmar en el cuadro de diálogo.

Los usuarios podrán iniciar sesión con sus cuentas de Google. La primera vez que inicie sesión con OAuth, se le pedirá que acepte la pantalla de consentimiento de OAuth que se configuró durante la creación de la instancia.

Siguientes pasos