Configura una cuenta de servicio de Google Cloud para Looker Studio

Público objetivo:

Este artículo está destinado a los administradores de Google Cloud. Para obtener información sobre cómo usar una cuenta de servicio existente en tu fuente de datos de Looker Studio, consulta Credenciales de datos.

En lugar de delegar el acceso con las credentials del propietario o de exigir que los usuarios de informes individuales tengan acceso a los datos con sus credenciales, Looker Studio puede usar una cuenta de servicio para acceder a los datos. Una cuenta de servicio es un tipo especial de Cuenta de Google que representa a un usuario no humano que puede autenticarse y tener autorización para acceder a los datos de las APIs y los productos de Google. Obtén más información sobre las cuentas de servicio.

Beneficios de usar una cuenta de servicio con Looker Studio

Para usar una cuenta de servicio con Looker Studio, agrega el agente de servicio de Looker Studio de tu organización como usuario (principal) en la cuenta. Esto te permite controlar qué cuentas de servicio se pueden usar con Looker Studio y, al mismo tiempo, garantizar que los usuarios de tu organización puedan acceder fácilmente a los datos que necesitan.

El uso de una cuenta de servicio en lugar de las credenciales de un usuario individual proporciona los siguientes beneficios:

  • Las fuentes de datos que usan credenciales de cuenta de servicio no se interrumpirán si el creador abandona tu empresa.
  • Las credenciales de la cuenta de servicio admiten el acceso a los datos que se encuentran detrás de los perímetros de los Controles del servicio de VPC que usan políticas de dispositivos.
  • Las funciones automatizadas, como los correos electrónicos y las extracciones de datos programados, funcionan con fuentes de datos que se encuentran detrás de un perímetro de Controles del servicio de VPC.

Te recomendamos que crees cuentas de servicio nuevas que solo se usen con Looker Studio. Por ejemplo, puedes crear cuentas de servicio independientes para que los equipos de marketing, ventas y ingeniería las usen con Looker Studio.

Antes de comenzar

  • Para configurar una cuenta de servicio, debes tener el rol de administrador de cuentas de servicio ( roles/iam.serviceAccountAdmin ) o Crear cuentas de servicio ( roles/iam.serviceAccountCreator ) en tu proyecto de Google Cloud. Obtén más información sobre los roles de las cuentas de servicio.
  • Para obtener el agente de servicio de Looker Studio, debes ser usuario de Workspace o Cloud Identity.

Instrucciones de configuración

Solo debes seguir las instrucciones de este artículo una vez, a menos que quieras crear cuentas de servicio diferentes para diferentes equipos o grupos de usuarios. Para crear varias cuentas de servicio, repite estas instrucciones para cada cuenta de servicio adicional.

Obtén el agente de servicio de Looker Studio

Para permitir que la cuenta de servicio acceda a tus datos, deberás proporcionar el agente de servicio de Looker Studio de tu organización. Puedes obtener el agente de servicio desde una página de ayuda en Looker Studio:

  1. Navega a la página de ayuda del agente de servicio de Looker Studio.
  2. Copia la dirección de correo electrónico del agente de servicio que aparece en esa página.

En la página Agente de servicio de Looker Studio, se muestra la dirección de correo electrónico del agente de servicio que se requiere para configurar una cuenta de servicio que acceda a tus datos.

Crea una cuenta de servicio para Looker Studio

Puedes encontrar instrucciones para crear una cuenta de servicio en la documentación de IAM de Google Cloud. Puedes usar la consola de Cloud o la línea de comandos de Cloud Shell para crear la cuenta de servicio.

Usa la consola de Cloud

