Administra intercambios de datos

Puedes usar intercambios de datos en BigQuery sharing para compartir conjuntos de datos de forma segura entre proyectos, organizaciones o con el público. Como administrador de uso compartido de BigQuery, puedes realizar las siguientes tareas:

  • Crear, actualizar, visualizar, compartir y borrar intercambios de datos
  • Administrar los permisos de acceso y los roles para los intercambios de datos
  • Hacer que los intercambios de datos sean visibles públicamente

Para administrar las fichas dentro de un intercambio de datos, consulta Administra las fichas.

De forma predeterminada, un intercambio de datos es privado. Solo los usuarios o grupos que tienen acceso a un intercambio pueden ver sus fichas o suscribirse a ellas. Puedes hacer público tu intercambio de datos. Si haces público tu intercambio de datos, los usuarios deGoogle Cloud (allAuthenticatedUsers) podrán descubrir y suscribirse a las fichas.

Antes de comenzar

Para comenzar a usar BigQuery sharing (anteriormente Analytics Hub), debes habilitar la API de Analytics Hub en tu Google Cloud proyecto.

Para habilitar la API de Analytics Hub, necesitas los siguientes permisos de Identity and Access Management (IAM):

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

El siguiente rol predefinido de IAM incluye los permisos que necesitas para habilitar la API de Analytics Hub:

Para habilitar la API de Analytics Hub, selecciona una de las siguientes opciones:

Console

Ve a la página de la API de Analytics Hub y habilita la API de Analytics Hub para tu proyecto Google Cloud .

Habilita la API de Analytics Hub

gcloud

Ejecuta el comando gcloud services enable:

gcloud services enable analyticshub.googleapis.com

Roles obligatorios

Para obtener los permisos que necesitas para administrar intercambios de datos, pídele a tu administrador que te otorgue el rol de administrador de Analytics Hub (roles/analyticshub.admin) de IAM en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crea un intercambio de datos

Puedes crear un intercambio de datos para compartir conjuntos de datos con personas, grupos o el público en general específicos. Cuando creas un intercambio de datos, especificas su proyecto, región, nombre visible y parámetros de configuración opcionales, como el registro de correos electrónicos de suscriptores y la visibilidad pública.

Para crear un intercambio de datos, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. Haz clic en Crear intercambio.

  3. En el cuadro de diálogo Crear intercambio, selecciona un Proyecto y una Región para tu intercambio de datos. No puedes cambiar el proyecto y la región después de crear el intercambio de datos.

  4. En el campo Nombre visible, ingresa un nombre para tu intercambio de datos.

  5. Opcional: Ingresa valores en los siguientes campos:

    • Contacto principal: Ingresa la URL o la dirección de correo electrónico del contacto principal para el intercambio de datos.
    • Descripción: Ingresa una descripción para el intercambio de datos.
  6. Para registrar los identificadores principales de todos los usuarios que ejecutan trabajos y consultas en conjuntos de datos vinculados, haz clic en el botón de activación Registro de correos electrónicos de los suscriptores para activarlo. Cuando activas este parámetro de configuración, se activa el registro de correo electrónico del suscriptor en todas las fichas futuras del intercambio de datos. Los datos registrados están disponibles en el campo job_principal_subject de la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

  7. Para que el intercambio sea visible públicamente, haz clic en el botón de activación Visibilidad pública para llevarlo a la posición activada. Cuando un intercambio es visible públicamente, aparecen todas las fichas del intercambio y se pueden buscar en el catálogo. Ten en cuenta los siguientes factores cuando habilites la visibilidad pública:

    • Herencia de fichas: De forma predeterminada, todas las fichas heredan el parámetro de configuración de visibilidad pública del intercambio de datos. Los intercambios públicos no pueden tener fichas privadas, pero los intercambios privados pueden tener fichas públicas. Puedes configurar el tipo de visibilidad pública a nivel de la ficha individual.
    • Permisos: Si habilitas la visibilidad pública, configura los permisos de intercambio para otorgar el rol Analytics Hub Viewer (roles/analyticshub.viewer) a allUsers o allAuthenticatedUsers.
    • Requisitos del proyecto: El proyecto en el que crees el intercambio de datos debe tener una organización y una cuenta de facturación asociadas.
  8. Para crear el intercambio de datos, haz clic en Crear intercambio.

  9. Opcional: En la sección Permisos del intercambio, completa los siguientes pasos:

    1. En los siguientes campos, ingresa las direcciones de correo electrónico para otorgar roles de Identity and Access Management (IAM):

      • Administradores: Asigna el rol de administrador de Analytics Hub (roles/analyticshub.admin) a estos usuarios.
      • Publicadores: Asigna el rol Analytics Hub Publisher (roles/analyticshub.publisher) a estos usuarios. Para obtener más información sobre las tareas que pueden realizar los publicadores de uso compartido de BigQuery, consulta Administra fichas.
      • Suscriptores: Asigna el rol Analytics Hub Subscriber (roles/analyticshub.subscriber) a estos usuarios. Para obtener más información sobre las tareas que pueden realizar los suscriptores de uso compartido de BigQuery, consulta Cómo ver y suscribirse a fichas y a intercambios de datos.
      • Visualizadores: Asigna el rol Analytics Hub Viewer (roles/analyticshub.viewer) a estos usuarios. Los visualizadores de BigQuery sharing pueden ver las fichas. Si la visibilidad pública está habilitada, otorga el rol de visualizador de Analytics Hub a allUsers o allAuthenticatedUsers.
    2. Para guardar los permisos, haz clic en Establecer permisos.

  10. Si no estableciste permisos para tu intercambio de datos, haz clic en Omitir.

