Administra intercambios de datos
En este documento, se describe cómo administrar intercambios de datos en BigQuery sharing (anteriormente Analytics Hub). Como administrador de uso compartido de BigQuery, puedes hacer lo siguiente:
- Crear, actualizar, ver, compartir y borrar intercambios de datos
- Crear, actualizar, borrar y compartir fichas.
- Administrar los administradores de uso compartido de BigQuery, los administradores de fichas, los publicadores, los suscriptores y los visualizadores
De forma predeterminada, un intercambio de datos es privado. Solo los usuarios o grupos con acceso a un intercambio pueden ver sus datos o suscribirse a ellos. Puedes solicitar 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.getserviceUsage.services.listserviceUsage.services.enable
El siguiente rol predefinido de IAM incluye los permisos que necesitas para habilitar la API de Analytics Hub:
- Administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin)
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 .
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 IAM
Administrador de Analytics Hub (roles/analyticshub.admin)
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
Para crear un intercambio de datos, sigue estos pasos:
Console
Ve a la página Uso compartido (Analytics Hub).
Haz clic en Crear intercambio.
En el cuadro de diálogo Crear intercambio, selecciona un Proyecto y una Región para tu intercambio de datos. No puedes actualizar el proyecto y la región después de crear el intercambio de datos.
En el campo Nombre visible, ingresa un nombre para tu intercambio de datos.
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.
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. Cuando habilitas esta opció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_subjectde la vistaINFORMATION_SCHEMA.SHARED_DATASET_USAGE.Para habilitar la visibilidad pública, haz clic en el botón de activación Visibilidad pública. Cuando un intercambio es visible públicamente, aparecen todas las fichas del intercambio y se pueden buscar en el catálogo. Si habilitas la visibilidad pública, configura los permisos de intercambio. De forma predeterminada, todas las fichas heredan el parámetro de configuración de visibilidad pública del intercambio de datos. Esta herencia de configuración significa que los intercambios públicos no pueden tener fichas privadas, pero los intercambios privados pueden tener fichas públicas. Puedes establecer el tipo de visibilidad pública a nivel de la ficha individual. 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 del intercambio, completa los siguientes pasos:
Ingresa las direcciones de correo electrónico en los siguientes campos para otorgar los 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 información sobre las tareas que pueden realizar los publicadores de uso compartido de BigQuery, consulta Administra fichas. - Suscriptores: Asigna el rol de suscriptor de Analytics Hub (
roles/analyticshub.subscriber) a estos usuarios. Si deseas obtener información sobre las tareas que pueden realizar los suscriptores de BigQuery sharing, consulta Visualiza fichas e intercambios de datos y suscríbete a ellos. Visualizadores: Asigna el rol Analytics Hub Viewer (
roles/analyticshub.viewer) a estos usuarios. Los usuarios que pueden ver el uso compartido de BigQuery pueden ver fichas.Si la visibilidad pública está habilitada, otorga el rol de visualizador de Analytics Hub a
allUsersoallAuthenticatedUsers.
- Administradores: Asigna el rol de administrador de Analytics Hub (
Para guardar los permisos, haz clic en Establecer permisos.
Si no estableciste permisos para tu intercambio de datos, haz clic en Omitir.
API
Usa el método projects.locations.dataExchanges.create.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/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 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, 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 correo electrónico del suscriptor 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
Para actualizar un intercambio de datos, sigue estos pasos:
Console
Ve a la página Uso compartido (Analytics Hub).
En la lista de intercambios de datos, selecciona el intercambio de datos que deseas actualizar.
Ve a la pestaña Detalles.
Haz clic en Editar intercambio.
En el diálogo Editar intercambio, actualiza los siguientes campos:
- Nombre visible
- Contacto principal
- Descripción
- Visibilidad pública
- Si habilitas la visibilidad pública, otorga el rol Analytics Hub Viewer (
roles/analyticshub.viewer) aallUsersoallAuthenticatedUsers. - Si inhabilitas la visibilidad pública, quita el rol Analytics Hub Viewer (
roles/analyticshub.viewer) deallUsersoallAuthenticatedUsers. Los intercambios públicos no pueden tener fichas privadas, pero los intercambios privados pueden tener fichas públicas.
- Si habilitas la visibilidad pública, otorga el rol Analytics Hub Viewer (
Registro de correo electrónico de los 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
Reemplaza UPDATEMASK por la lista de campos que deseas actualizar. Si deseas actualizar varios valores, usa una lista separada por comas. Por ejemplo, para actualizar el nombre visible y el contacto principal de un intercambio de datos, ingresa displayName,primaryContact.
En el cuerpo de la solicitud, especifica los valores actualizados para los siguientes campos:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
Para obtener detalles 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
Para ver los intercambios de datos de tu proyecto u organización a los que tienes acceso, sigue estos pasos:
Console
Ve a la página Uso compartido (Analytics Hub).
En la página, se muestran los intercambios de datos en tu proyecto Google Cloud . Si tienes el permiso
resourcemanager.organizations.get, también puedes ver los intercambios de datos en tu organización 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/location/LOCATION/dataExchanges
Reemplaza lo siguiente:
- PROJECT_ID: Es el ID del proyecto.
- LOCATION: La ubicación para 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/location/LOCATION/dataExchanges
Reemplaza lo siguiente:
ORGANIZATION_ID: El ID de la organización. Para obtener más información, consulta Obtén el ID de tu organización.LOCATION: Es la ubicación para la que deseas enumerar los intercambios de datos existentes.
Comparte un intercambio de datos
Si el publicador de BigQuery sharing pertenece a una organización diferente a la que contiene el intercambio de datos, el publicador no puede ver tu intercambio de datos en BigQuery sharing. Comparte un vínculo al intercambio de datos con el publicador.
Ve a la página Uso compartido (Analytics Hub).
En la lista de intercambios de datos, haz clic en Más opciones.
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, debes establecer la política de IAM para ese intercambio. Para obtener información sobre los roles de usuario predefinidos de IAM, consulta Roles de IAM para compartir en BigQuery.
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre del intercambio de datos para el que deseas establecer permisos.
Ve a la pestaña Detalles.
Haz clic en Establecer permisos.
Para agregar principales, haz clic en Agregar principal.
En el campo Principales nuevos, agrega los IDs de correo electrónico a los que deseas otorgar acceso. También puedes usar
allUserspara hacer que un recurso sea público y accesible para todos en Internet, oallAuthenticatedUserspara que solo sea accesible para los usuarios de Google que hayan accedido a su cuenta.En el menú Selecciona un rol, selecciona Analytics Hub y, luego, elige uno de los siguientes roles de Identity and Access Management (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
Haz clic en Guardar.
API
Lee la política existente con el método
getIamPolicyde la lista mediante el métodoprojects.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.
BigQuery sharing (anteriormente Analytics Hub) devuelve la política actual.
Para agregar o quitar miembros y sus roles asociados de Identity and Access Management (IAM), edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para otorgar la función
roles/analyticshub.subscriberagroup:subscribers@example.com, agrega 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 IAM 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 de forma correcta, el cuerpo de la respuesta contendrá detalles de la ficha.
Crea administradores para compartir datos de BigQuery
Para administrar intercambios de datos, crea 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.
Para permitir que los administradores gestionen todos los intercambios de datos de un proyecto, otórgales el rol Analytics Hub Admin para ese proyecto.
Para permitir que los administradores gestionen un intercambio de datos específico, otorga el rol Analytics Hub Admin para ese 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 con 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:
Para permitir que
allAuthenticatedUsersvea fichas, otórgale el rol Analytics Hub Viewer (roles/analyticshub.viewer) a nivel del intercambio de datos.Para permitir que
allAuthenticatedUsersse suscriba a las fichas, otórgale el rol Analytics Hub Subscriber (roles/analyticshub.subscriber) a nivel del intercambio de datos.Habilita la visibilidad pública cuando crees o actualices un intercambio de datos. Especifica los permisos adecuados cuando hagas público un intercambio de datos.
Borra un intercambio de datos
Si borras un intercambio de datos, también se borrarán todas sus fichas. Sin embargo, los conjuntos de datos compartidos y vinculados no se borran. Cuando borras un proyecto, no se borran sus intercambios de datos. Borra estos intercambios de datos antes de borrar el proyecto. No puedes deshacer la eliminación de un intercambio de datos.
Antes de borrar un intercambio de datos, completa los siguientes pasos según la configuración del intercambio de datos:
- Para los intercambios de datos con fichas comerciales integradas en Google Cloud Marketplace, borra las fichas comerciales integradas en Google Cloud Marketplace. Luego, vuelve a crear las fichas como fichas no comerciales.
- En el caso de los intercambios de datos con fichas para varias regiones, quita todas las suscripciones activas con el método
projects.locations.subscriptions.revoke.
Para borrar un intercambio de datos, sigue estos pasos:
Console
Ve a la página Uso compartido (Analytics Hub).
En la lista de intercambios de datos, selecciona el intercambio de datos que deseas borrar.
Ve a la pestaña Detalles.
Haz clic en Borrar intercambio.
En el cuadro de diálogo ¿Borrar intercambio?, escribe delete para confirmar la eliminación.
Haz clic en Borrar.
API
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: 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 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 las API, consulta Métodos projects.locations.dataExchanges.
¿Qué sigue?
- Obtén más información para administrar fichas.
- Obtén información para otorgar roles de usuario de Analytics Hub.
- Obtén información para ver fichas y suscripciones a intercambios de datos.
- Obtén más información sobre el registro de auditoría de uso compartido.