Este artículo está dirigido a administradores de Google Cloud. Para obtener información sobre cómo usar en tu fuente de datos de Looker Studio una cuenta de servicio ya creada, consulta Credenciales de acceso a datos.
En lugar de delegar el acceso mediante credenciales de propietario, o requerir que cada uno de los lectores de los informes acceda a los datos mediante credenciales de lector, Looker Studio puede usar una cuenta de servicio para acceder a ellos. Una cuenta de servicio es un tipo especial de cuenta de Google ideada para representar a un usuario que no es humano y que puede autenticarse y obtener autorización para acceder a los datos de las APIs y los productos de Google. Más información sobre las cuentas de servicio
En la actualidad, las credenciales de cuenta de servicio solo están disponibles para las fuentes de datos de BigQuery.
- Ventajas de usar una cuenta de servicio con Looker Studio
- Antes de empezar
- Instrucciones de configuración
- Proporcionar las cuentas de servicio de Looker Studio a tus usuarios de Looker Studio
- Editar una fuente de datos que usa credenciales de cuentas de servicio
- Ver quién está usando la cuenta de servicio para acceder a los datos
- Ejemplo de uso de cuentas de servicio
- Errores
- Límites
- Recursos relacionados
Ventajas de usar una cuenta de servicio con Looker Studio
Para usar una cuenta de servicio con Looker Studio, debes añadir el agente de servicio de Looker Studio de tu organización como un usuario (principal) de la cuenta. De este modo, podrás controlar qué cuentas de servicio pueden usarse con Looker Studio y asegurarte de que los usuarios de tu organización puedan acceder fácilmente a los datos que necesiten.
Usar una cuenta de servicio en lugar de las credenciales de un usuario concreto proporciona estas ventajas:
- Las fuentes de datos que usan credenciales de cuenta de servicio no dejarán de funcionar si su creador deja la empresa.
- Las credenciales de cuenta de servicio permiten acceder a los datos que se encuentren dentro de aquellos perímetros de Controles de Servicio de VPC que usen políticas de dispositivos.
- Algunas funciones automatizadas, como los correos programados y los fragmentos de datos programados, funcionarán con fuentes de datos que se encuentren dentro de un perímetro de Controles de Servicio de VPC.
Antes de empezar
- Para configurar una cuenta de servicio, debes tener el rol Administrador de cuentas de servicio (
roles/iam.serviceAccountAdmin
) o Crear cuentas de servicio (roles/iam.serviceAccountCreator
) en tu proyecto de Google Cloud. 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 de Cloud Identity.
Instrucciones de configuración
Solo tienes que seguir las instrucciones de este artículo una vez, a menos que quieras crear distintas cuentas de servicio para diferentes equipos o grupos de usuarios. Para crear varias cuentas de servicio, repite estas instrucciones con cada una de ellas.
Obtener el agente de servicio de Looker Studio
Para permitir que la cuenta de servicio acceda a tus datos, debes proporcionar el agente de servicio de Looker Studio de tu organización. Puedes obtener este agente a través de una página de ayuda de Looker Studio:
- Ve a la página de ayuda del agente de servicio de Looker Studio.
- Copia la dirección de correo del agente de servicio que se muestra en esa página.
Crear una cuenta de servicio para Looker Studio
Puedes consultar las instrucciones para crear una cuenta de servicio en la documentación de Google Cloud IAM. Para crear una cuenta de este tipo, puedes usar la consola de Cloud o la línea de comandos de Cloud Shell.
Paso 1: Crea una cuenta de servicio
-
En la consola de Cloud, ve a la página Crear cuenta de servicio.
Ir a Crear cuenta de servicio - Selecciona un proyecto.
-
Escribe el nombre de la cuenta de servicio, que será el que se muestre en la consola de Cloud.
La consola de Cloud genera un ID de cuenta de servicio basado en este nombre. Cambia el ID en este momento del proceso si fuera necesario. No podrás cambiarlo más adelante.
- Opcional: Escribe la descripción de la cuenta de servicio.
-
Haz clic en CREAR Y CONTINUAR.
- En el paso 2, que consiste en conceder a esta cuenta de servicio acceso al proyecto, asigna a la cuenta de servicio el rol de gestión de identidades y accesos Usuario de tareas de BigQuery en el proyecto que contiene los datos a los que quieres conectarte en Looker Studio. Ten en cuenta que puede ser un proyecto diferente a aquel en el que creaste la cuenta de servicio.
- Haz clic en Continuar.
- En el campo Rol de usuarios de la cuenta de servicio, añade los usuarios que pueden usar esta cuenta para proporcionar las credenciales de sus fuentes de datos. Si no es el mejor momento para añadirlos, puedes hacerlo más tarde siguiendo las instrucciones del Paso 3: Asigna roles de usuario, que se indica más abajo.
- Haz clic en HECHO para guardar la cuenta de servicio y volver a la página donde se muestra 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
- Vuelve a la lista de cuentas de servicio de la consola de Cloud.
- Para seleccionar la cuenta de servicio de Looker Studio que acabas de crear, haz clic en ella.
- En la parte superior, haz clic en PERMISOS.
- Haz clic en DAR ACCESO .
- En la parte derecha, en Añadir principales a <proyecto>, pega en el cuadro Principales nuevas el correo del agente de servicio de Looker Studio que has copiado en el paso 1 de este artículo.
- Selecciona un rol que conceda 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 conceda este permiso. - Haz clic en GUARDAR.
service-account@<id_de_proyecto>.iam.gserviceaccount.com
. Si conoces el ID de tu proyecto, puedes crear la dirección manualmente.Paso 3: Asigna roles de usuario
Los usuarios de Looker Studio que vayan a crear o a editar fuentes de datos deben tener un rol que incluya el permiso iam.serviceAccounts.actAs
, como el rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser
). Puedes asignar este rol en el proyecto o en una cuenta de servicio concreta, pero te recomendamos que lo asignes solo en la cuenta de servicio. Para ver instrucciones al respecto, consulta el artículo sobre cómo gestionar la suplantación de identidad en cuentas de servicio.
- Ve a la lista de cuentas de servicio de la consola de Cloud.
- En la lista, selecciona tu cuenta de servicio de Looker Studio haciendo clic en ella.
- En la parte superior de la página, haz clic en PERMISOS.
- Haz clic en DAR ACCESO .
- En la parte derecha, en Añadir principales y roles a <cuenta de servicio>, escribe las direcciones de correo de tus usuarios en el cuadro Principales nuevas.
- Selecciona el rol Usuario de cuenta de servicio.
- Haz clic en GUARDAR.
Paso 4: Habilita la cuenta de servicio para que pueda acceder a tus datos de BigQuery
Para permitir que Looker Studio acceda a tus datos, asigna el rol Lector de datos de BigQuery a la cuenta de servicio a nivel de tabla o de conjunto de datos.
Para dar acceso a una tabla, sigue estos pasos:
- Ve a la lista de cuentas de servicio de la consola de Cloud.
- Copia la dirección de correo de la cuenta de servicio de Looker Studio.
- Ve a BigQuery y abre un proyecto.
- Para desplegar un conjunto de datos, haz clic en .
- Selecciona una tabla.
- En la barra de herramientas, haz clic en COMPARTIR .
- En el panel que se abre a la derecha, haz clic en AÑADIR PRINCIPAL .
- En el cuadro Principales nuevas, pega la dirección de correo de la cuenta de servicio de Looker Studio.
- Selecciona el rol Lector de datos de BigQuery.
- Haz clic en GUARDAR.
Para dar acceso a un conjunto de datos, sigue estos pasos:
- Ve a la lista de cuentas de servicio de la consola de Cloud.
- Copia la dirección de correo de tu cuenta de servicio de Looker Studio.
- Ve a BigQuery, abre un proyecto y busca el conjunto de datos.
- A la derecha del nombre del conjunto de datos, haz clic en Ver acciones .
- Haz clic en Abrir.
- En la barra de herramientas, haz clic en COMPARTIR > Permisos.
- En el panel que se abre a la derecha, haz clic en AÑADIR PRINCIPAL .
- En el cuadro Principales nuevas, pega la dirección de correo de la cuenta de servicio de Looker Studio.
- Selecciona el rol Lector de datos de BigQuery.
- Haz clic en GUARDAR.
Paso 1: Crea una cuenta de servicio
Sigue los pasos generales que se indican en la pestaña gcloud del artículo sobre cómo crear y gestionar cuentas de servicio.
- Abre Cloud Shell.
- Selecciona un proyecto si es necesario.
- Para crear la cuenta de servicio, ejecuta el comando gcloud iam service-accounts create. Puedes usar el nombre, la descripción y el nombre visible que quieras para identificar la cuenta.
Ejemplo:gcloud iam service-accounts create datastudio_service_account \
.
--description="Usa esta cuenta para acceder a BigQuery con Looker Studio" \
--display-name="DS_BQ"
- Para acceder a los datos de BigQuery en el proyecto de Google Cloud que quieras usar con Looker Studio, da el permiso
bigquery.jobs.create
a la cuenta de servicio en ese proyecto. Para dar este permiso, puedes asignar el rol de gestión de identidades y accesos Usuario de tareas de BigQuery.
Concede también a la cuenta de servicio los permisosbigquery.tables.getData
ybigquery.tables.get
en el proyecto o en el conjunto de datos que quieras usar con Looker Studio. Para dar estos permisos, puedes asignar el rol Lector de datos de BigQuery (roles/bigquery.dataViewer
).
Para asignar estos roles, ejecuta el comando gcloud projects add-iam-policy-binding. En los ejemplos siguientes, sustituye ID_PROYECTO por el ID de tu proyecto.
Ejemplo:gcloud projects add-iam-policy-binding ID_PROYECTO \
--member = "serviceAccount:datastudio_sa@ID_PROYECTO.iam.gserviceaccount.com" \
--role="roles/bigquery.jobUser"gcloud projects add-iam-policy-binding ID_PROYECTO \
--member = "serviceAccount:datastudio_sa@ID_PROYECTO.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 mediante la cuenta de servicio, asigna 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 ejemplo siguiente, sustituye ID_ORG por el ID de tu organización.
Ejemplo:
Paso 3: Asigna roles de usuario
Los usuarios de Looker Studio que vayan a crear o a editar fuentes de datos deben tener un rol que incluya el permiso iam.serviceAccounts.actAs
, como el rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser
). Puedes asignar este rol en el proyecto o en una cuenta de servicio concreta, pero te recomendamos que lo asignes solo en la cuenta de servicio. Para ver instrucciones al respecto, consulta el artículo sobre cómo gestionar la suplantación de identidad en cuentas de servicio.
Para asignar el rol Usuario de cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. En los ejemplos siguientes, sustituye ID_PROYECTO por el ID de tu proyecto y usuario@example.com por una o varias direcciones de correo electrónico válidas separadas por comas.
Ejemplo:
--member="usuario:usuario@example.com" \
-role="roles/iam.serviceAccountUser"
Paso 4: Habilita la cuenta de servicio para que pueda acceder a tus datos de BigQuery
Para permitir que Looker Studio acceda a tus datos, asigna el rol Lector de datos de BigQuery a la cuenta de servicio a nivel de tabla o de conjunto de datos.
Proporcionar las cuentas de servicio de Looker Studio a tus usuarios de Looker Studio
Los usuarios de Looker Studio necesitarán saber qué cuenta de servicio usar al crear fuentes de datos. Como en Looker Studio no se puede ver la lista de cuentas de servicio disponibles, debes proporcionarles esta información en la documentación o en el sitio web interno de tu organización, o bien por correo electrónico.
Nota: No tienes que gestionar las claves de las cuentas de servicio de forma manual, ni tampoco descargarlas de la consola de Cloud para subirlas a Looker Studio. El límite de 10 claves por cuenta de servicio no se aplica en Looker Studio.
Crear una fuente de datos que usa credenciales de cuentas de servicio
Para crear fuentes de datos que usen credenciales de cuentas de servicio, los usuarios de Looker Studio pueden seguir los mismos pasos básicos que para otros tipos de credenciales de acceso a datos:
- Crea o edita una fuente de datos de BigQuery.
- En la barra de herramientas, haz clic en Credenciales de acceso a datos.
- Selecciona Credenciales de cuenta de servicio.
- Escribe la dirección de correo de tu cuenta de servicio en el cuadro correspondiente.
- Haz clic en Actualizar.
Editar una fuente de datos que usa credenciales de cuentas de servicio
Cuando un usuario edita una fuente de datos que usa credenciales de cuenta de servicio, Looker Studio comprueba si ese usuario tiene permiso para utilizar esa cuenta de servicio. Si no es así, la fuente de datos pasa a usar las credenciales de ese usuario.
Ver quién está usando 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. Si quieres recibir registros de auditoría de las cuentas de servicio, debes habilitar los registros de auditoría de gestión de identidades y accesos para que recojan la actividad de acceso a los datos.
Ejemplo de uso de cuentas de servicio
Supongamos que quieres asegurarte de que los usuarios de Looker Studio de tu empresa solo tengan acceso a los datos de la filial de su país. Una solución es crear una cuenta de servicio para cada país y dar permiso para actuar como cuenta de servicio solo a los usuarios de Looker Studio de ese país.
Configuración de ejemplo
En este ejemplo, crearás tres cuentas de servicio: una para el Reino Unido, otra para Francia y otra para Alemania. A continuación, asigna roles adecuados a tu agente de servicio y a los usuarios a los que quieras dar permiso para crear fuentes de datos que usen la cuenta de servicio como principales.
Cuenta de servicio del Reino Unido
service-account-1@example-org-uk-example-project.iam.gserviceaccount.com
Principales del Reino Unido
Principales | Roles |
Este es el agente de servicio. |
Creador de tokens de cuenta de servicio |
Usuario 1 | Usuario de cuenta de servicio |
Usuario 2 | Usuario de cuenta de servicio |
Cuenta de servicio de Francia
service-account-1@example-org-fr-example-project.iam.gserviceaccount.com
Principales de Francia
Principales | Roles |
Este es el agente de servicio. |
Creador de tokens de cuenta de servicio |
Usuario 3 | Usuario de cuenta de servicio |
Usuario 4 | Usuario de cuenta de servicio |
Cuenta de servicio de Alemania
service-account-1@example-org-de-example-project.iam.gserviceaccount.com
Principales de Alemania
Principales | Roles |
Este es el agente de servicio. |
Creador de tokens de cuenta de servicio |
Usuario 5 | Usuario de cuenta de servicio |
Usuario 6 | Usuario de cuenta de servicio |
service-account-1@example-org-fr-example-project.iam.gserviceaccount.com
, no puede usarla porque no tiene los permisos adecuados. El agente de servicio debe añadirse a una cuenta de servicio para que funcione. El agente de servicio es el medio con el que Looker Studio usa la cuenta de servicio.Errores
En esta sección se explican los errores que los creadores de fuentes de datos y los lectores de informes de Looker Studio pueden recibir al intentar usar una cuenta de servicio. En la mayoría de los casos, estos errores tienen la misma causa principal: la configuración de la cuenta de servicio no es correcta o no está completa.
Mensajes
|
CausaEl agente de servicio no tiene el rol Creador de tokens de cuenta de servicio (u otro rol que incluya el permiso |
SoluciónAsigna el rol Creador de tokens de cuenta de servicio al agente de servicio. |
MensajeEsta cuenta de servicio no puede acceder al conjunto de datos subyacente. |
CausaLa cuenta de servicio no tiene acceso a los datos del proyecto. |
SoluciónConcede como mínimo a tu cuenta de servicio el rol Lector de datos de BigQuery en la tabla, el conjunto de datos o el proyecto subyacentes. |
MensajeNo tienes permiso para usar esta cuenta de servicio. |
CausaEl usuario no se ha añadido como un principal a la cuenta de servicio con el rol Usuario de cuenta de servicio. |
SoluciónAsigna en la cuenta de servicio el rol Usuario de cuenta de servicio a ese usuario. |
Mensajes
|
CausaEl usuario está intentando acceder a los datos controlados por una cuenta de servicio desde una cuenta de Google estándar (es decir, desde una cuenta de consumidor). |
SoluciónUsa una cuenta de Google Workspace o de Cloud Identity para acceder a los datos. |
MensajeNo se pueden usar agentes de servicio de Looker Studio para conectarse directamente a los datos. Usa una cuenta de servicio para ello. |
SoluciónLos agentes de servicio y las cuentas de servicio son diferentes. Especifica una cuenta de servicio en el cuadro de diálogo de credenciales. Puedes usar la consola de Cloud para consultar la lista de cuentas de servicio disponibles: Usar la consola de Cloud
Usar Cloud Shell
Ejemplo:
|
Límites
- Las credenciales de cuenta de servicio solo están disponibles para acceder a las fuentes de datos de BigQuery.Las cuentas de servicio están sujetas a los límites de gestión de identidades y accesos.
- Los cambios que se hagan en los permisos de las cuentas de servicio pueden tardar unos minutos en reflejarse en Looker Studio.