Paso 1: Crea una cuenta de servicio nueva

  1. En la consola de Cloud, ve a la página Crear cuenta de servicio .

    Ve a Crear cuenta de servicio

  2. Selecciona un proyecto
  3. Ingresa un nombre de cuenta de servicio para mostrar en la consola de Cloud.

    >La consola de Cloud genera un ID de cuenta de servicio a partir de este nombre. Si es necesario, edita el ID ahora. No podrás cambiar el ID más adelante.

  4. Opcional: Ingresa una descripción para la cuenta de servicio.
  5. Haz clic en CREAR Y CONTINUAR.

    Página Crear cuenta de servicio de Google Cloud Platform con los campos Nombre de la cuenta de servicio, ID de la cuenta de servicio y Descripción de la cuenta de servicio completados.

  6. En el paso 2, Otorga acceso a esta cuenta de servicio al proyecto , otorga a la cuenta de servicio el rol de IAM de usuario de trabajo de BigQuery en el proyecto que contiene los datos a los que deseas conectarte en Looker Studio. Ten en cuenta que puede ser diferente del proyecto en el que creaste la cuenta de servicio.

    Un usuario ingresa el texto BigQuery Job en el cuadro de filtro de roles y selecciona el rol de usuario de trabajo de BigQuery en el menú desplegable de resultados.
  7. Haz clic en Continuar .
  8. En el campo Roles de usuarios de la cuenta de servicio , agrega los usuarios que pueden usar esta cuenta de servicio para proporcionar credenciales para sus fuentes de datos. Si aún no tienes todo listo para agregar usuarios, puedes hacerlo más tarde. Para ello, sigue las instrucciones que se indican en el Paso 3: Otorga roles de usuario a continuación.
  9. Haz clic en LISTO para guardar la cuenta de servicio y volver a la página de la lista de cuentas de servicio de tu proyecto.

Paso 2: Permite que el agente de servicio de Looker Studio acceda a tu cuenta de servicio

  1. Regresa a la lista de cuentas de servicio de la consola de Cloud .
  2. Haz clic en la cuenta de servicio de Looker Studio que acabas de crear para seleccionarla en la lista.
  3. En la parte superior, haz clic en PERMISOS .
  4. Haz clic en Ícono de compartir OTORGAR ACCESO .
  5. A la derecha, en Agregar principales a PROJECT_ID , pega el correo electrónico del agente de servicio de Looker Studio (que copiaste en el paso 1 anterior) en el cuadro Principales nuevas .
  6. Selecciona un rol que le otorgue al agente de servicio el permiso iam.serviceAccount.getAccessToken . Por ejemplo, puedes usar el rol Creador de tokens de cuenta de servicio , pero también puedes usar cualquier rol personalizado que otorgue este permiso.
  7. Haz clic en GUARDAR .
Nota : La dirección de tu agente de servicio usa el formato service-account@PROJECT_ID.iam.gserviceaccount.com . Si conoces el ID de tu proyecto, puedes crear la dirección de forma manual.

En el panel Agregar principales, un usuario ingresa el correo electrónico del agente de servicio de Looker Studio en el campo Principales nuevos, ingresa el token de palabra en el cuadro Filtro de roles y selecciona el rol Creador de tokens de cuenta de servicio en el menú desplegable de resultados.

Paso 3: Otorga roles de usuario

Nota : Este paso es opcional si ya agregaste usuarios de Looker Studio mientras creabas la cuenta de servicio, como se describe en el paso 1 anterior.

Los usuarios de Looker Studio que crearán o editarán fuentes de datos deben tener un rol que incluya el permiso iam.serviceAccounts.actAs , como el rol de usuario de cuenta de servicio ( roles/iam.serviceAccountUser ). Puedes otorgar este rol en el proyecto o en una cuenta de servicio individual, pero te recomendamos que lo otorgues solo en la cuenta de servicio. Para obtener instrucciones, consulta Cómo administrar el robo de identidad de cuentas de servicio .

Nota : Si aún no tienes todo listo para completar este paso, puedes volver a él más tarde.
Sugerencia : Te recomendamos que NO otorgues a los usuarios que no sean agente de servicio el rol de Creador de tokens de cuenta de servicio , ya que no es necesario para Looker Studio.
Nota : Los usuarios que solo verán informes de Looker Studio no necesitan tener permisos en la cuenta de servicio.
  1. Navega a la lista de cuentas de servicio de la consola de Cloud .
  2. Haz clic en tu cuenta de servicio de Looker Studio para seleccionarla en la lista.
  3. En la parte superior de la página, haz clic en PERMISOS .
  4. Haz clic en Ícono de compartir OTORGAR ACCESO .
  5. A la derecha, en Agregar principales y roles para Service Account , ingresa las direcciones de correo electrónico de tus usuarios en el cuadro Principales nuevas .
  6. Selecciona el rol Usuario de cuenta de servicio .
  7. Haz clic en GUARDAR .

Paso 4: Habilita la cuenta de servicio para que acceda a tus datos de BigQuery