API

Para crear un intercambio de datos, usa el método projects.locations.dataExchanges.create:

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que deseas crear el intercambio de datos.
  • LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las regiones que admiten el uso compartido de BigQuery, consulta Regiones admitidas.
  • DATAEXCHANGE_ID: El ID de tu intercambio de datos.

En el cuerpo de la solicitud, proporciona los detalles del intercambio de datos.

Si la solicitud se realiza de forma correcta, el cuerpo de la respuesta contendrá los detalles del intercambio de datos.

Si habilitas el registro de correos electrónicos de suscriptores con el campo logLinkedDatasetQueryUserEmail, la respuesta del intercambio de datos contendrá log_linked_dataset_query_user_email: true. Los datos registrados están disponibles en el campo job_principal_subject de la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

Para obtener más información sobre las tareas que puedes realizar en los intercambios de datos mediante las API, consulta Métodos projects.locations.dataExchanges.

Actualiza un intercambio de datos

Puedes actualizar la configuración de un intercambio de datos existente, como su nombre visible, descripción, contacto principal y parámetros de configuración de visibilidad pública. No puedes cambiar el proyecto ni la región de un intercambio de datos existente.

Para actualizar un intercambio de datos, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. En la lista de intercambios de datos, selecciona el que deseas actualizar.

  3. Haz clic en la pestaña Detalles.

  4. Haz clic en Editar intercambio.

  5. En el diálogo Editar intercambio, actualiza los siguientes campos:

    • Nombre visible: Ingresa un nuevo nombre visible.
    • Contacto principal: Ingresa una URL o una dirección de correo electrónico actualizadas.
    • Descripción: Ingresa una descripción actualizada.
    • Visibilidad pública: Activa o desactiva la visibilidad pública.

      • Si activas la visibilidad pública, otorga el rol Analytics Hub Viewer (roles/analyticshub.viewer) a allUsers o allAuthenticatedUsers.
      • Si desactivas la visibilidad pública, quita el rol Analytics Hub Viewer (roles/analyticshub.viewer) de allUsers o allAuthenticatedUsers. Los intercambios públicos no pueden tener fichas privadas, pero los intercambios privados pueden tener fichas públicas.
    • Registro de correo electrónico de los suscriptores: Activa o desactiva el registro de correo electrónico de los suscriptores.

  6. Para aplicar los cambios, haz clic en Guardar.

API

Para actualizar un intercambio de datos, usa el método projects.locations.dataExchanges.patch:

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto que contiene el intercambio de datos.
  • LOCATION: La ubicación de tu intercambio de datos.
  • DATAEXCHANGE_ID: El ID de tu intercambio de datos.
  • UPDATEMASK: Es una lista separada por comas de los campos que deseas actualizar (por ejemplo, displayName,primaryContact).

En el cuerpo de la solicitud, especifica los valores actualizados para cualquiera de los siguientes campos:

  • displayName
  • description
  • primaryContact
  • documentation
  • icon
  • discoveryType
  • logLinkedDatasetQueryUserEmail

Para obtener más información sobre estos campos, consulta Recurso: DataExchange.

Para obtener más información sobre las tareas que puedes realizar en los intercambios de datos mediante las API, consulta Métodos projects.locations.dataExchanges.

Ve los intercambios de datos

Puedes ver la lista de intercambios de datos en tu proyecto Google Cloud o en tu organización a los que tienes permiso de acceso.

Para ver los intercambios de datos, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. En la lista de intercambios de datos, consulta los intercambios de datos que se muestran para tu proyectoGoogle Cloud . Si tienes el permiso resourcemanager.organizations.get, también puedes ver los intercambios de datos en toda tu organización de Google Cloud .

API

Para ver los intercambios de datos en tu proyecto, usa el método projects.locations.dataExchanges.list:

GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que deseas enumerar los intercambios de datos.
  • LOCATION: Es la ubicación en la que deseas enumerar los intercambios de datos existentes.

Para ver los intercambios de datos en tu organización, usa el método organizations.locations.dataExchanges.list:

GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/LOCATION/dataExchanges

Reemplaza lo siguiente:

  • ORGANIZATION_ID: ID de organización. Para obtener más información, consulta Obtén el ID de tu organización.
  • LOCATION: Es la ubicación en la que deseas enumerar los intercambios de datos existentes.

Comparte un intercambio de datos

Si un publicador de BigQuery sharing pertenece a una organización diferente de la que contiene el intercambio de datos, no podrá explorar ni ver tu intercambio de datos en BigQuery sharing. Para permitir que el publicador acceda al intercambio de datos, puedes copiar y compartir un vínculo directo.

