Configura una cuenta de servicio de Google Cloud para Data Studio

En lugar de delegar el acceso con las credenciales del propietario o exigir que los visualizadores individuales de informes tengan acceso a los datos con las credenciales del visualizador, Data 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 Data Studio

Usar una cuenta de servicio en lugar de las credenciales de un usuario individual ofrece los siguientes beneficios:

  • Las fuentes de datos que usan credenciales de cuentas de servicio no dejarán de funcionar 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, las alertas y las extracciones de datos programadas, funcionan con fuentes de datos que se encuentran detrás de un perímetro de Controles del servicio de VPC. (Consulta las Notas y límites para conocer 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 los perímetros de servicio, y viceversa.

Roles obligatorios

A continuación, se indican los roles necesarios para configurar una cuenta de servicio para Data Studio:

Para administradores

  • Para obtener el agente de servicio de Data Studio, debes ser usuario de Google Workspace o Cloud Identity.
  • Para configurar una cuenta de servicio, debes tener el rol de Administrador de cuentas de servicio (roles/iam.serviceAccountAdmin) o Creador de cuentas de servicio (roles/iam.serviceAccountCreator) en tu proyecto Google Cloud . Obtén más información sobre los roles de cuentas de servicio.
  • Para configurar la cuenta de servicio de modo que acceda a una tabla o un conjunto de datos de BigQuery, debes tener el rol de Propietario de datos de BigQuery (roles/bigquery.dataOwner) en la tabla o el conjunto de datos, o bien otro rol que te otorgue el permiso bigquery.datasets.setIamPolicy.

Para la cuenta de servicio

  • Como mínimo, se debe otorgar a la cuenta de servicio el rol de Visualizador de datos de BigQuery (roles/bigquery.dataViewer) en las tablas o los conjuntos de datos específicos a los que necesita acceder.
  • Consultas personalizadas: Si la fuente de datos usa una consulta personalizada, también se le debe otorgar a la cuenta de servicio el rol de Usuario de trabajos de BigQuery (roles/bigquery.jobUser) en el proyecto Google Cloud que contiene los datos.

Instrucciones de configuración

Para configurar una cuenta de servicio que proporcione acceso a los datos de BigQuery, sigue estos pasos:

  1. Obtén el agente de servicio de Data Studio. En este paso, copiarás la dirección de correo electrónico del agente de servicio para que puedas usarla en el siguiente paso. Data Studio crea esta dirección automáticamente.
  2. Crea una cuenta de servicio para Data Studio. En este paso, crearás el usuario no humano que accederá a los datos.
  3. Permite que el agente de servicio de Data Studio acceda a tu cuenta de servicio. En este paso, otorgarás al agente de servicio el rol requerido en la cuenta de servicio.
  4. Otorga roles de usuario. En este paso, otorgarás a tus usuarios el rol requerido para que puedan crear fuentes de datos que usen credenciales de cuentas de servicio.
  5. Habilita la cuenta de servicio para acceder a tus datos de BigQuery. En este paso, otorgarás a la cuenta de servicio el rol requerido para que pueda acceder a una tabla o un conjunto de datos de BigQuery.

Paso 1: Obtén el agente de servicio de Data Studio

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

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

Paso 2: Crea una cuenta de servicio para Data Studio

Consulta la Google Cloud documentación de IAM para obtener instrucciones sobre cómo crear una cuenta de servicio. Puedes usar la consola de Google Cloud o la línea de comandos de Cloud Shell para crear la cuenta de servicio.

Console

  1. En la consola de Google 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 Google Cloud .

    La consola de Google Cloud genera un ID de cuenta de servicio basado en 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.
  6. En Permisos, otorga a la cuenta de servicio el rol de IAM de Usuario de trabajos de BigQuery en el proyecto que contiene los datos a los que deseas conectarte en Data Studio. Ten en cuenta que podría ser diferente del proyecto en el que creaste la cuenta de servicio.
  7. Haz clic en Continuar.
  8. En el campo Rol de los 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 no quieres agregar usuarios ahora, puedes hacerlo más adelante siguiendo las instrucciones en Cómo otorgar roles de usuario.
  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.

gcloud

Sigue los pasos generales que se indican en Cloud Shell 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 la cuenta, la descripción y el nombre visible que elijas.

Ejemplo:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Data Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Para acceder a los datos de BigQuery en el proyecto Google Cloud que deseas usar con Data Studio, otorga a la cuenta de servicio el permisobigquery.jobs.createen ese proyecto. Puedes otorgar el rol de IAM Usuario de trabajo 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 Data 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: Otorga el rol de usuario de trabajo 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: Otorga el rol de visualizador de datos de BigQuery

gcloud projects add-iam-policy-binding PROJECT_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 Data Studio acceda a tu cuenta de servicio

Para permitir que el agente de servicio de Data Studio acceda a los datos con la cuenta de servicio, otórgale el rol Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator).