Para permitir que Looker Studio acceda a tus datos, otorga el rol de Visualizador de datos de BigQuery a la cuenta de servicio a nivel de la tabla o del conjunto de datos.

Nota : No recomendamos otorgar acceso a la cuenta de servicio a nivel del proyecto.

Para otorgar acceso a una tabla , sigue estos pasos :

  1. Navega a la lista de cuentas de servicio de la consola de Cloud .
  2. Copia la dirección de correo electrónico de la cuenta de servicio de Looker Studio.
  3. Navega a BigQuery y abre un proyecto.
  4. Para expandir un conjunto de datos, haz clic en .
  5. Selecciona una tabla.
  6. En la barra de herramientas, haz clic en Ícono de compartir COMPARTIR .
  7. En el panel que se abre a la derecha, haz clic en Ícono de compartir AGREGAR PRINCIPAL .
  8. En el cuadro Principales nuevas , pega la dirección de correo electrónico de la cuenta de servicio de Looker Studio.
  9. Selecciona el rol de Visualizador de datos de BigQuery .
  10. Haz clic en GUARDAR .

Para otorgar acceso a un conjunto de datos , haz lo siguiente :

  1. Navega a la lista de cuentas de servicio de la consola de Cloud .
  2. Copia la dirección de correo electrónico de tu cuenta de servicio de Looker Studio.
  3. Navega a BigQuery , abre un proyecto y, luego, busca el conjunto de datos.
  4. A la derecha del nombre del conjunto de datos, haz clic en Ver acciones .
  5. Haz clic en Abrir .
  6. En la barra de herramientas, haz clic en Ícono de compartir COMPARTIR Permisos .
  7. En el panel que se abre a la derecha, haz clic en Ícono de compartir AGREGAR PRINCIPAL .
  8. En el cuadro Principales nuevas , pega la dirección de correo electrónico de la cuenta de servicio de Looker Studio.
  9. Selecciona el rol de Visualizador de datos de BigQuery .
  10. Haz clic en GUARDAR .

Uso de Cloud Shell

Paso 1: Crea una cuenta de servicio nueva

Sigue los pasos generales que se indican en gcloud en Crea y administra cuentas de servicio .

  1. Abre Cloud Shell .
  2. Si es necesario, selecciona un proyecto.
  3. Para crear la cuenta de servicio, ejecuta el comando gcloud iam service-accounts create . Puedes usar el nombre de cuenta, la descripción y el nombre visible que elijas.

    Ejemplo:

     gcloud iam service-accounts create datastudio_service_account --description="Use for Looker Studio access to BigQuery"  --display-name="DS_BQ" 
  1. Para acceder a los datos de BigQuery en el proyecto de Google Cloud que deseas usar con Looker Studio, otorga a la cuenta de servicio el permiso bigquery.jobs.create en ese proyecto. Puedes otorgar el rol de IAM Usuario de trabajos de BigQuery para otorgar este permiso.

    Además, otorga a la cuenta de servicio los permisos bigquery.tables.getData y bigquery.tables.get en el proyecto o el conjunto de datos que deseas usar con Looker Studio. Puedes otorgar el rol de Visualizador de datos de BigQuery ( roles/bigquery.dataViewer ) para otorgar estos permisos.

    Para otorgar estos roles, ejecuta el comando gcloud projects add-iam-policy-binding . En los siguientes ejemplos, reemplaza PROJECT_ID por el ID de tu proyecto.

    Ejemplo:
     gcloud projects add-iam-policy-binding PROJECT_ID  --member = "serviceAccount:datastudio_sa@PROJECT_ID.iam.gserviceaccount.com" --role="roles/bigquery.jobUser" gcloud projects add-iam-policy-binding PROJECT_ID --member = "serviceAccount:datastudio_sa@PROJECT_ID.iam.gserviceaccount.com" --role="roles/bigquery.dataViewer" 

Paso 2: Permite que el agente de servicio de Looker Studio acceda a tu cuenta de servicio

Para permitir que el agente de servicio de Looker Studio acceda a los datos a través de la cuenta de servicio, otorga el rol Creador de tokens de cuenta de servicio ( roles/iam.serviceAccountTokenCreator ) al agente de servicio. Para ello, ejecuta el comando gcloud iam service-accounts add-iam-policy-binding . En el siguiente ejemplo, reemplaza ORG_ID por el ID de tu organización.

