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. 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.
Nota: Las credenciales de cuenta de servicio solo están disponibles para las fuentes de datos de BigQuery.
Más información sobre las cuentas de servicio
Ventajas de usar una cuenta de servicio con Looker Studio
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. Consulta la sección sobre límites para ver una advertencia importante.
- Puedes crear reglas de entrada y salida para permitir que la cuenta de servicio acceda a los recursos y clientes protegidos por perímetros de servicio y viceversa.
Roles obligatorios
- Para obtener el agente de servicio de Looker Studio, debes ser usuario de Google Workspace o de Cloud Identity.
- 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 Google Cloud proyecto. Más información sobre los roles de las cuentas de servicio - Para configurar la cuenta de servicio de forma que pueda acceder a una tabla o a un conjunto de datos de BigQuery, debes tener el rol Propietario de datos de BigQuery (
roles/bigquery.dataOwner
) en la tabla o el conjunto de datos, u otro rol que te conceda el permisobigquery.datasets.setIamPolicy
.
Instrucciones de configuración
Para configurar una cuenta de servicio que proporcione acceso a los datos de BigQuery, sigue estos pasos:
- Obtener el agente de servicio de Looker Studio En este paso, copiarás la dirección de correo del agente de servicio para usarla en el siguiente paso. Looker Studio crea esta dirección automáticamente.
- Crea una cuenta de servicio para Looker Studio. En este paso, crearás el usuario no humano que accederá a los datos.
- Permite que el agente de servicio de Looker Studio acceda a tu cuenta de servicio. En este paso, asignarás al agente de servicio el rol necesario en la cuenta de servicio.
- Asigna roles de usuario. En este paso, asignarás a tus usuarios el rol necesario para que puedan crear fuentes de datos que usen credenciales de cuentas de servicio.
- Habilita la cuenta de servicio para que pueda acceder a tus datos de BigQuery. En este paso, asignarás a la cuenta de servicio el rol necesario para que pueda acceder a una tabla o a un conjunto de datos de BigQuery.
Paso 1: 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.
Paso 2: Crea una cuenta de servicio para Looker Studio
Consulta la documentación deGoogle Cloud IAM para obtener instrucciones sobre cómo crear una cuenta de servicio. Para crear una cuenta de este tipo, puedes usar la Google Cloud consola o la línea de comandos de Cloud Shell.
Consola
- En la Google Cloud consola, ve a la página Crear cuenta de servicio.
- Selecciona un proyecto.
- Escribe el nombre de la cuenta de servicio, que será el que se muestre en la Google Cloud consola.
La Google Cloud consola 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 una descripción de la cuenta de servicio.
- Haz clic en CREAR Y CONTINUAR.
- En Permisos, 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 de Asigna roles de usuario.
- 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.
gcloud
Sigue los pasos generales que se indican en la pestaña Cloud Shell 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 looker-studio-service-account \ --description="Use for Looker Studio access to BigQuery" \ --display-name="LS_BQ"
-
Para acceder a los datos de BigQuery en el Google Cloud proyecto que quieras usar con Looker Studio, concede 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.Además, concede a la cuenta de servicio los permisos
bigquery.tables.getData
ybigquery.tables.get
en el proyecto o 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 PROJECT_ID por el ID de tu proyecto.
Ejemplo: asignar el rol Usuario de tareas de BigQuery
gcloud projects add-iam-policy-binding PROJECT_ID\ --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.jobUser"
Ejemplo: asignar el rol Lector de datos de BigQuery
gcloud projects add-iam-policy-bindingPROJECT_ID\ --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.dataViewer"
Paso 3: 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.
Consola
- Vuelve a la Google Cloud lista de cuentas de servicio de la consola.
- Para seleccionar la cuenta de servicio de Looker Studio que acabas de crear, haz clic en ella.
- Haz clic en Principales con acceso.
- Haz clic en person_add CONCEDER ACCESO.
- En Añadir principales a
PROJECT_ID
, pega en el cuadro Principales nuevas el correo del agente de servicio de Looker Studio que has copiado en el paso 1. La dirección de tu agente de servicio tiene este aspecto: Sustituye ORG-ID por el ID de tu organización. Google Cloudservice-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
- Selecciona un rol que conceda al agente de servicio el permiso
iam.serviceAccounts.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.
gcloud
Ejecuta el comando gcloud iam service-accounts add-iam-policy-binding. En el ejemplo siguiente, sustituye ORG_ID por el ID de tu organización.
Ejemplo:
gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \ --member="service-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"
Paso 4: Asigna roles de usuario
Los usuarios de Looker Studio que vayan a crear o 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
). Puede asignar este rol en el proyecto o en una cuenta de servicio concreta, pero le recomendamos que lo haga solo en esa cuenta. Para ver instrucciones al respecto, consulte el artículo sobre cómo gestionar la suplantación de identidad en cuentas de servicio.
Te recomendamos que no asignes el rol Creador de tokens de cuenta de servicio a los usuarios que no sean agentes de servicio, ya que no es necesario para usar Looker Studio.
Consola
- Ve a la lista de cuentas de servicio de la consola.
- En la lista, selecciona tu cuenta de servicio de Looker Studio haciendo clic en ella.
- Haz clic en Principales con acceso.
- Haz clic en person_add CONCEDER ACCESO.
- En Añadir principales y roles a la 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.
gcloud
Para asignar el rol Usuario de cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. En los ejemplos siguientes, sustituye PROJECT_ID por el ID de tu proyecto y USER_EMAIL por una o varias direcciones de correo válidas (separa las entradas con comas).
Ejemplo:
gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Paso 5: 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. No recomendamos dar acceso a la cuenta de servicio a nivel de proyecto.
Consola
Para dar acceso a una tabla, sigue estos pasos:
- Copia la dirección de correo del agente de servicio de Looker Studio, tal como se ha descrito en el paso 1. Obtener el agente de servicio de Looker Studio.
- Ve a la Google Cloud lista de cuentas de servicio de la consola.
- Ve a BigQuery y abre un proyecto.
- Para desplegar un conjunto de datos, haz clic en la flecha para desplegar
.
- Selecciona una tabla.
- En la barra de herramientas, haz clic en person_add COMPARTIR.
- En el panel que se abre a la derecha, haz clic en person_add AÑADIR PRINCIPAL.
- En el cuadro Principales nuevas, pega la dirección de correo del agente 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:
- Copia la dirección de correo del agente de servicio de Looker Studio, tal como se ha descrito en el paso 1. Obtener el agente de servicio de Looker Studio.
- Ve a la Google Cloud lista de cuentas de servicio de la consola.
- Ve a BigQuery, abre un proyecto y busca el conjunto de datos.
- Haz clic en el menú de opciones
.
- Haz clic en Abrir.
- En la barra de herramientas, haz clic en person_add Permisos para compartir.
- En el panel que se abre a la derecha, haz clic en person_add AÑADIR PRINCIPAL.
- En el cuadro Principales nuevas, pega la dirección de correo del agente de servicio de Looker Studio.
- Selecciona el rol Lector de datos de BigQuery.
- Haz clic en GUARDAR.
gcloud
Te recomendamos que sigas las instrucciones de la consola para conceder acceso a los datos. Google Cloud Para dar acceso a los datos con la herramienta de línea de comandos bq
, consulta el artículo sobre cómo
controlar el acceso a los conjuntos de datos en la documentación de BigQuery.
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.
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:
- Cree o edite una fuente de datos de BigQuery.
- En la barra de herramientas, haz clic en Credenciales de 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
Puede consultar los registros de auditoría de las cuentas de servicio en la consola de Google 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 como principales 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. También debes asignar los roles adecuados a cada uno.
Cuenta de servicio del Reino Unido
service-account-1@example-org-uk-example-project.iam.gserviceaccount.com
Principales del Reino Unido
Directores | Roles |
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
Directores | Roles |
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
Directores | Roles |
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 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.
Falta el rol del agente de servicio
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. |
No se puede acceder a los datos
MensajeEsta cuenta de servicio no puede acceder al conjunto de datos subyacente. |
Causas
|
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. |
Falta el rol del usuario
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 el rol Usuario de cuenta de servicio al usuario en la cuenta de servicio. |
No hay agente de servicio disponible para la cuenta
Mensajes
|
CausaEl usuario está intentando usar una cuenta de Google estándar (es decir, una cuenta de consumidor) para acceder a los datos controlados por una cuenta de servicio. |
SoluciónUsa una cuenta de Google Workspace o de Cloud Identity para acceder a los datos. |
No se puede usar el agente de servicio en el cuadro de diálogo de credenciales
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 Google Cloud consola o Cloud Shell para consultar la lista de cuentas de servicio disponibles: Consola
gcloud
Ejemplo:
|
Límites
- Las credenciales de cuenta de servicio solo están disponibles para las fuentes de datos de BigQuery. Se aplican límites de gestión de identidades y accesos a las cuentas de servicio.
- Los cambios que se hagan en los permisos de las cuentas de servicio pueden tardar unos minutos en reflejarse en Looker Studio.
- La entrega de correos programada no funciona con datos protegidos mediante niveles de acceso basados en IP con Controles de Servicio de VPC. Esto se debe a que Looker Studio no transfiere la dirección IP del destinatario del correo cuando este ve el informe.
Recursos relacionados
- Comprender las cuentas de servicio
- Reglas de entrada y salida
- Conectarse a BigQuery: compatibilidad con Controles de Servicio de VPC
- Iniciar Cloud Shell