Console

  1. Regresa a la Google Cloud lista de cuentas de servicio de la consola.
  2. Selecciona la cuenta de servicio de Data Studio que acabas de crear haciendo clic en ella en la lista.
  3. Haz clic en Principales con acceso.
  4. Haz clic en person_addOTORGAR ACCESO.
  5. En Agregar principales a PROJECT_ID, pega el correo electrónico del agente de servicio de Data Studio (que copiaste en el paso 1) en el cuadro Principales nuevos. La dirección de tu agente de servicio se ve de la siguiente manera:
        service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
    
    Reemplaza ORG-ID por el ID de tu organización Google Cloud .
  6. Selecciona un rol que le otorgue al agente de servicio el permiso iam.serviceAccounts.getAccessToken. Por ejemplo, puedes usar el rol de creador de tokens de cuenta de servicio, pero también puedes usar cualquier rol personalizado que otorgue este permiso.
  7. Haz clic en GUARDAR.

gcloud

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 looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \
--member="serviceAccount:service-org-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator"

Paso 4: Otorga roles de usuario

Los usuarios de Data Studio que crearán o editarán 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 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 Administra el robo de identidad de cuentas de servicio.

Te recomendamos que no otorgues a los usuarios que no son agente de servicio el rol Creador de tokens de cuentas de servicio, ya que no es necesario para Data Studio.

Console

  1. Navega a la lista de cuentas de servicio de la consola.
  2. Haz clic en tu cuenta de servicio de Data Studio en la lista para seleccionarla.
  3. Haz clic en Principales con acceso.
  4. Haz clic en person_add OTORGAR ACCESO.
  5. En Add principals and roles for Service Account, ingresa las direcciones de correo electrónico de tus usuarios en el cuadro New principals.
  6. Selecciona la función Usuario de cuenta de servicio.
  7. Haz clic en GUARDAR.