Para compartir un vínculo a un intercambio de datos, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. En la lista de intercambios de datos, busca el que deseas compartir y, luego, haz clic en Más opciones.

  3. Para copiar el vínculo en el portapapeles, haz clic en Copiar vínculo para compartir.

Otorga a los usuarios acceso a un intercambio de datos

Para otorgar a los usuarios acceso a un intercambio de datos, establece la política de IAM para ese intercambio. Para obtener más información sobre los roles de usuario predefinidos de IAM, consulta Roles de IAM para compartir datos en BigQuery.

Console

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. Haz clic en el nombre del intercambio de datos para el que deseas establecer permisos.

  3. Haz clic en la pestaña Detalles.

  4. Haz clic en Establecer permisos.

  5. Para agregar principales, haz clic en Agregar principal.

  6. En el campo Principales nuevas, ingresa la dirección de correo electrónico de la principal a la que deseas otorgar acceso. También puedes usar allUsers para hacer que un recurso sea público y accesible para todos en Internet, o allAuthenticatedUsers para que solo sea accesible para los usuarios de Google que hayan accedido a su cuenta.

  7. En la lista Selecciona un rol, mantén el puntero sobre Analytics Hub y, luego, selecciona uno de los siguientes roles de IAM:

    • Administrador de Analytics Hub
    • Administrador de fichas de Analytics Hub
    • Publicador de Analytics Hub
    • Suscriptor de Analytics Hub
    • Propietario de la suscripción a Analytics Hub
    • Visualizador de Analytics Hub
  8. Haz clic en Guardar.

API

  1. Para leer la política existente, usa el método projects.locations.dataExchanges.getIamPolicy:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    Reemplaza lo siguiente:

    • PROJECT_ID: es el ID del proyecto, por ejemplo, my-project-1.
    • LOCATION: la ubicación de tu intercambio de datos. Usa letras minúsculas.
    • DATAEXCHANGE_ID: el ID del intercambio de datos.

    El uso compartido de BigQuery devuelve la política actual.

  2. Para agregar o quitar miembros y sus roles asociados de IAM, edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Por ejemplo, para otorgar el rol roles/analyticshub.subscriber a group:subscribers@googlegroups.com, agrega la siguiente vinculación a la política:

    {
     "members": [
       "group:subscribers@googlegroups.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Para establecer la política de intercambio de datos, usa el método projects.locations.dataExchanges.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de IAM actualizada del paso anterior:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

Crea administradores para compartir datos de BigQuery

Para delegar la administración del intercambio de datos, puedes crear administradores de intercambio de datos otorgando a los usuarios el rol Analytics Hub Admin (roles/analyticshub.admin) a nivel del proyecto o del intercambio de datos.

Haz que un intercambio de datos sea público

De forma predeterminada, un intercambio de datos es privado. Solo los usuarios o grupos que tienen acceso a un intercambio pueden ver sus fichas o suscribirse a ellas. Puedes hacer público un intercambio de datos, lo que permite que los usuarios deGoogle Cloud (allAuthenticatedUsers) descubran sus fichas y se suscriban a ellas.

Para hacer público un intercambio de datos, sigue estos pasos:

  1. Para permitir que allAuthenticatedUsers vea fichas, otórgale el rol Analytics Hub Viewer (roles/analyticshub.viewer) a nivel del intercambio de datos.

  2. Para permitir que allAuthenticatedUsers se suscriba a las fichas, otórgale el rol Analytics Hub Subscriber (roles/analyticshub.subscriber) a nivel del intercambio de datos.

  3. Cuando crees o actualices un intercambio de datos, haz clic en el botón de activación Visibilidad pública para activarlo.

Borra un intercambio de datos

Cuando borras un intercambio de datos, también se borran todas las fichas que contiene. Los conjuntos de datos compartidos y vinculados no se borran. Si borras un proyecto, no se borran automáticamente sus intercambios de datos, por lo que debes borrar todos los intercambios de datos antes de cerrar el proyecto. No puedes deshacer la eliminación de un intercambio de datos.

Antes de borrar un intercambio de datos, completa los siguientes requisitos previos según la configuración del intercambio de datos:

Para borrar un intercambio de datos, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. En la lista de intercambios de datos, selecciona el intercambio de datos que deseas borrar.

  3. Haz clic en la pestaña Detalles.

  4. Haz clic en Borrar intercambio.

  5. En el cuadro de diálogo ¿Borrar intercambio?, ingresa delete para confirmar la eliminación.

  6. Para borrar el intercambio de datos de forma permanente, haz clic en Borrar.

API

Para borrar un intercambio de datos, usa el método projects.locations.dataExchanges.delete:

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto que contiene el intercambio de datos.
  • LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las regiones que admiten el uso compartido de BigQuery, consulta Regiones admitidas.
  • DATAEXCHANGE_ID: El ID de tu intercambio de datos.

Para obtener más información sobre las tareas que puedes realizar en los intercambios de datos mediante las API, consulta Métodos projects.locations.dataExchanges.

¿Qué sigue?