Gestionar intercambios de datos

En este documento se describe cómo gestionar los intercambios de datos en BigQuery Sharing (antes Analytics Hub). Como administrador de uso compartido de BigQuery, puedes hacer lo siguiente:

  • Crear, actualizar, ver, compartir y eliminar intercambios de datos.
  • Crear, actualizar, eliminar y compartir fichas.
  • Gestionar administradores de uso compartido de BigQuery, administradores de fichas, editores, suscriptores y lectores.

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

Antes de empezar

Para empezar a usar la función de compartir de BigQuery (antes Analytics Hub), debes habilitar la API Analytics Hub en tu Google Cloud proyecto.

Para habilitar la API Analytics Hub, necesitas los siguientes permisos de gestión de identidades y accesos (IAM):

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

El siguiente rol de gestión de identidades y accesos predefinido incluye los permisos que necesita para habilitar la API Analytics Hub:

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

Consola

Ve a la página de la API Analytics Hub y habilítala en tu proyecto. Google Cloud

Habilitar la API Analytics Hub

gcloud

Ejecuta el comando gcloud services enable:

gcloud services enable analyticshub.googleapis.com

Roles obligatorios

Para obtener los permisos que necesitas para gestionar intercambios de datos, pide a tu administrador que te conceda el rol de administrador de Analytics Hub (roles/analyticshub.admin) de gestión de identidades y accesos en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear un intercambio de datos

adecuadas.

Para crear un intercambio de datos, sigue estos pasos:

Consola

  1. Vaya a la página Compartir (Analytics Hub).

    Ir a Compartir (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 el intercambio de datos. No puedes actualizar el proyecto ni la región después de crear el intercambio de datos.

  4. En el campo Nombre visible, escriba el nombre que quiera darle al intercambio de datos.

  5. Opcional: Introduce valores en los siguientes campos:

    • Contacto principal: introduce la URL o la dirección de correo del contacto principal para el intercambio de datos.
    • Descripción: escriba una descripción del 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 interruptor Registro de correo de suscriptor. Si habilitas esta opción, se activará el registro de correos de los suscriptores en todos los anuncios futuros 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 habilitar la visibilidad pública, haz clic en el interruptor Visibilidad pública. Cuando un exchange es visible públicamente, todos los listados del exchange aparecen y se pueden buscar en el catálogo. Si habilitas la visibilidad pública, configura los permisos de Exchange. De forma predeterminada, todos los anuncios heredan la configuración de visibilidad pública de la bolsa de datos. Esta herencia de configuración significa que los exchanges públicos no pueden tener fichas privadas, pero los exchanges privados sí pueden tener fichas públicas. Puedes definir el tipo de visibilidad pública en cada ficha. El proyecto en el que crees el intercambio de datos debe tener una organización y una cuenta de facturación asociadas.

  8. Haz clic en Crear intercambio.

  9. Opcional: En la sección Permisos de Exchange, sigue estos pasos:

    1. Introduce las direcciones de correo en los siguientes campos para conceder los roles de Gestión de Identidades y Accesos (IAM):

    2. Para guardar los permisos, haz clic en Establecer permisos.

  10. Si no has definido permisos para el intercambio de datos, haz clic en Saltar.

API

Usa el método projects.locations.dataExchanges.create.

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto en el que quiere crear el intercambio de datos.
  • LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones 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, proporcione los detalles del intercambio de datos.

Si la solicitud se realiza correctamente, el cuerpo de la respuesta contiene los detalles del intercambio de datos.

Si habilitas el registro de correos de suscriptores con el campo logLinkedDatasetQueryUserEmail, la respuesta de intercambio de datos contiene 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 APIs, consulta los métodos de projects.locations.dataExchanges.

Actualizar un intercambio de datos

Para actualizar un intercambio de datos, sigue estos pasos:

Consola

  1. Vaya a la página Compartir (Analytics Hub).

    Ir a Compartir (Analytics Hub)

  2. En la lista de intercambios de datos, seleccione el que quiera actualizar.

  3. Ve a la pestaña Detalles.

  4. Haz clic en Editar intercambio.

  5. En el cuadro de diálogo Editar exchange, actualice los siguientes campos:

    • Nombre visible
    • Contacto principal
    • Descripción
    • Descubribilidad pública
      • Si habilitas la visibilidad pública, asigna el rol Lector de Analytics Hub (roles/analyticshub.viewer) a allUsers o allAuthenticatedUsers.
      • Si inhabilita la visibilidad pública, quite el rol Lector de Analytics Hub (roles/analyticshub.viewer) de allUsers o allAuthenticatedUsers. Los mercados públicos no pueden tener fichas privadas, pero los mercados privados sí pueden tener fichas públicas.
    • Registro de correos de suscriptores

  6. Haz clic en Guardar.

API

Usa el método projects.locations.dataExchanges.patch.

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

Sustituye UPDATEMASK por la lista de campos que quieras actualizar. Para actualizar varios valores, utilice una lista separada por comas. Por ejemplo, para actualizar el nombre visible y el contacto principal de un intercambio de datos, introduce displayName,primaryContact.

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

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

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

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

Ver intercambios de datos

Para ver los intercambios de datos de tu proyecto u organización a los que tienes acceso, sigue estos pasos:

Consola

  1. Vaya a la página Compartir (Analytics Hub).

    Ir a Compartir (Analytics Hub)

  2. En la página se muestran los intercambios de datos de tu Google Cloud proyecto. Si tienes el permiso resourcemanager.organizations.get, también puedes ver los intercambios de datos de tu Google Cloud organización.

API

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

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • LOCATION: la ubicación de la que quiere obtener una lista de los intercambios de datos.

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

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

Haz los cambios siguientes:

  • ORGANIZATION_ID: el ID de la organización. Para obtener más información, consulta el artículo Obtener el ID de tu organización.
  • LOCATION: la ubicación en la que quiere mostrar las intercambios de datos.

Compartir un intercambio de datos

Si el editor de BigQuery Sharing pertenece a una organización distinta de la que contiene el intercambio de datos, no podrá ver tu intercambio de datos en BigQuery Sharing. Comparte un enlace al intercambio de datos con el editor.

  1. Vaya a la página Compartir (Analytics Hub).

    Ir a Compartir (Analytics Hub)

  2. En la lista de intercambios de datos, haz clic en Más opciones.

  3. Haz clic en Copiar enlace para compartir.

Dar acceso a los usuarios a un intercambio de datos

Para dar acceso a los usuarios a un intercambio de datos, debes definir la política de gestión de identidades y accesos de ese intercambio de datos. Para obtener información sobre los roles de usuario de gestión de identidades y accesos predefinidos, consulta el artículo sobre los roles de gestión de identidades y accesos para compartir de BigQuery.

Consola

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

    Ir a Compartir (Analytics Hub)

  2. Haga clic en el nombre del intercambio de datos para el que quiera definir permisos.

  3. Ve a la pestaña Detalles.

  4. Haz clic en Establecer permisos.

  5. Para añadir principales, haz clic en Añadir principal.

  6. En el campo Nuevos principales, añade los IDs de correo a los que quieras dar acceso. También puedes usar allUsers para hacer que un recurso sea público y accesible para todos los usuarios de Internet, o allAuthenticatedUsers para que solo puedan acceder a él los usuarios de Google que hayan iniciado sesión.

  7. En el menú Selecciona un rol, selecciona Centro de analíticas y, a continuación, selecciona uno de los siguientes roles de Gestión de Identidades y Accesos (IAM):

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

API

  1. Lee la política actual con el método de lista getIamPolicy mediante el método projects.locations.dataExchanges.getIamPolicy:

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

    Haz los cambios siguientes:

    • PROJECT_ID: 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 de intercambio de datos.

    La función de compartir de BigQuery (antes Analytics Hub) devuelve la política actual.

  2. Para añadir o quitar miembros y sus roles de gestión de identidades y accesos (IAM) asociados, edita la política con un editor de texto. Utiliza el siguiente formato para añadir miembros:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Por ejemplo, para asignar el rol roles/analyticshub.subscriber a group:subscribers@example.com, añade la siguiente vinculación a la política:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Escribe la política actualizada mediante el método projects.locations.dataExchanges.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de gestión de identidades y accesos actualizada del paso anterior.

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

    En el cuerpo de la solicitud, proporciona los detalles de la ficha. Si la solicitud se realiza correctamente, el cuerpo de la respuesta contiene los detalles de la ficha.

Crear administradores para compartir datos de BigQuery

Para gestionar los intercambios de datos, cree administradores de intercambios de datos concediendo a los usuarios el rol de administrador de Analytics Hub (roles/analyticshub.admin) a nivel de proyecto o de intercambio de datos.

Para permitir que los administradores gestionen todos los intercambios de datos de un proyecto, concédales el rol Administrador de Analytics Hub en ese proyecto.

Para permitir que los administradores gestionen un intercambio de datos específico, concédeles el rol de administrador de Analytics Hub para ese intercambio de datos.

Hacer público un intercambio de datos

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

Para hacer pública una solicitud de intercambio de datos, sigue estos pasos:

  1. Para permitir que allAuthenticatedUsers pueda ver fichas, asígnale el rol Lector de Analytics Hub (roles/analyticshub.viewer) a nivel de intercambio de datos.

  2. Para permitir que allAuthenticatedUsers se suscriba a fichas, concédele el rol de suscriptor de Analytics Hub (roles/analyticshub.subscriber) a nivel de intercambio de datos.

  3. Habilita la visibilidad pública cuando crees o actualices un intercambio de datos. Especifica los permisos adecuados cuando publiques un intercambio de datos.

Eliminar un intercambio de datos

Si elimina un intercambio de datos, también se eliminarán todas sus fichas. Sin embargo, los conjuntos de datos compartidos y vinculados no se eliminan. Cuando eliminas un proyecto, sus intercambios de datos no se eliminan. Elimina estos intercambios de datos antes de eliminar el proyecto. No puedes deshacer la eliminación de un intercambio de datos.

Antes de eliminar un intercambio de datos, sigue estos pasos en función de la configuración del intercambio de datos:

Para eliminar un intercambio de datos, sigue estos pasos:

Consola

  1. Vaya a la página Compartir (Analytics Hub).

    Ir a Compartir (Analytics Hub)

  2. En la lista de intercambios de datos, seleccione el que quiera eliminar.

  3. Ve a la pestaña Detalles.

  4. Haz clic en Eliminar intercambio.

  5. En el cuadro de diálogo ¿Eliminar intercambio?, confirma la eliminación escribiendo eliminar.

  6. Haz clic en Eliminar.

API

Usa el método projects.locations.dataExchanges.delete.

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto en el que quieres crear el intercambio de datos.
  • LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones 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 APIs, consulta los métodos de projects.locations.dataExchanges.

Siguientes pasos