gcloud

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 del proyecto y USER_EMAIL por una o más direcciones de correo electrónico válidas (separa varias 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 acceder a tus datos de BigQuery

Para permitir que Data 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 el conjunto de datos. No recomendamos otorgar acceso a la cuenta de servicio a nivel del proyecto.

Para completar este paso, copia la dirección de correo electrónico de la cuenta de servicio de Data Studio, como se describió anteriormente en el Paso 2. Crea una cuenta de servicio de Data Studio para que puedas pegarla en el diálogo Agregar principal cuando se te indique que lo hagas.

Console

Para otorgar acceso a una tabla, haz lo siguiente:

  1. Copia la cuenta de servicio de Data Studio, como se describió anteriormente en Paso 2: Crea una cuenta de servicio para Data Studio.
  2. Navega a BigQuery y, luego, selecciona un proyecto.
  3. Haz clic en conjunto de datos Conjuntos de datos y, luego, selecciona un conjunto de datos.
  4. Selecciona una tabla.
  5. En el menú de la barra de herramientas, haz clic en person_add COMPARTIR y, luego, en Compartir.
  6. En el panel Permisos de uso compartido, haz clic en person_add AGREGAR PRINCIPAL.
  7. En el cuadro Principales nuevos, pega la dirección de correo electrónico de la cuenta de servicio de Data Studio.
  8. Selecciona el rol Visualizador de datos de BigQuery.
  9. Haz clic en GUARDAR.

Para otorgar acceso a un conjunto de datos, sigue estos pasos:

  1. Copia la cuenta de servicio de Data Studio, como se describió anteriormente en Paso 2: Crea una cuenta de servicio para Data Studio.
  2. Navega a BigQuery y, luego, selecciona un proyecto.
  3. Haz clic en conjunto de datos Conjuntos de datos y, luego, selecciona un conjunto de datos.
  4. Haz clic en more_vert Acciones chevron_forward Compartir chevron_forward Administrar permisos.
  5. En el panel Permisos de uso compartido, haz clic en person_add AGREGAR PRINCIPAL.
  6. En el cuadro Principales nuevos, pega la dirección de correo electrónico de la cuenta de servicio de Data Studio.
  7. Selecciona el rol Visualizador de datos de BigQuery.
  8. Haz clic en GUARDAR.

gcloud

Te recomendamos que uses las instrucciones de la consola Google Cloud para otorgar acceso a los datos. Para otorgar acceso a los datos con la herramienta de línea de comandos bq, consulta Cómo controlar el acceso a los conjuntos de datos en la documentación de BigQuery.

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

Los usuarios de Data 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 Data Studio, debes proporcionar esta información 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 cuentas de servicio, los usuarios de Data 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 Service Account Credentials.
  4. Ingresa la dirección de correo electrónico de tu cuenta de servicio en el cuadro.
  5. Haz clic en Actualizar.

Edita 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, Data Studio verifica si tiene permiso para usar la cuenta de servicio. Si no lo hacen, la fuente de datos cambiará para usar las credenciales de esa persona.

Consulta 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 Google 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 para las cuentas de servicio.

Situación de ejemplo de una cuenta de servicio

Supongamos que deseas asegurarte de que los usuarios de Data 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 otorgarles permiso a los usuarios de Data 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 otra para Alemania. Luego, asignarás como principales a tu agente de servicio y a los usuarios que quieras que puedan crear fuentes de datos que usen la cuenta de servicio. También le asignarás 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

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

Directores 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

Entidades 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 pueden ver los creadores de fuentes de datos y los usuarios de informes de Data Studio 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 del agente de servicio

Mensajes

  • El agente de servicio de Data Studio no tiene el permiso iam.serviceAccounts.getAccessToken para este servicio.
  • El agente de servicio utilizado por la cuenta de servicio de esta fuente de datos no tiene el rol "Creador de tokens de cuenta de servicio".

Causa

No se le otorgó al agente de servicio el rol de creador de tokens de cuenta de servicio (o algún otro rol que incluya el permiso iam.serviceAccounts.getAccessToken).

Solución

Otorga el rol de Creador de tokens de cuenta de servicio al agente de servicio.

No se puede acceder a los datos

Mensaje

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

Causas

  • No se le otorgó acceso a la cuenta de servicio a los datos del proyecto.
  • El proyecto de facturación está conectado a un proyecto al que la cuenta de servicio no tiene acceso.
  • La fuente de datos usa una consulta personalizada, pero la cuenta de servicio no tiene el rol de usuario de trabajo de BigQuery en el proyecto.

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.
  • Si usas una consulta personalizada, también otorga el rol Usuario de trabajo de BigQuery a la cuenta de servicio en el proyecto en el que se ejecuta la consulta.

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 cuenta de servicio al usuario en 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 de los agentes 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 usar una Cuenta de Google estándar (de usuario consumidor) para acceder a datos controlados por una cuenta de servicio.

Solución

Usar 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 del servicio de Data Studio no se pueden usar para establecer una conexión con los datos directamente. 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 Google Cloud o en Cloud Shell:

Console

  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 para el proyecto, busca la cuenta de servicio que Data Studio usará para acceder a tus datos de BigQuery.
  4. Copia la dirección de correo electrónico de esa cuenta.

gcloud

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

Ejemplo:

gcloud iam service-accounts list

Notas y límites de las credenciales de cuentas de servicio

  • Las credenciales de la 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 Data Studio.
  • Dado que Data Studio se ejecuta en una infraestructura administrada por Google con direcciones IP dinámicas y asignaciones de proyectos, no puedes configurar perímetros de Controles del servicio de VPC con listas de IPs permitidas estáticas ni reglas de proyectos. Para permitir el acceso a Data Studio a través de un perímetro de Controles del servicio de VPC, debes agregar una cuenta de servicio como principal en tus niveles de acceso o reglas de entrada y salida.