Otorga el acceso necesario a Dataform

En este documento, se muestra cómo otorgar los roles de Identity and Access Management (IAM) que requiere Dataform cuentas de servicio para ejecutar flujos de trabajo en BigQuery.

Acerca de las cuentas de servicio en Dataform

Cuando creas tu primer repositorio de Dataform, Dataform genera automáticamente una cuenta de servicio predeterminada. Dataform usa el cuenta de servicio predeterminada para interactuar con BigQuery en tu nombre. A la cuenta de servicio predeterminada de Dataform no se le otorga ningún roles o permisos de BigQuery de forma predeterminada. Debes otorgar los permisos acceso a la cuenta de servicio predeterminada de Dataform.

El ID predeterminado de la cuenta de servicio de Dataform tiene el siguiente formato:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Reemplaza YOUR_PROJECT_NUMBER por el ID de número de tu proyecto de Google Cloud. Puedes encontrar el ID del proyecto de Google Cloud en 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 personalizadas:

Cuando creas un repositorio de Dataform o una configuración de flujo de trabajo, puedes selecciona cualquier cuenta de servicio asociada a tu proyecto de Google Cloud a los que tienes acceso. Debes configurar los permisos necesarios para todas las cuentas de servicio asociados con tus recursos de Dataform.

Una cuenta de servicio personalizada asociada a un Dataform de Cloud solo se usa para ejecutar flujos de trabajo desde ese repositorio. Todos los demás las operaciones del repositorio aún se realizan mediante la versión predeterminada de Dataform cuenta de servicio.

Roles obligatorios para las cuentas de servicio de Dataform

Las cuentas de servicio predeterminadas y personalizadas que se usan en Dataform requieren la los siguientes roles de IAM de BigQuery para poder ejecutar flujos de trabajo en BigQuery:

Además, debes otorgar la cuenta de servicio predeterminada de Dataform. Creador de tokens de cuenta de servicio(roles/iam.serviceAccountTokenCreator) acceso a cualquier cuenta de servicio personalizada que quieras usar en Dataform.

Consideraciones de seguridad para las cuentas de servicio de Dataform

Otorga los roles que requiere Dataform a una cuenta de servicio incluye las siguientes consideraciones de seguridad:

  • Cualquier cuenta de servicio a la que se le otorguen los roles necesarios podría obtener acceso a BigQuery o Secret Manager en el proyecto en el que al que pertenece, independientemente de los Controles del servicio de VPC.

    Para obtener más información, consulta Configura los Controles del servicio de VPC para Dataform.

  • Cualquier usuario que tenga la IAM dataform.repositories.create permiso puede ejecutar código con el servicio predeterminado de Dataform y todos los permisos otorgados a ella.

    Para obtener más información, consulta Consideraciones de seguridad para los permisos de Dataform.

Restringir los datos que un usuario o una cuenta de servicio puede leer o escribir BigQuery, puedes otorgarle permisos de IAM de BigQuery detallados a las apps conjuntos de datos o tablas de BigQuery. Para obtener más información, consulta Controlar el acceso a los conjuntos de datos y Controla el acceso a las tablas y vistas.

Antes de comenzar

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a la página de Dataform

  2. Selecciona o crea un repositorio.

Otorga los roles de BigQuery necesarios a una cuenta de servicio que se use en Dataform

Para otorgar los roles de IAM de BigQuery necesarios a tu cuenta de servicio predeterminada de Dataform o una personalizada que quieras usar en Dataform, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ve a la página IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Principales nuevas, ingresa el el ID de la cuenta de servicio.

  4. En la lista desplegable Seleccionar un rol, selecciona Rol Usuario del trabajo de BigQuery.

  5. Haz clic en Agregar otro rol y, luego, en la lista desplegable Selecciona un rol, Selecciona el rol Editor de datos de BigQuery.

  6. Haz clic en Agregar otro rol y, luego, en la lista desplegable Selecciona un rol, selecciona el rol Visualizador de datos de BigQuery.

  7. Haz clic en Guardar.

Otorga acceso para crear tokens a una cuenta de servicio personalizada

Para usar una cuenta de servicio personalizada en Dataform, la configuración La cuenta de servicio de Dataform debe poder acceder al servicio personalizado de servicio predeterminada. Para otorgar este acceso, debes agregar el Dataform predeterminado de servicio como una principal a la cuenta de servicio personalizada con la Creador de tokens de cuenta de servicio.

Para otorgar a la cuenta de servicio predeterminada de Dataform acceso a un cuenta de servicio, sigue estos pasos:

  1. En la consola de Google Cloud, ve a IAM > Cuentas de servicio.

    Ir a la página Cuentas de servicio

  2. Selecciona un proyecto

  3. En la página Cuentas de servicio para el proyecto “YOUR_PROJECT_NAME, haz lo siguiente: selecciona tu cuenta de servicio personalizada de Dataform.

  4. Ve a Permisos y, luego, haz clic en Otorgar acceso.

  5. En el campo Principales nuevas, ingresa tu Dataform predeterminado. el ID de la cuenta de servicio.

    El ID predeterminado de la cuenta de servicio de Dataform tiene el siguiente formato:

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  6. En la lista desplegable Seleccionar un rol, selecciona Creador de tokens de cuenta de servicio.

  7. Haz clic en Guardar.

¿Qué sigue?