Ejemplo:

 gcloud iam service-accounts add-iam-policy-binding datastudio_service_account@PROJECT_ID.iam.gserviceaccount.com --member="service-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" --role="roles/iam.serviceAccountTokenCreator" 

Paso 3: Otorga roles de usuario

Los usuarios de Looker Studio que crearán o editarán fuentes de datos deben tener un rol que incluya el permiso iam.serviceAccounts.actAs , como el rol de usuario de cuenta de servicio ( roles/iam.serviceAccountUser ). Puedes otorgar este rol en el proyecto o en una cuenta de servicio individual, pero te recomendamos que lo otorgues solo en la cuenta de servicio. Para obtener instrucciones, consulta Cómo administrar el robo de identidad de cuentas de servicio .

Si aún no tienes todo listo para completar este paso, puedes volver a él más tarde.
Sugerencia: Te recomendamos que NO otorgues a los usuarios que no sean agente de servicio el rol de creador de tokens de cuenta de servicio , ya que no es necesario para Looker Studio.
Nota: Los usuarios que solo verán informes de Looker Studio no necesitan tener permisos en la cuenta de servicio.

Para otorgar el rol de Usuario de cuenta de servicio , ejecuta el comando gcloud projects add-iam-policy-binding . En los siguientes ejemplos, reemplaza PROJECT_ID por el ID de tu proyecto y " user@example.com " por una o más direcciones de correo electrónico válidas (separa las entradas múltiples con comas).

Ejemplo:

 gcloud iam service-accounts add-iam-policy-binding  datastudio_service_account@PROJECT_ID.iam.gserviceaccount.com  --member="user:user@example.com" --role="roles/iam.serviceAccountUser" 

Paso 4: Habilita la cuenta de servicio para que acceda a tus datos de BigQuery

Para permitir que Looker Studio acceda a tus datos, otorga el rol de Visualizador de datos de BigQuery a la cuenta de servicio a nivel de la tabla o del conjunto de datos.

La forma más fácil de hacerlo es con las instrucciones de la consola de Cloud , paso 4 anterior. Para otorgar acceso a los datos con la herramienta de línea de comandos de bq, consulta Controla el acceso a los conjuntos de datos .

Proporciona las cuentas de servicio de Looker Studio a tus usuarios de Looker Studio

Los usuarios de Looker Studio deberán saber qué cuenta de servicio usar cuando creen fuentes de datos. Como no hay forma de ver la lista de cuentas de servicio disponibles desde Looker Studio, debes poner esta información a disposición de los usuarios a través de la documentación, el sitio web interno o el correo electrónico de tu organización.

Crea una fuente de datos que use credenciales de cuenta de servicio

Para crear fuentes de datos que usen credenciales de cuenta de servicio, los usuarios de Looker Studio pueden seguir los mismos pasos básicos que para otros tipos de credenciales de datos :

  1. Crea o edita una fuente de datos de BigQuery.
  2. En la barra de herramientas, haz clic en Credenciales de datos.
  3. Selecciona Credenciales de la cuenta de servicio.
  4. Ingresa la dirección de correo electrónico de tu cuenta de servicio en el cuadro.
  5. Haz clic en Actualizar.

Cómo editar una fuente de datos que usa credenciales de cuenta de servicio

Cuando alguien edita una fuente de datos que usa credenciales de cuenta de servicio, Looker Studio verifica si tiene permiso para usarla. De lo contrario, la fuente de datos cambiará para usar sus credenciales.

Cómo ver quién usa la cuenta de servicio para acceder a los datos

Puedes consultar los registros de auditoría de las cuentas de servicio en la consola de Cloud. Debes habilitar los registros de auditoría de IAM para la actividad de acceso a los datos si deseas recibir registros de auditoría de las cuentas de servicio.

Situación de ejemplo de la cuenta de servicio

Supongamos que quieres asegurarte de que los usuarios de Looker Studio de tu empresa solo tengan acceso a los datos de la subsidiaria de su país. Una solución es crear una cuenta de servicio para cada país y solo otorgarles permiso a los usuarios de Looker Studio de ese país para que actúen como la cuenta de servicio.

Configuración de ejemplo

En este ejemplo, crearás tres cuentas de servicio: una para el Reino Unido, una para Francia y una para Alemania. Luego, asignarás a tu agente de servicio y a los usuarios que quieras que puedan crear fuentes de datos que usen la cuenta de servicio como principales, y les otorgarás los roles adecuados.

