Habilitar BigQuery Data Transfer Service

Para usar BigQuery Data Transfer Service, debes completar los siguientes pasos como propietario del proyecto:

  • Crea un proyecto y habilita la API de BigQuery.
  • Habilita BigQuery Data Transfer Service.

Para obtener más información sobre los roles de gestión de identidades y accesos (IAM), consulta el artículo sobre descripción de roles de la documentación de IAM.

Crear un proyecto y habilitar la API de BigQuery

Antes de usar BigQuery Data Transfer Service, debe crear un proyecto y, en la mayoría de los casos, habilitar la facturación en ese proyecto. Puede usar un proyecto que ya tenga BigQuery Data Transfer Service o crear uno nuevo. Si usas un proyecto, también es posible que tengas que habilitar la API de BigQuery.

Para crear un proyecto y habilitar la API de BigQuery, sigue estos pasos:

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
  3. Habilita la facturación en tu proyecto para todas las transferencias. Se te cobrarán 0 € por las transferencias gratuitas.

    Solo es necesario habilitar la facturación una vez por proyecto, aunque transfieras datos de varias fuentes. La facturación también debe estar habilitada para consultar los datos en BigQuery una vez que se hayan transferido.

    Consulta cómo confirmar que la facturación está habilitada en tu proyecto.

  4. BigQuery se habilita automáticamente en los proyectos nuevos. Para activar BigQuery en un proyecto, habilita la API de BigQuery.

    Habilita la API de BigQuery

Habilitar BigQuery Data Transfer Service

Para poder crear una transferencia, debes habilitar BigQuery Data Transfer Service. Para habilitar BigQuery Data Transfer Service, debes tener el rol Propietario en tu proyecto.

Para habilitar BigQuery Data Transfer Service, siga estos pasos:

  1. Abre la página de la API de BigQuery Data Transfer en la biblioteca de APIs.

  2. En el menú desplegable, selecciona el proyecto adecuado.

  3. Haz clic en el botón HABILITAR.

    Habilitar la API Data Transfer

Agente de servicio

BigQuery Data Transfer Service usa un agente de servicio para acceder a tus recursos y gestionarlos. Esto incluye, entre otros, los siguientes recursos:

  • Obtener un token de acceso para que la cuenta de servicio lo use al autorizar la transferencia de datos.
  • Publica notificaciones en el tema de Pub/Sub proporcionado si está habilitado.
  • Iniciando tareas de BigQuery.
  • Obteniendo eventos de la suscripción de Pub/Sub proporcionada para la transferencia basada en eventos de Cloud Storage

El agente de servicio se crea automáticamente en tu nombre después de habilitar BigQuery Data Transfer Service y usar la API por primera vez. Cuando se crea un agente de servicio, Google le asigna automáticamente el rol de agente de servicio predefinido.

Autorización de cuentas de servicio entre proyectos

Si autoriza la transferencia de datos mediante una cuenta de servicio de un proyecto que es diferente del proyecto en el que está habilitado BigQuery Data Transfer Service, debe asignar el rol roles/iam.serviceAccountTokenCreator al agente de servicio mediante el siguiente comando de la CLI de Google Cloud:

gcloud iam service-accounts add-iam-policy-binding service_account \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/iam.serviceAccountTokenCreator

Donde:

  • service_account es la cuenta de servicio entre proyectos que se usa para autorizar la transferencia de datos.
  • project_number es el número del proyecto en el que está habilitado BigQuery Data Transfer Service.

Para obtener más información sobre la configuración de recursos entre proyectos, consulta el artículo Configurar un recurso de otro proyecto en la documentación sobre la suplantación de cuentas de servicio de Gestión de Identidades y Accesos.

Creación manual de agentes de servicio

Si quieres activar la creación del agente de servicio antes de interactuar con la API (por ejemplo, si necesitas conceder roles adicionales al agente de servicio), puedes usar uno de los siguientes métodos:

Cuando activas manualmente la creación de un agente de servicio, Google no concede automáticamente el rol de agente de servicio predefinido. Debes conceder manualmente al agente de servicio el rol predefinido mediante el siguiente comando de la CLI de Google Cloud:

gcloud projects add-iam-policy-binding project_number \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/bigquerydatatransfer.serviceAgent

Donde:

  • project_number es el número del proyecto en el que está habilitado BigQuery Data Transfer Service.

Dar acceso a bigquery.admin

Recomendamos conceder el rol de gestión de identidades y accesos predefinido bigquery.admin a los usuarios que creen transferencias de BigQuery Data Transfer Service. El rol bigquery.admin incluye los permisos de gestión de identidades y accesos necesarios para llevar a cabo las tareas más habituales. El rol bigquery.admin incluye los siguientes permisos de BigQuery Data Transfer Service:

  • Permisos de BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Permisos de BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.update
    • bigquery.jobs.create

En algunos casos, los permisos necesarios pueden variar en función de la fuente de datos. Consulta la sección "Permisos necesarios" de cada guía de transferencia de fuentes de datos para obtener información específica sobre IAM. Por ejemplo, consulta los permisos de transferencia de Amazon S3 o los permisos de transferencia de Cloud Storage.

Para asignar el rol bigquery.admin, sigue estos pasos:

Consola

  1. Abre la página de gestión de identidades y accesos en la Google Cloud consola.

    Abre la página de gestión de identidades y accesos.

  2. Haz clic en Seleccionar un proyecto.

  3. Selecciona un proyecto y haz clic en Abrir.

  4. Haz clic en Añadir para añadir nuevos miembros al proyecto y definir sus permisos.

  5. En el cuadro de diálogo Añadir miembros, haz lo siguiente:

    • En Miembros, introduce la dirección de correo del usuario o del grupo.
    • En el menú desplegable Seleccionar un rol, haz clic en BigQuery > Administrador de BigQuery.
    • Haz clic en Añadir.

      Dar derechos de administrador

gcloud

Puedes usar la CLI de Google Cloud para conceder el rol bigquery.admin a un usuario o grupo.

Para añadir una sola vinculación a la política de gestión de identidades y accesos de tu proyecto, escribe el siguiente comando. Para añadir un usuario, proporciona la marca --member en el formato user:user@example.com. Para añadir un grupo, proporciona la marca --member en el formato group:group@example.com.

gcloud projects add-iam-policy-binding project_id \
--member principal:address \
--role roles/bigquery.admin

Donde:

  • project_id es el ID del proyecto.
  • principal puede ser group o user.
  • address es la dirección de correo del usuario o del grupo.

Por ejemplo:

gcloud projects add-iam-policy-binding myproject \
--member group:group@example.com \
--role roles/bigquery.admin

El comando muestra la política actualizada:

    bindings:
    - members:
      - group:group@example.com
        role: roles/bigquery.admin
    

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Siguientes pasos

Después de habilitar BigQuery Data Transfer Service, cree una transferencia para su fuente de datos.