Compartir Datasets y Permisos en BigQuery | Curso Google Cloud Professional Data Engineer

Cómo Compartir Datasets en BigQuery y GCP con Permisos e Informes

Autor: Eduardo Martínez Agrelo

Los datos solo generan valor cuando las personas y las aplicaciones correctas pueden acceder a ellos. Sin embargo, compartir datos sin un control adecuado es una receta para el desastre. En este capítulo, nos sumergiremos en el sistema de seguridad y gestión de identidades de Google Cloud (IAM) para aprender a compartir nuestros datasets de BigQuery de forma segura, granular y gobernada, llegando hasta la visualización en informes.

La Base de la Seguridad: Google Cloud IAM (Identity and Access Management)

La seguridad en Google Cloud se rige por el principio de mínimo privilegio: por defecto, nadie tiene acceso a nada. Otorgamos permisos a través de IAM, que se basa en tres conceptos clave:

  • Principal (Quién): La identidad que solicita acceso. Puede ser una cuenta de Google (un usuario), una cuenta de servicio (una aplicación o VM), un grupo de Google, etc.
  • Rol (Qué puede hacer): Un conjunto de permisos. Los roles nos evitan tener que asignar permisos uno por uno. GCP ofrece roles predefinidos (ej. `roles/bigquery.dataViewer`) y roles personalizados.
  • Recurso (Sobre qué): El recurso de GCP al que se le está concediendo acceso. En nuestro caso, puede ser un proyecto, un dataset de BigQuery, una tabla o incluso una columna.

IAM nos permite responder a la pregunta: "¿Quién puede hacer qué sobre qué recurso?".

Niveles de Permisos en BigQuery

En BigQuery, podemos aplicar estos permisos a diferentes niveles de la jerarquía, lo que nos da un control muy granular:

  • Nivel de Proyecto: Otorgar un rol a nivel de proyecto da permisos sobre todos los datasets dentro de ese proyecto. Es útil para administradores.
  • Nivel de Dataset: Es el nivel más común para compartir. Puedes dar a un grupo de analistas acceso de lectura (`roles/bigquery.dataViewer`) a un dataset específico que contiene datos de ventas, sin que puedan ver los datos de recursos humanos de otro dataset.
  • Nivel de Tabla/Vista: Permite conceder acceso a tablas o vistas individuales, lo que es aún más específico.

Un Caso de Uso Avanzado: Vistas Autorizadas

¿Qué pasa si necesitas que un usuario consulte datos agregados, pero no quieres que vea los datos crudos subyacentes que contienen información sensible? Aquí es donde brillan las Vistas Autorizadas.

Una Vista Autorizada es una Vista a la que se le conceden permisos para acceder a una tabla, incluso si el usuario que consulta la vista no tiene permisos sobre esa tabla. El flujo es el siguiente:

  1. Creas una tabla base con datos sensibles (ej. `tabla_transacciones_privada`).
  2. Creas una Vista que agrega los datos y oculta los detalles (ej. `vista_ventas_por_dia`).
  3. Deniegas el acceso del usuario a la `tabla_transacciones_privada`.
  4. Concedes acceso al usuario para que consulte la `vista_ventas_por_dia`.
  5. Autorizas a la vista para que pueda leer de la tabla base.

El resultado es que el usuario puede obtener los resultados agregados, pero si intenta consultar la tabla base directamente, se le denegará el acceso. Es un mecanismo de seguridad extremadamente potente.

De los Datos al Informe: Conectando con Looker Studio

El objetivo final de compartir datos suele ser la creación de informes y dashboards. Looker Studio (anteriormente Google Data Studio) es la herramienta de BI gratuita de Google. Una vez que un usuario tiene los permisos correctos en BigQuery, puede conectar Looker Studio a un dataset o una vista y empezar a crear visualizaciones interactivas. Los permisos de IAM se respetan en todo momento, garantizando que los usuarios solo puedan visualizar los datos que están autorizados a ver.

Conclusión: Habilitar el Negocio de Forma Segura

Como Ingeniero de Datos, tu trabajo no termina al cargar los datos. Debes ser un guardián de los mismos, asegurando que se compartan de acuerdo con las políticas de la empresa. Dominar IAM, los roles de BigQuery y las técnicas como las Vistas Autorizadas te permite democratizar el acceso a los datos de forma segura, habilitando a los equipos de negocio para que tomen decisiones informadas sin comprometer la seguridad o la privacidad.

Descarga aquí el código de la lección
Click aquí para visualizar el vídeo de la lección en YouTube