Habilita el Servicio de transferencia de datos de BigQuery

Para usar el Servicio de transferencia de datos de BigQuery, debes completar los siguientes pasos como propietario del proyecto:

  • Crea un proyecto y habilita la API de BigQuery.
  • Habilita el Servicio de transferencia de datos de BigQuery.

Para obtener más información sobre los roles de Identity and Access Management (IAM), consulta Comprende los roles en la documentación de IAM.

Crea un proyecto y habilita la API de BigQuery

Antes de usar el Servicio de transferencia de datos de BigQuery, debes crear un proyecto y, en la mayoría de los casos, habilitar la facturación para ese proyecto. Puedes usar un proyecto existente con el Servicio de transferencia de datos de BigQuery o bien crear uno nuevo. Si usas un proyecto existente, también necesitas habilitar la API de BigQuery.

Para crear un proyecto y habilitar la API de BigQuery:

  1. En la consola de Google Cloud, ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud.

  3. Habilita la facturación en todas las transferencias de tu proyecto. Se te cobrarán $0 por las transferencias gratuitas.

    Solo se requiere habilitar la facturación una vez por proyecto, incluso si transfieres datos desde varias fuentes. La facturación también debe estar habilitada para consultar los datos en BigQuery después de transferirlos.

    Obtén más información sobre cómo confirmar que la facturación esté habilitada en tu proyecto.

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

    Habilita la API de BigQuery

Habilita el Servicio de transferencia de datos de BigQuery

Antes de realizar una transferencia, debes habilitar el Servicio de transferencia de datos de BigQuery. Para habilitar el Servicio de transferencia de datos de BigQuery, debes tener la función de propietario en tu proyecto.

Para habilitar el Servicio de transferencia de datos de BigQuery, sigue estos pasos:

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

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

  3. Haz clic en el botón HABILITAR.

    Habilita la API de transferencia de datos

Agente de servicio

El Servicio de transferencia de datos de BigQuery usa una cuenta de servicio administrada por Google conocida como un agente de servicio para acceder y administrar tus recursos. Esto incluye, entre otros, los siguientes recursos:

  • Recuperar un token de acceso para que la cuenta de servicio use cuando se autorice la transferencia de datos.
  • Publicar notificaciones en el tema de Pub/Sub proporcionado si está habilitado.
  • Inicia trabajos de BigQuery.

El agente de servicio se crea de forma automática en tu nombre la primera vez que usas la API después de habilitar el Servicio de transferencia de datos de BigQuery. Cuando se crea el agente de servicio, Google otorga el rol de agente de servicio predefinido de forma automática.

Autorización de cuentas de servicio entre proyectos

Si autorizas la transferencia de datos mediante una cuenta de servicio de un proyecto distinto del proyecto con el Servicio de transferencia de datos de BigQuery habilitado, debes otorgar el rol roles/iam.serviceAccountTokenCreator al agente de servicio mediante el siguiente comando de Google Cloud CLI:

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

Aquí:

  • 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 el Servicio de transferencia de datos de BigQuery.

Para obtener más información sobre la configuración de recursos entre proyectos, consulta Configura un recurso en un proyecto diferente en la documentación de robo de identidad de la cuenta de servicio de Identity and Access Management.

Creación manual de agentes de servicio

Si deseas activar la creación del agente de servicio antes de interactuar con la API, por ejemplo, si necesitas otorgar funciones adicionales al agente de servicio, puedes usar uno de los siguientes enfoques:

Cuando activas de forma manual la creación del agente de servicio, Google no otorga el rol de agente de servicio predefinido de forma automática. Debes otorgar de forma manual al agente de servicio el rol predefinido mediante el siguiente comando de Google Cloud CLI:

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

Aquí:

  • project_number es el número del proyecto en el que está habilitado el Servicio de transferencia de datos de BigQuery.

Otorga acceso a bigquery.admin

Recomendamos otorgar el rol de IAM predefinido bigquery.admin a los usuarios que crean transferencias del Servicio de transferencia de datos de BigQuery. El rol bigquery.admin incluye los permisos de IAM necesarios para realizar las tareas más comunes. El rol de bigquery.admin incluye los siguientes permisos del Servicio de transferencia de datos de BigQuery:

  • Permisos del Servicio de transferencia de datos de BigQuery:
    • 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 diferir entre las fuentes de datos diferentes. Consulta la sección “Permisos necesarios” en cada guía de transferencia de fuentes de datos para obtener información específica de IAM. Por ejemplo, consulta los permisos de transferencia de Amazon S3 o los permisos de transferencia de Cloud Storage.

Para otorgar el rol bigquery.admin, haz lo siguiente:

Console

  1. Abre la página de IAM en la consola de Google Cloud.

    Abrir la página IAM

  2. Haz clic en Seleccionar un proyecto.

  3. Selecciona un proyecto y haz clic en Abrir.

  4. Haz clic en Agregar para agregar miembros nuevos al proyecto y configura sus permisos.

  5. En el cuadro de diálogo Agregar miembros (Add members), haz lo siguiente:

    • En Miembros (Members), ingresa la dirección de correo electrónico del usuario o grupo.
    • En el menú desplegable Seleccionar una función, haz clic en BigQuery > Administrador de BigQuery (BigQuery > BigQuery Admin).
    • Haz clic en Agregar (Add).

      Otorgar función de administrador

gcloud

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

Para agregar una vinculación única a la política de IAM del proyecto, escribe el siguiente comando. Para agregar un usuario, proporciona la marca --member con el formato user:user@example.com. Para agregar un grupo, proporciona la marca --member con el formato group:group@example.com.

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

Aquí:

  • project_id es el ID del proyecto.
  • principal es group o user.
  • address es la dirección de correo electrónico 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 genera la política actualizada:

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

Para obtener más información sobre las funciones de Cloud IAM en BigQuery, consulta Funciones y permisos predefinidos.

¿Qué sigue?

Una vez habilitado el Servicio de transferencia de datos de BigQuery, realiza una transferencia para tu fuente de datos.