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.getserviceUsage.services.listserviceUsage.services.enable
El siguiente rol de gestión de identidades y accesos predefinido incluye los permisos que necesita para habilitar la API Analytics Hub:
- Administrador de Uso de Servicio (
roles/serviceusage.serviceUsageAdmin)
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
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
Vaya a la página Compartir (Analytics Hub).
Haz clic en Crear intercambio.
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.
En el campo Nombre visible, escriba el nombre que quiera darle al intercambio de datos.
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.
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_subjectde la vistaINFORMATION_SCHEMA.SHARED_DATASET_USAGE.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.
Haz clic en Crear intercambio.
Opcional: En la sección Permisos de Exchange, sigue estos pasos:
Introduce las direcciones de correo en los siguientes campos para conceder los roles de Gestión de Identidades y Accesos (IAM):
- Administradores: asigna el
rol Administrador de Analytics Hub
(
roles/analyticshub.admin) a estos usuarios. - Editores: asigna el
rol Editor de Analytics Hub
(
roles/analyticshub.publisher) a estos usuarios. Para obtener información sobre las tareas que pueden realizar los editores del uso compartido de BigQuery, consulta Gestionar fichas. - Suscriptores: asigna el
rol Suscriptor de Analytics Hub
(
roles/analyticshub.subscriber) a estos usuarios. Para obtener información sobre las tareas que pueden realizar los suscriptores de BigQuery sharing, consulta Ver y suscribirse a fichas e intercambios de datos. Lectores: asigna el rol Lector de Analytics Hub (
roles/analyticshub.viewer) a estos usuarios. Los lectores de BigQuery pueden ver fichas.Si la visibilidad pública está habilitada, asigna el rol Lector de Analytics Hub a
allUsersoallAuthenticatedUsers.
- Administradores: asigna el
rol Administrador de Analytics Hub
(
Para guardar los permisos, haz clic en Establecer permisos.
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
Vaya a la página Compartir (Analytics Hub).
En la lista de intercambios de datos, seleccione el que quiera actualizar.
Ve a la pestaña Detalles.
Haz clic en Editar intercambio.
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) aallUsersoallAuthenticatedUsers. - Si inhabilita la visibilidad pública, quite el rol Lector de Analytics Hub (
roles/analyticshub.viewer) deallUsersoallAuthenticatedUsers. Los mercados públicos no pueden tener fichas privadas, pero los mercados privados sí pueden tener fichas públicas.
- Si habilitas la visibilidad pública, asigna el rol Lector de Analytics Hub (
Registro de correos de suscriptores
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:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
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
Vaya a la página Compartir (Analytics Hub).
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.
Vaya a la página Compartir (Analytics Hub).
En la lista de intercambios de datos, haz clic en Más opciones.
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
En la Google Cloud consola, vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos para el que quiera definir permisos.
Ve a la pestaña Detalles.
Haz clic en Establecer permisos.
Para añadir principales, haz clic en Añadir principal.
En el campo Nuevos principales, añade los IDs de correo a los que quieras dar acceso. También puedes usar
allUserspara hacer que un recurso sea público y accesible para todos los usuarios de Internet, oallAuthenticatedUserspara que solo puedan acceder a él los usuarios de Google que hayan iniciado sesión.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
Haz clic en Guardar.
API
Lee la política actual con el método de lista
getIamPolicymediante el métodoprojects.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.
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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para asignar el rol
roles/analyticshub.subscriberagroup:subscribers@example.com, añade la siguiente vinculación a la política:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }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:
Para permitir que
allAuthenticatedUserspueda ver fichas, asígnale el rol Lector de Analytics Hub (roles/analyticshub.viewer) a nivel de intercambio de datos.Para permitir que
allAuthenticatedUsersse suscriba a fichas, concédele el rol de suscriptor de Analytics Hub (roles/analyticshub.subscriber) a nivel de intercambio de datos.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 los intercambios de datos con fichas comerciales integradas en Google Cloud Marketplace, elimina las fichas comerciales integradas en Google Cloud Marketplace. A continuación, vuelva a crear las fichas como fichas no comerciales.
- Para intercambiar datos con fichas de varias regiones, elimina todas las suscripciones activas con el método
projects.locations.subscriptions.revoke.
Para eliminar un intercambio de datos, sigue estos pasos:
Consola
Vaya a la página Compartir (Analytics Hub).
En la lista de intercambios de datos, seleccione el que quiera eliminar.
Ve a la pestaña Detalles.
Haz clic en Eliminar intercambio.
En el cuadro de diálogo ¿Eliminar intercambio?, confirma la eliminación escribiendo eliminar.
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
- Consulta información sobre cómo gestionar fichas.
- Consulte cómo conceder roles de usuario de Analytics Hub.
- Consulta cómo ver y suscribirte a fichas e intercambios de datos.
- Consulta información sobre el registro de auditoría de uso compartido.