Acerca de las cuentas de servicio en Dataform
Cuando creas tu primer repositorio de Dataform, esta genera automáticamente una cuenta de servicio predeterminada. Dataform usa la cuenta de servicio predeterminada para interactuar con BigQuery por ti.
El ID de tu cuenta de servicio predeterminado de Dataform tiene el siguiente formato:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Reemplaza YOUR_PROJECT_NUMBER por el ID numérico del proyecto de Google Cloud. Puedes encontrar el ID del proyecto de Google Cloud en el panel de la consola de Google Cloud. Para obtener más información, consulta Identifica proyectos.
Además de la cuenta de servicio predeterminada de Dataform, puedes usar otras cuentas de servicio para ejecutar flujos de trabajo en tu nombre. Puedes configurar cuentas de servicio no predeterminadas:
A nivel del repositorio, para ejecutar todos los flujos de trabajo en un repositorio determinado.
De manera individual para cada configuración de flujo de trabajo
Cuando creas un repositorio de Dataform o una configuración de flujo de trabajo, puedes seleccionar cualquier cuenta de servicio asociada con tu proyecto de Google Cloud al que tengas acceso. Debes configurar los permisos necesarios para todas las cuentas de servicio asociadas con tus recursos de Dataform.
Roles obligatorios para las cuentas de servicio de Dataform
Las cuentas de servicio predeterminadas y no predeterminadas que se usan en Dataform requieren las siguientes funciones de IAM de BigQuery para poder ejecutar flujos de trabajo en BigQuery:
- Editor de datos de BigQuery en proyectos en los que Dataform necesita acceso de lectura y escritura. Por lo general, incluyen el proyecto que aloja tu repositorio de Dataform.
- Visualizador de datos de BigQuery en proyectos en los que Dataform necesita acceso de solo lectura.
- Usuario de trabajo de BigQuery en el proyecto que aloja tu repositorio de Dataform.
- Usa Propietario de datos de BigQuery si deseas consultar conjuntos de datos de BigQuery.
Además, debes otorgar acceso al Creador de tokens de cuentas de servicio(roles/iam.serviceAccountTokenCreator
) de la cuenta de servicio predeterminada de Dataform a cualquier cuenta de servicio no predeterminada que desees usar en Dataform.
Antes de comenzar
En la consola de Google Cloud, ve a la página Dataform.
Selecciona o crea un repositorio.
Si usas los Controles del servicio de VPC, excluye los recursos de BigQuery de tu perímetro de los Controles del servicio de VPC para usar Dataform. En este momento, Dataform no admite los Controles del servicio de VPC.
Como alternativa, puedes desarrollar flujos de trabajo de SQL de forma local con la CLI de Dataform.
Otorga los roles de BigQuery necesarios a una cuenta de servicio que se usa en Dataform
Para otorgar los roles de IAM de BigQuery necesarios a tu cuenta de servicio predeterminada de Dataform o a una cuenta de servicio no predeterminada que quieras usar en Dataform, sigue estos pasos:
En la consola de Google Cloud, ve a la página IAM.
Haz clic en Otorgar acceso.
En el campo Principales nuevas, ingresa el ID de la cuenta de servicio.
En la lista desplegable Seleccionar una función, selecciona la función Usuario de trabajo de BigQuery.
Haz clic en Agregar otro rol y, luego, en la lista desplegable Selecciona un rol, selecciona el rol Editor de datos de BigQuery.
Haz clic en Agregar otro rol y, luego, en la lista desplegable Selecciona un rol, selecciona el rol Visualizador de datos de BigQuery.
Haz clic en Guardar.
Otorga acceso de creación de tokens a una cuenta de servicio no predeterminada
Para usar una cuenta de servicio no predeterminada en Dataform, esta cuenta debe poder acceder a ella. Para otorgar este acceso, debes agregar la cuenta de servicio predeterminada de Dataform como principal a la cuenta de servicio no predeterminada con la función Creador de tokens de cuenta de servicio.
Para otorgar a la cuenta de servicio predeterminada de Dataform acceso a una cuenta de servicio no predeterminada, sigue estos pasos:
En la consola de Google Cloud, ve a la página IAM.
Haz clic en Cuentas de servicio y selecciona una cuenta de servicio.
Haz clic en Permisos > Otorgar acceso.
En el campo Principales nuevas, ingresa el ID de tu cuenta de servicio predeterminado de Dataform.
En la lista desplegable Seleccionar una función, selecciona la función Creador de tokens de cuenta de servicio.
Haz clic en Guardar.
¿Qué sigue?
- Para obtener más información sobre las funciones y los permisos de IAM de BigQuery, consulta Control de acceso con IAM.
- Si deseas obtener más información para otorgar permisos detallados a los conjuntos de datos de BigQuery, consulta Controla el acceso a los conjuntos de datos.
- Para obtener más información sobre cómo otorgar permisos detallados a las tablas de BigQuery, consulta Controla el acceso a las tablas y vistas.
- Para aprender a activar una ejecución en Dataform, consulta Activa la ejecución.