Cuenta de servicio del Reino Unido

service-account-1@example-org-uk-example-project.iam.gserviceaccount.com

Principales del Reino Unido

Principales Funciones

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este es el agente de servicio.

Service Account Token Creator
Usuario 1 Service Account User
Usuario 2 Service Account User

Cuenta de servicio de Francia

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

Principales de Francia

Principales Funciones

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este es el agente de servicio.

Service Account Token Creator
Usuario 3 Service Account User
Usuario 4 Service Account User

Cuenta de servicio de Alemania

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

Principales de Alemania

Principales Funciones

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este es el agente de servicio.

Service Account Token Creator
Usuario 5 Service Account User
Usuario 6 Service Account User

Errores

En esta sección, se explican los errores que los creadores de fuentes de datos y los usuarios de informes de Looker Studio pueden ver cuando intentan usar una cuenta de servicio. En la mayoría de los casos, estos errores tienen la misma causa raíz: una configuración incorrecta o incompleta de la cuenta de servicio.

Falta el rol de agente de servicio

Mensajes

  • Al agente de servicio de Looker Studio le falta el permiso iam.serviceAccount.getAccessToken para este servicio.
  • Al agente de servicio que usa la cuenta de servicio de esta fuente de datos le falta el rol "Creador de tokens de cuenta de servicio".

Causa

Al agente de servicio no se le otorgó el rol Creador de tokens de cuenta de servicio (o algún otro rol que incluya el permiso iam.serviceAccount.getAccessToken ).

Solución

Otorga el rol de creador de tokens de la cuenta de servicio al agente de servicio.

Sin acceso a los datos

Mensaje

Esta cuenta de servicio no puede acceder al conjunto de datos subyacente.

Causa

No se le otorgó acceso a los datos del proyecto a la cuenta de servicio.

Solución

Como mínimo, otorga el rol de Visualizador de datos de BigQuery a tu cuenta de servicio en la tabla, el conjunto de datos o el proyecto subyacentes.

Falta el rol del usuario

Mensaje

No tienes permiso para usar esta cuenta de servicio.

Causa

El usuario no se agregó como principal a la cuenta de servicio con el rol de usuario de cuenta de servicio .

Solución

Otorga el rol de usuario de la cuenta de servicio al usuario de la cuenta de servicio.

El agente de servicio no está disponible para la cuenta

Mensajes

  • No se pueden generar agentes de servicio para esta cuenta. Vuelve a intentarlo con una cuenta administrada de Google Workspace o Cloud Identity.
  • Las credenciales del agente de servicio solo están disponibles para las organizaciones administradas por Google Workspace o Cloud Identity. Usa otra cuenta para usar esta función.

Causa

El usuario intenta acceder a datos controlados por una cuenta de servicio desde una Cuenta de Google estándar (usuario consumidor).

Solución

Usa una cuenta de Google Workspace o Cloud Identity para acceder a los datos.

No se puede usar el agente de servicio en el diálogo de credenciales

Mensaje

Los agentes de servicio de Looker Studio no se pueden usar para conectarse directamente a los datos. En su lugar, usa una cuenta de servicio .

Solución

Los agentes de servicio y las cuentas de servicio son diferentes. Ingresa una cuenta de servicio en el diálogo de credenciales. Puedes encontrar la lista de cuentas de servicio disponibles en la consola de Cloud:

Usa la consola de Cloud

  1. Navega a la página Google Cloud Platform > IAM y administración > Cuentas de servicio .
  2. Si es necesario, selecciona un proyecto.
  3. En la página Cuentas de servicio del proyecto , busca la cuenta de servicio que usará Looker Studio para acceder a tus datos de BigQuery.
  4. Copia la dirección de correo electrónico de esa cuenta.

Usa Cloud Shell

  1. Abre Cloud Shell .
  2. Si es necesario, selecciona un proyecto.
  3. Para obtener una lista de las cuentas de servicio a las que tienes acceso, ejecuta el comando gcloud iam service-accounts list .

Ejemplo:

 gcloud iam service-accounts list 

Límites

  • Actualmente, las credenciales de cuenta de servicio solo están disponibles para las fuentes de datos de BigQuery. Los límites de IAM se aplican a las cuentas de servicio.
  • Es posible que los cambios en los permisos de la cuenta de servicio tarden unos minutos en reflejarse en Looker Studio.