Comparte datos sensibles con salas limpias de datos
Puedes usar salas limpias de datos para establecer un entorno con seguridad mejorada. En este entorno, varias partes comparten, unen y analizan sus recursos de datos. Esta colaboración se produce sin mover ni revelar los datos subyacentes.
Las salas limpias de datos de BigQuery se integran con la plataforma de BigQuery sharing (anteriormente Analytics Hub). Los intercambios de datos de BigQuery sharing estándar admiten el uso compartido de datos a gran escala entre límites organizacionales. Sin embargo, las salas limpias de datos se usan específicamente para los datos sensibles y protegidos. Las salas limpias de datos proporcionan controles de seguridad adicionales que protegen los datos subyacentes y aplican reglas de análisis definidas por los propietarios de los datos.
Casos de uso
Los casos de uso principales incluyen los siguientes:
- Planificación de campañas y estadísticas de público. Permite que dos partes (por ejemplo, vendedores y compradores) mezclen datos propios y mejoren el enriquecimiento de datos de forma centrada en la privacidad.
- Medición y atribución. Haz coincidir los datos de rendimiento de los clientes y de los medios para comprender mejor la eficacia del marketing y decidir las campañas futuras.
- Activación. Combina los datos del cliente con los datos de otras partes para enriquecer la comprensión de los clientes, lo que te permite mejorar las capacidades de segmentación y la activación de medios.
Las salas limpias de datos también admiten varios casos de uso más allá de la industria del marketing:
- Venta minorista y bienes de consumo envasados (CPG). Optimiza las actividades de marketing y promocionales a través de la combinación de datos de puntos de venta de minoristas y datos de marketing de empresas de CPG.
- Servicios financieros. Mejora la detección de fraudes a través de la combinación de datos sensibles de otros organismos financieros y gubernamentales. Crea la puntuación de riesgo de crédito a través de la incorporación de datos del cliente en varios bancos.
- Servicios de salud. Comparte datos entre investigadores farmacéuticos y médicos para saber cómo reaccionan los pacientes a los tratamientos.
- Cadena de suministro, logística y transporte. Combina los datos de los proveedores y los especialistas en marketing para obtener un panorama completo del rendimiento de los productos durante su ciclo de vida.
Funciones
Existen tres roles principales en las salas limpias de datos de BigQuery:
- Propietario de la sala limpia de datos: Administra los permisos, la visibilidad y la membresía de una o más salas limpias de datos dentro de un proyecto Google Cloud . El propietario de la sala limpia de datos puede asignar los roles de colaborador de datos y suscriptor de la sala limpia de datos a los usuarios. Este rol es análogo al rol de IAM de administrador de Analytics Hub.
- Colaborador de datos: Publica datos en una sala limpia de datos. En muchos casos, el propietario de una sala limpia de datos también es un colaborador de datos. Este rol es análogo al rol de IAM de publicador de Analytics Hub.
- Suscriptor de la sala limpia de datos: Se suscribe a los datos publicados en una sala limpia de datos y ejecuta consultas sobre los datos. Este rol es similar a una combinación de los roles de IAM de suscriptor de Analytics Hub y propietario de la suscripción a Analytics Hub.
Arquitectura
Las salas limpias de datos de BigQuery usan un modelo de publicación y suscripción de datos de BigQuery. La arquitectura de BigQuery separa el procesamiento y el almacenamiento, lo que permite que los colaboradores de datos compartan datos sin hacer varias copias de los datos. En el siguiente diagrama, se muestra la arquitectura de la sala limpia de datos de BigQuery:

Sala limpia de datos
Una sala limpia de datos es un entorno para compartir datos sensibles que ayuda a evitar el acceso sin procesar y aplica restricciones de consulta. Solo los usuarios o grupos agregados como suscriptores de la sala limpia de datos pueden suscribirse a los datos compartidos. Los propietarios de las salas limpias de datos pueden crear la cantidad que deseen en el uso compartido de BigQuery.
Recursos compartidos
Un recurso compartido es la unidad de uso compartido de datos en una sala limpia de datos. El recurso debe ser una tabla, una vista o una rutina de BigQuery (función que devuelve una tabla). Como colaborador de datos, debes crear o usar un recurso de BigQuery existente en tu proyecto para compartirlo con los suscriptores de tu sala limpia de datos.
Fichas
Cuando agregas datos a una sala limpia de datos como colaborador de datos, creas una ficha. La ficha contiene una referencia a tu recurso compartido, junto con información descriptiva que ayuda a los suscriptores a usar los datos. Puedes incluir información, como una descripción, consultas de muestra y vínculos a la documentación de tus suscriptores.
Conjuntos de datos vinculados
Un conjunto de datos vinculado es un conjunto de datos de BigQuery de solo lectura que funciona como un vínculo simbólico a todos los datos en una sala limpia de datos. Cuando los suscriptores de la sala limpia de datos consultan recursos en un conjunto de datos vinculado, se muestran los datos de los recursos compartidos, lo que satisface las reglas de análisis establecidas por el colaborador de datos. Cuando te suscribes a una sala limpia de datos, BigQuery crea un conjunto de datos vinculado en tu proyecto. No se crea una copia de los datos y los suscriptores no pueden ver ciertos metadatos, como las definiciones de vistas.
Reglas de análisis
Como colaborador de datos, configuras reglas de análisis en los recursos que compartes en la sala limpia de datos. Las reglas de análisis ayudan a evitar el acceso sin procesar a los datos subyacentes y aplican restricciones de consulta. Por ejemplo, las salas limpias de datos admiten la regla de análisis de umbral de agregación, que permite a los suscriptores de la sala limpia de datos analizar datos solo a través de consultas de agregación.
Controles de salida de datos
Los controles de salida de datos impiden automáticamente que los suscriptores de la sala limpia de datos copien y exporten datos sin procesar desde una sala limpia de datos. Los colaboradores de datos pueden configurar controles adicionales para evitar la copia y la exportación de los resultados de consultas que obtienen los suscriptores.
Plantillas de consulta
Las plantillas de consultas permiten que los propietarios de salas limpias de datos y los publicadores de uso compartido de BigQuery compartan consultas predefinidas sin compartir los recursos subyacentes de las tablas y las vistas.
Las consultas predefinidas usan funciones con valores de tabla (TVF) en BigQuery que permiten que una tabla completa o campos específicos pasen como parámetros de entrada y muestren una tabla como resultado.
Limitaciones
Las salas limpias de datos de BigQuery tienen las siguientes limitaciones:
- Puedes establecer reglas de análisis solo en las vistas, no en las tablas ni en las vistas materializadas. Debido a esta limitación, los suscriptores tienen acceso a los datos sin procesar si un colaborador de datos comparte tablas, vistas materializadas o vistas sin reglas de análisis directamente en una sala limpia de datos.
- Si bien las reglas de análisis proporcionan controles de privacidad, no se garantiza que bloqueen todas las consultas no autorizadas diseñadas para extraer datos sin procesar. Para proteger tu información, usa plantillas de consulta en las salas limpias de datos para revisar y aprobar las consultas, lo que ayuda a bloquear los intentos no autorizados.
- Dado que las salas limpias de datos usan la plataforma de uso compartido de BigQuery, se aplican todas las limitaciones de uso compartido de BigQuery.
- Las salas limpias de datos solo están disponibles en las regiones de uso compartido de BigQuery.
- Como suscriptor de una sala limpia de datos, no puedes buscar recursos compartidos en Knowledge Catalog ni Data Catalog.
- Como suscriptor de una sala limpia de datos, no puedes consultar
vistas
INFORMATION_SCHEMAen los conjuntos de datos vinculados. - Como colaborador de datos, no puedes publicar un conjunto de datos completo directamente en una sala limpia de datos.
- Como colaborador de datos, no puedes publicar modelos ni rutinas (fuera de las plantillas de consultas) en una sala limpia de datos.
- Puedes agregar un máximo de 100 recursos compartidos a una sala limpia de datos. Si necesitas aumentar este límite, comunícate con bq-dcr-feedback@google.com.
- Las fichas de varias regiones no se admiten en las salas limpias de datos.
Antes de comenzar
Otorga roles de Identity and Access Management (IAM) para asegurarte de tener los permisos necesarios para completar las tareas de este documento, habilita la API de Analytics Hub y asigna el rol de administrador de Analytics Hub al propietario de tu sala limpia de datos.
Permisos necesarios
Para obtener los permisos que
necesitas para usar salas limpias de datos,
pídele a tu administrador que te otorgue el
rol de IAM de editor de datos de BigQuery (roles/bigquery.dataEditor).
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para usar las salas limpias de datos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para usar salas limpias de datos:
-
serviceUsage.services.get -
serviceUsage.services.list -
serviceUsage.services.enable
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Para obtener más información sobre los roles y permisos de IAM en BigQuery, consulta Introducción a IAM.
Habilita 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 para tu proyecto Google Cloud .
bq
Ejecuta el
comando gcloud services enable:
gcloud services enable analyticshub.googleapis.com
Después de habilitar la API de Analytics Hub, podrás acceder a la página Compartir (Analytics Hub).
Otorga el rol de administrador de Analytics Hub
Para crear una sala limpia de datos como propietario, debes tener el rol de administrador de Analytics Hub (roles/analyticshub.admin). Para obtener más información sobre cómo otorgar este rol a otros usuarios, consulta Crea administradores de uso compartido de BigQuery.
Flujos de trabajo del propietario de la sala limpia de datos
Como propietario de una sala limpia de datos, puedes hacer lo siguiente:
- Crear una sala limpia de datos.
- Actualizar las propiedades de la sala limpia de datos.
- Borrar una sala de limpieza de datos.
- Administrar colaboradores de datos.
- Administrar los suscriptores de la sala limpia de datos
- Compartir una sala limpia de datos.
Permisos adicionales del propietario de la sala limpia de datos
Para completar las tareas de propietario de la sala limpia de datos, debes tener el rol de administrador de Analytics Hub (roles/analyticshub.admin) en tu proyecto. También puedes asignar este rol a nivel de la carpeta o la organización, si corresponde.
Crea una sala limpia de datos
Para crear una sala limpia de datos, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en Crear sala limpia (Create clean room).
En Proyecto (Project), selecciona el proyecto para la sala limpia de datos. Debes habilitar la API de Analytics Hub para el proyecto.
Especifica la ubicación, el nombre, el contacto principal, el ícono (opcional) y la descripción de la sala limpia de datos. Solo puedes enumerar los recursos en la sala limpia de datos que se encuentren en la misma región que la sala limpia de datos.
Opcional: 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. Los datos registrados aparecen en el campo
job_principal_subjectde la vistaINFORMATION_SCHEMA.SHARED_DATASET_USAGE.Haz clic en Crear sala limpia (Create clean room).
Opcional: En la sección Permisos de la sala limpia (Clean Room Permissions), agrega otros propietarios de salas limpias de datos, colaboradores o suscriptores de salas limpias de datos.
API
Usa el
método projects.locations.dataExchanges.create
y establece el
entorno de uso compartido
en dcrExchangeConfig.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.create con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?data_exchange_id=CLEAN_ROOM_ID -d '{ display_name: "CLEAN_ROOM_NAME", sharing_environment_config: {dcr_exchange_config: {}} }'
Reemplaza lo siguiente:
PROJECT_ID: El ID de tu proyectoLOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: El ID de tu sala limpia de datosCLEAN_ROOM_NAME: El nombre visible de tu sala limpia de datos
En el cuerpo de la solicitud, proporciona los detalles del intercambio de datos.
Si la solicitud se realiza correctamente, el cuerpo de la respuesta contendrá los detalles de la sala limpia 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 aparecen en el campo job_principal_subject de la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
Actualiza una sala limpia de datos
Para actualizar las propiedades de la sala limpia de datos, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos que deseas actualizar.
En la pestaña Detalles, haz clic en Edit clean room details.
Actualiza el nombre, el contacto principal, el ícono, la descripción o el parámetro de configuración de registro de correos electrónicos de suscriptores de la sala limpia de datos según sea necesario.
Haz clic en Guardar.
API
Usa el
método projects.locations.dataExchanges.patch
y establece el
entorno de uso compartido
en dcrExchangeConfig.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.patch con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID?updateMask=UPDATEMASK -d '{ display_name: "CLEAN_ROOM_NAME", sharing_environment_config: {dcr_exchange_config: {}} }'
Reemplaza lo siguiente:
PROJECT_ID: El ID de tu proyectoLOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: El ID de tu sala limpia de datosCLEAN_ROOM_NAME: El nombre visible de tu sala limpia de datos
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 más información sobre estos campos, consulta Recurso: DataExchange.
Borra una sala limpia de datos
Para borrar una sala limpia de datos, elige una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
En la fila de la sala limpia de datos que deseas borrar, haz clic en Más acciones > Borrar.
Para confirmar, ingresa
deletey, luego, haz clic en Borrar. No puedes deshacer esta acción.
API
Usa el
método projects.locations.dataExchanges.delete
y establece el
entorno de uso compartido
en dcrExchangeConfig.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.delete con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?data_exchange_id=CLEAN_ROOM_ID
Reemplaza lo siguiente:
PROJECT_ID: El ID de tu proyectoLOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: El ID de tu sala limpia de datos
Cuando borras una sala limpia de datos, se borrarán todas las fichas que contiene. Los recursos compartidos y los conjuntos de datos vinculados no se borran. Los conjuntos de datos vinculados se desvinculan de los conjuntos de datos de origen, por lo que las consultas de los recursos en la sala limpia de datos comenzarán a fallar para los suscriptores de la sala limpia de datos.
Administra colaboradores de datos
Como propietario de una sala limpia de datos, administras quién puede agregar datos a tus salas limpias de datos (los colaboradores de datos). Para permitir que un colaborador de datos agregue datos a una sala limpia de datos, otórgale el rol de publicador de Analytics Hub (roles/analyticshub.publisher) en esa sala limpia de datos:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos a la que deseas otorgar permisos.
En la pestaña Detalles, haz clic en Establecer permisos.
Haz clic en Agregar principal.
En Principales nuevas, ingresa los nombres de usuario o los correos electrónicos de los colaboradores de datos que agregas.
En Seleccionar un rol, selecciona Analytics Hub > Publicador de Analytics Hub.
Haz clic en Guardar.
Puedes borrar y actualizar los colaboradores de datos en cualquier momento; para ello, haz clic en Establecer permisos.
API
Usa el método projects.locations.dataExchanges.setIamPolicy.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.setIamPolicy con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d '{ "policy": { "bindings": [ { "members": [ "my-service-account@my-project.iam.gserviceaccount.com" ], "role": "roles/analyticshub.publisher" } ] } }'
La política del cuerpo de la solicitud debe cumplir con la estructura de una política.
Puedes otorgar el rol Analytics Hub Publisher (roles/analyticshub.publisher) para un proyecto completo en la página de IAM.
Esto otorga permiso para agregar datos a cualquier sala limpia de datos en ese proyecto.
No se recomienda otorgar este rol a nivel del proyecto, ya que puede generar un acceso demasiado permisivo.
Administra los suscriptores de la sala limpia de datos
Como propietario de una sala limpia de datos, administras quiénes pueden suscribirse a tus salas
limpias de datos (tus suscriptores). Para permitir que un suscriptor se suscriba a una sala limpia de datos, otórgale los roles de suscriptor de Analytics Hub (roles/analyticshub.subscriber) y propietario de la suscripción a Analytics Hub (roles/analyticshub.subscriptionOwner) en esa sala limpia de datos:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos a la que deseas otorgar permisos.
En la pestaña Detalles, haz clic en Establecer permisos.
Haz clic en Agregar principal.
En Principales nuevas, ingresa los nombres de usuario o los correos electrónicos de los suscriptores de la sala limpia de datos que agregas.
En Seleccionar un rol, selecciona Analytics Hub > Suscriptor de Analytics Hub.
Haz clic en Agregar otro rol.
En Seleccionar un rol, selecciona Analytics Hub > Propietario de la suscripción a Analytics Hub.
Haz clic en Guardar.
Puedes borrar y actualizar los suscriptores de la sala limpia de datos en cualquier momento; para ello, haz clic en Establecer permisos.
API
Usa el método projects.locations.dataExchanges.setIamPolicy.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.setIamPolicy con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d '{ "policy": { "bindings": [ { "members": [ "user:mike@example.com" ], "role": "roles/analyticshub.subscriptionOwner" }, { "members": [ "user:mike@example.com" ], "role": "roles/analyticshub.subscriber" } ] } }'
La política del cuerpo de la solicitud debe cumplir con la estructura de una política.
Puedes otorgar los roles de suscriptor de Analytics Hub (roles/analyticshub.subscriber) y propietario de la suscripción a Analytics Hub (roles/analyticshub.subscriptionOwner) para un proyecto completo en la página de IAM.
Estos roles otorgan permiso para suscribirse a cualquier sala limpia de datos en ese proyecto. Evita otorgar estos roles a nivel del proyecto, ya que puede generar un acceso demasiado permisivo.
Comparte una sala limpia de datos
Puedes compartir directamente una sala limpia de datos con los suscriptores de la sala limpia de datos:
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
En la fila de la sala limpia de datos que deseas compartir, haz clic en Más acciones > Copiar vínculo para compartir.
Para permitir que los suscriptores vean la sala limpia de datos y se suscriban a ella, comparte el vínculo copiado con ellos.
Flujos de trabajo de los colaboradores de datos
Como colaborador de datos, puedes hacer lo siguiente:
- Crear una ficha para agregar datos a una sala limpia de datos.
- Actualizar una ficha.
- Borrar una ficha.
- Compartir una sala limpia de datos.
- Supervisar las fichas.
Permisos adicionales de los colaboradores de datos
Para completar las tareas de colaborador de datos, debes tener el
rol de publicador de Analytics Hub
(roles/analyticshub.publisher) en una sala limpia de datos.
Además, necesitas los permisos bigquery.datasets.get, bigquery.datasets.update y bigquery.tables.get en el conjunto de datos y la tabla de origen. Estos permisos están disponibles en el rol de propietario de datos de BigQuery (roles/bigquery.dataOwner).
Para ver las salas limpias de datos en tu organización que no están en tu proyecto actual, necesitas el permiso resourcemanager.organization.get.
Para usar el proceso de creación de salas limpias de datos y crear una vista de BigQuery con reglas de análisis, necesitas los permisos bigquery.tables.setPrivacyPolicy y bigquery.tables.create. Si haces referencia a la vista directamente, este permiso no es obligatorio.
Crea una ficha (agrega datos)
Para preparar datos con reglas de análisis y publicarlos en una sala limpia de datos como una ficha, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos en la que deseas crear una ficha.
Si perteneces a una organización diferente a la del propietario de la sala limpia de datos y no puedes verla, pídele un vínculo directo al propietario.
Haz clic en Add Data:
En Seleccionar conjunto de datos y Nombre de la tabla o vista, ingresa la tabla o vista que deseas enumerar en la sala limpia de datos y su conjunto de datos correspondiente. Agregarás reglas de análisis para evitar el acceso sin procesar a estos datos subyacentes en unos pocos pasos.
Selecciona las columnas del recurso que quieres publicar.
Establece el nombre de la vista, el contacto principal y la descripción (opcional) de la ficha.
Haz clic en Siguiente.
Elige una regla de análisis para tu ficha y configura los detalles.
Configura los controles de salida de datos para la ficha.
Haz clic en Siguiente.
Revisa los datos y la regla de análisis que agregas a la sala limpia de datos.
Haz clic en Add Data: Se crea una vista para tus datos y se agrega como una ficha a la sala limpia de datos. No se agrega la tabla o vista de origen en sí.
API
Usa el método projects.locations.dataExchanges.listings.create.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.listings.create con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID -d '{"bigqueryDataset":{"dataset":"projects/PROJECT_ID/datasets/DATASET_ID","selectedResources":[{"table":"projects/PROJECT_ID/datasets/DATASET_ID/tables/VIEW_ID"}],},"displayName":LISTING_NAME"}'
Reemplaza lo siguiente:
DCR_PROJECT_ID: ID del proyecto en el que se creó la sala limpia de datos.PROJECT_ID: Es el ID del proyecto en el que se encontraba el conjunto de datos de origen.DATASET_ID: Es el ID de tu conjunto de datos de origen.LOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: Es el ID de tu sala limpia de datos.LISTING_ID: Es el ID de tu ficha.LISTING_NAME: El nombre de tu fichaVIEW_ID: El ID de tu vista. La vista que agregues a una sala limpia de datos debe ser una vista autorizada que esté configurada con reglas de análisis.
Si enumeras un recurso en una sala limpia de datos, otorgas a todos los suscriptores de la sala limpia de datos actuales y futuros acceso a los datos de tu recurso compartido.
Si creas una ficha con un recurso compartido que no tiene una regla de análisis, una advertencia indica que los suscriptores pueden acceder a los datos sin procesar de ese recurso. Si confirmas la advertencia, aún puedes crear la ficha.
Si recibes el error Failed to save listing, verifica que tengas los permisos necesarios para completar tareas de colaborador de datos.
Actualiza una ficha
Para actualizar una ficha, elige una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos que contiene la ficha.
En la fila de la ficha que deseas actualizar, haz clic en Más acciones > Editar ficha.
Actualiza el contacto principal o la descripción según sea necesario.
Haz clic en Siguiente.
Actualiza la regla de análisis según sea necesario. Solo puedes actualizar los parámetros de la regla elegida. No puedes cambiar a una regla diferente.
Haz clic en Siguiente.
Revisa la ficha y haz clic en Guardar.
API
Usa el método projects.locations.dataExchanges.listings.patch.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.listings.patch con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X PATCH https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings/listingId=LISTING_ID?updateMask=displayName -d '{"displayName":LISTING_NAME"}'
Reemplaza lo siguiente:
DCR_PROJECT_ID: Es el ID del proyecto en el que se creó la sala limpia de datos.LOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: Es el ID de tu sala limpia de datos.LISTING_ID: Es el ID de tu ficha.LISTING_NAME: El nombre de tu ficha
Después de crear una ficha, no puedes cambiar su recurso de origen ni los controles de salida de datos.
Borra una ficha
Para borrar una ficha, elige una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos que contiene la ficha.
En la fila de la ficha que deseas borrar, haz clic en Más acciones > Borrar fichas.
Para confirmar, ingresa
deletey, luego, haz clic en Borrar. No puedes deshacer esta acción.
API
Usa el método projects.locations.dataExchanges.listings.delete.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.listings.delete con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X DELETE https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID
Reemplaza lo siguiente:
DCR_PROJECT_ID: Es el ID del proyecto en el que se creó la sala limpia de datos.LOCATION: La ubicación de la sala limpia de datosCLEAN_ROOM_ID: Es el ID de tu sala limpia de datos.LISTING_ID: Es el ID de tu ficha.
Cuando borras una ficha, no se borran los recursos compartidos ni los conjuntos de datos vinculados. Los conjuntos de datos vinculados se desvinculan de los conjuntos de datos de origen, por lo que las consultas de los recursos en esa lista comenzarán a fallar para los suscriptores de la sala limpia de datos.
Comparte una sala limpia de datos
Puedes compartir directamente una sala limpia de datos con los suscriptores de la sala limpia de datos:
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
En la fila de la sala limpia de datos que deseas compartir, haz clic en Más acciones > Copiar vínculo para compartir.
Para permitir que los suscriptores vean la sala limpia de datos y se suscriban a ella, comparte el vínculo copiado con ellos.
Supervisa las fichas
Puedes ver las métricas de uso en los conjuntos de datos de origen de los recursos que compartes en una sala limpia de datos si consultas la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
Para ver los suscriptores de la sala limpia de datos de tu ficha, haz lo siguiente:
En la consola de Google Cloud , ve a la página Compartir (Analytics Hub).
Haz clic en el nombre visible de la sala limpia de datos.
En la fila de una ficha que deseas ver, haz clic en Más acciones > Ver suscripciones.
Flujos de trabajo de los suscriptores de la sala limpia de datos
Como suscriptor de una sala limpia de datos, puedes hacer lo siguiente:
- Suscribirse a una sala limpia de datos
- Consultar datos en un conjunto de datos vinculado
Cuando te suscribes a una sala limpia de datos, se crea un conjunto de datos vinculado en tu proyecto. Cada conjunto de datos vinculado tiene el mismo nombre que la sala limpia de datos.
No puedes suscribirte a una ficha específica dentro de una sala limpia de datos. Solo puedes suscribirte a la sala limpia de datos.
Permisos adicionales del suscriptor de la sala limpia de datos
Para completar las tareas de suscriptor de la sala limpia de datos, debes tener el rol de suscriptor de Analytics Hub (roles/analyticshub.subscriber) en la sala limpia de datos y el rol de propietario de la suscripción a Analytics Hub (roles/analyticshub.subscriptionOwner) en el proyecto de suscripción.
Cuando te suscribes a una sala limpia de datos, también necesitas el permiso bigquery.datasets.create en tu proyecto para crear el conjunto de datos vinculado.
Suscríbete a una sala limpia de datos
Suscribirse a una sala limpia de datos te brinda acceso de consulta a los datos en las fichas a través de la creación de un conjunto de datos vinculado en tu proyecto. Para suscribirte a una sala limpia de datos, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en Agregar datos.
Selecciona Uso compartido (Analytics Hub). Se abrirá una página de descubrimiento.
Para mostrar las salas limpias de datos a las que tienes acceso, en la lista de filtros, selecciona Salas limpias.
Haz clic en la sala limpia de datos a la que deseas suscribirte. Se abrirá una página de descripción de la sala limpia de datos. En esta página, también puedes ver si el proveedor habilitó el registro de correos electrónicos de los suscriptores.
Haz clic en Suscribirse.
Selecciona el proyecto de destino para la suscripción y haz clic en Suscribirse.
API
Usa el método projects.locations.dataExchanges.subscribe.
En el siguiente ejemplo, se muestra cómo llamar al método projects.locations.dataExchanges.subscribe con el comando curl:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:subscribe --data '{"destination":"projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION","subscription":"SUBSCRIPTION"}'
Reemplaza lo siguiente:
DCR_PROJECT_ID: ID del proyecto en el que se creó la sala limpia de datos.LOCATION: Es la ubicación de la sala limpia de datos.CLEAN_ROOM_ID: Es el ID de tu sala limpia de datos.SUBSCRIBER_PROJECT_ID: Es el ID del proyecto del suscriptor.SUBSCRIPTION: El nombre de tu suscripción.LINKED_DATASET_ID: Es el ID que deseas asignar al conjunto de datos vinculado.PRIMARY_REGION: Es la región geográfica principal en la que deseas crear el conjunto de datos vinculado.
En el cuerpo de la solicitud, especifica la ubicación de destino, el nombre de la suscripción y el conjunto de datos en el que deseas crear el conjunto de datos vinculados:
{
"destination": "projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION",
"subscription": "SUBSCRIPTION",
"destinationDataset": {
"datasetReference": {
"projectId": "SUBSCRIBER_PROJECT_ID",
"datasetId": "LINKED_DATASET_ID"
},
"location": "PRIMARY_REGION"
}
}
Si la solicitud se realiza correctamente, el cuerpo de la respuesta contendrá el objeto de suscripción.
Si habilitas el registro de correos electrónicos de los suscriptores para la sala limpia de datos con el campo logLinkedDatasetQueryUserEmail, la respuesta de suscripción contendrá log_linked_dataset_query_user_email: true. Los datos registrados aparecen en el campo job_principal_subject de la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.
Un conjunto de datos vinculado ahora se agrega al proyecto que especificaste y está disponible para la consulta.
Como suscriptor de una sala limpia de datos, tu acceso a los conjuntos de datos vinculados está sujeto a las siguientes condiciones:
- Metadatos y permisos: Puedes editar algunos metadatos de tus conjuntos de datos vinculados, como las descripciones y las etiquetas, y establecer permisos en ellos. Los cambios en los conjuntos de datos vinculados no afectan a los conjuntos de datos de origen. No puedes ver las definiciones de vistas.
- Recursos de solo lectura: Los recursos incluidos en los conjuntos de datos vinculados son de solo lectura. Como suscriptor, no puedes editar datos ni metadatos de los recursos en conjuntos de datos vinculados, ni especificar permisos para recursos individuales dentro del conjunto de datos vinculado.
- Anular la suscripción: Para anular la suscripción a la sala limpia de datos, borra tu conjunto de datos vinculado.
Consulta datos en un conjunto de datos vinculado
Para consultar datos en un conjunto de datos vinculado, usa la sintaxis SELECT WITH AGGREGATION_THRESHOLD, que te permite ejecutar consultas en vistas aplicadas de análisis de reglas. Para ver un ejemplo de esta sintaxis, visita Consulta una vista aplicada de la regla de análisis del umbral de agregación.
Situación de ejemplo: análisis de atribución del anunciante y publicador
Un anunciante desea hacer un seguimiento de la eficacia de sus campañas de marketing. El anunciante tiene datos de origen sobre sus clientes, incluidos el historial de compras, los datos demográficos y los intereses. El publicador tiene datos de su sitio web, incluidos los anuncios que se mostraron a los visitantes y sus conversiones.
El anunciante y el publicador aceptan usar una sala limpia de datos para combinar datos y medir los resultados de sus campañas. En este caso, el publicador crea la sala limpia de datos y pone los datos a disposición del anunciante para que los analice. El informe de atribución resultante muestra al anunciante qué anuncios fueron más eficaces para generar ventas. El anunciante utiliza esta información para optimizar las futuras campañas de marketing.
El anunciante y el publicador organizan la sala limpia de datos de BigQuery a través del proceso que se describe en las siguientes secciones.
Crear la sala limpia de datos (publicador)
- El propietario de una sala limpia de datos en la organización del publicador habilita la API de Analytics Hub en su proyecto de BigQuery y asigna al usuario A como propietario de la sala limpia de datos (administrador de Analytics Hub (
roles/analyticshub.admin)). - El usuario A crea una sala limpia de datos llamada
Campaign Analysisy le asigna los siguientes permisos:- Colaborador de datos (publicador de Analytics Hub (
roles/analyticshub.publisher)): Usuario B, un ingeniero de datos en la organización del publicador. - Suscriptor de la sala limpia de datos (suscriptor de Analytics Hub (
roles/analyticshub.subscriber) y propietario de la suscripción (roles/analyticshub.subscriptionOwner)): Usuario C, un analista de marketing en la organización del anunciante.
- Colaborador de datos (publicador de Analytics Hub (
Agrega datos a la sala limpia de datos (publicador)
El usuario B crea una ficha nueva en la sala limpia de datos llamada
Publisher Conversion Data. Como parte de la creación de una ficha, se crea una
vista nueva con reglas de análisis de datos.
Suscríbete a la sala limpia de datos (anunciante)
- El usuario C se suscribe a la sala limpia de datos, que crea un conjunto de datos vinculado para todas las fichas en la sala limpia de datos, incluida la ficha
Publisher Conversion Data. - El usuario C ahora puede ejecutar consultas de agregación para combinar los datos de este conjunto de datos vinculado a sus datos de origen para medir la eficacia de la campaña.
Resolución de entidades
Los casos de uso de las salas limpias de datos a menudo requieren la vinculación de entidades en los conjuntos de datos de colaboradores de datos y suscriptores de salas limpias de datos que no incluyen un identificador común. Los suscriptores y los colaboradores de datos pueden representar los mismos registros de manera diferente en varios conjuntos de datos, ya sea porque los conjuntos de datos se originan en fuentes de datos diferentes o porque los conjuntos de datos usan identificadores de espacios de nombres diferentes.
Como parte de la preparación de los datos, la resolución de entidades en BigQuery hace lo siguiente:
- Para los colaboradores de datos, anula el duplicado y resuelve los registros en sus recursos compartidos con los identificadores de un proveedor común de su elección. Este proceso permite la unión entre colaboradores.
- Para los suscriptores de la sala limpia de datos, anula el duplicado y resuelve los registros en sus conjuntos de datos de origen y los vínculos a entidades en los conjuntos de datos de los colaboradores de datos. Este proceso permite uniones entre los datos de suscriptores y colaboradores de datos.
Para obtener más información sobre la configuración de la resolución de entidades, consulta Configura y usa la resolución de entidades en BigQuery.
Descubre los recursos de salas limpias de datos
Para encontrar todas las salas limpias de datos a las que tienes acceso, haz lo siguiente:
Para los propietarios y colaboradores de datos de las salas limpias de datos, en laGoogle Cloud consola, ve a la página Uso compartido (Analytics Hub).
Ir a Uso compartido (Analytics Hub)
Se enumeran todas las salas limpias de datos a las que puedes acceder.
Para los suscriptores de la sala limpia de datos, haz lo siguiente:
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en Agregar datos.
Selecciona Uso compartido (Analytics Hub). Se abrirá una página de descubrimiento.
Para mostrar las salas limpias de datos a las que tienes acceso, en la lista de filtros, selecciona Salas limpias.
Para encontrar todos los conjuntos de datos vinculados que crearon las salas limpias de datos en tu proyecto, ejecuta el siguiente comando en un entorno de línea de comandos:
PROJECT=PROJECT_ID \ for dataset in $(bq ls --project_id $PROJECT | tail +3); \ do [ "$(bq show -d --project_id $PROJECT $dataset | egrep LINKED)" ] \ && echo $dataset; done
Reemplaza PROJECT_ID por el proyecto que contiene tus
conjuntos de datos vinculados.
Precios
En la siguiente tabla, se resumen los precios de las salas limpias de datos de BigQuery:
| Rol | Detalles de precios |
|---|---|
| Colaborador de datos | Solo se cobra el almacenamiento de datos. |
| Suscriptor de la sala limpia de datos | Solo se cobra por el procesamiento (análisis) cuando se ejecutan consultas. |
¿Qué sigue?
- Aprende a usar plantillas de búsqueda.
- Obtén más información para restringir el acceso a los datos con reglas de análisis.
- Obtén información para usar los Controles del servicio de VPC.