Restringir el acceso con el control de acceso a nivel de columna
En esta página se explica cómo usar el control de acceso a nivel de columna de BigQuery para restringir el acceso a los datos de las columnas de esta herramienta. Para obtener información general sobre el control de acceso a nivel de columna, consulta el artículo Introducción al control de acceso a nivel de columna de BigQuery.
En las instrucciones de esta página se usan tanto BigQuery como Data Catalog.
Debe actualizar el esquema de la tabla para definir una etiqueta de política en una columna. Puedes usar la Google Cloud consola, la herramienta de línea de comandos bq y la API de BigQuery para definir una etiqueta de política en una columna. Además, puedes crear una tabla, especificar el esquema y especificar etiquetas de política en una sola operación mediante las siguientes técnicas:
- Los comandos
bq mk
ybq load
de la herramienta de línea de comandos bq. - El método de la API
tables.insert
. - La página Crear tabla de la Google Cloud consola. Si usas la consolaGoogle Cloud , debes seleccionar Editar como texto cuando añadas o edites el esquema.
Para mejorar el control de acceso a nivel de columna, puedes usar enmascaramiento dinámico de datos. El enmascaramiento de datos te permite enmascarar datos sensibles sustituyendo el valor real de una columna por contenido nulo, predeterminado o cifrado con hash.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - BigQuery se habilita automáticamente en los proyectos nuevos, pero es posible que tengas que activarlo en un proyecto ya creado.
Enable the BigQuery API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Los usuarios o las cuentas de servicio que administran etiquetas de políticas deben tener el rol Administrador de etiquetas de políticas de Data Catalog. El rol Administrador de etiquetas de política puede gestionar taxonomías y etiquetas de política, así como conceder o quitar roles de gestión de identidades y accesos asociados a etiquetas de política.
- Los usuarios o las cuentas de servicio que apliquen el control de acceso para el control de acceso a nivel de columna deben tener el rol Administrador de BigQuery o el rol Propietario de datos de BigQuery. Los roles de BigQuery pueden gestionar políticas de datos, que se usan para aplicar el control de acceso en una taxonomía.
- Para ver las taxonomías y las etiquetas de políticas de todos los proyectos de una organización en laGoogle Cloud consola, los usuarios deben tener el rol de lector de la organización. De lo contrario, la consola solo mostrará las taxonomías y las etiquetas de política asociadas al proyecto seleccionado.
- Los usuarios o las cuentas de servicio que consulten datos protegidos por el control de acceso a nivel de columna deben tener el rol Lector Granular de Data Catalog para acceder a esos datos.
En la Google Cloud consola, ve a la página Gestión de identidades y accesos.
Si la dirección de correo del usuario al que quieres conceder el rol está en la lista, selecciónala y haz clic en
Editar. Se abrirá el panel Editar acceso. Haz clic en Añadir otro rol.Si la dirección de correo electrónico del usuario no aparece en la lista, haga clic en
Añadir y, a continuación, introduzca la dirección de correo en el cuadro Nuevos principales.Haz clic en la lista desplegable Seleccionar un rol.
En Por producto o servicio, haz clic en Data Catalog. En Roles, haz clic en Administrador de etiquetas de política.
Haz clic en Guardar.
En la Google Cloud consola, ve a la página Gestión de identidades y accesos.
Si la dirección de correo del usuario al que quieres conceder el rol está en la lista, selecciónala y haz clic en
Editar. A continuación, haz clic en Añadir otro rol.Si la dirección de correo electrónico del usuario no aparece en la lista, haga clic en
Añadir y, a continuación, introduzca la dirección de correo en el cuadro Nuevos principales.Haz clic en la lista desplegable Seleccionar un rol.
Haga clic en BigQuery y, a continuación, en Administrador de políticas de datos de BigQuery, Administrador de BigQuery o Propietario de datos de BigQuery.
Haz clic en Guardar.
- Crea una taxonomía de etiquetas de política.
- Asocia las principales con las etiquetas de política y concédeles el rol Lector de datos pormenorizados de Cloud Data Catalog.
- Asocia las etiquetas de política a las columnas de la tabla de BigQuery.
- Aplica el control de acceso a la taxonomía que contiene las etiquetas de política.
- Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
- Haz clic en Crear taxonomía.
En la página Nueva taxonomía, haga lo siguiente:
- En Nombre de la taxonomía, escribe el nombre de la taxonomía que quieras crear.
- En Descripción, escribe una descripción.
- Si es necesario, cambia el proyecto que aparece en Proyecto.
- Si es necesario, cambia la ubicación que aparece en Ubicación.
- En Etiquetas de la política, escriba el nombre y la descripción de la etiqueta de la política.
- Para añadir una etiqueta de política secundaria a una etiqueta de política, haga clic en Añadir subetiqueta.
- Para añadir una etiqueta de política nueva al mismo nivel que otra etiqueta de política, haga clic en + Añadir etiqueta de política.
- Sigue añadiendo etiquetas de política y etiquetas de política secundarias según sea necesario para tu taxonomía.
- Cuando hayas terminado de crear las etiquetas de política de tu jerarquía, haz clic en Crear.
- Llamar
taxonomies.create
para crear una taxonomía. - Llama a
taxonomies.policytag.create
para crear una etiqueta de política. Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
Haga clic en el nombre de la taxonomía que contiene las etiquetas de política pertinentes.
Selecciona una o varias etiquetas de política.
Si el panel de información está oculto, haz clic en Mostrar panel de información.
En el panel de información, puedes ver los roles y las entidades de seguridad de las etiquetas de políticas seleccionadas. Añade el rol Administrador de etiquetas de política a las cuentas que creen y gestionen etiquetas de política. Añade el rol Lector pormenorizado a las cuentas que deban tener acceso a los datos protegidos por el control de acceso a nivel de columna. También puedes usar este panel para quitar roles de cuentas o modificar otros permisos.
Haz clic en Guardar.
Abre la página de BigQuery en la Google Cloud consola.
En el Explorador de BigQuery, busca y selecciona la tabla que quieras actualizar. Se abrirá el esquema de la tabla.
Haz clic en Editar esquema.
En la pantalla Esquema actual, seleccione la columna de destino y haga clic en Añadir etiqueta de política.
En la pantalla Añadir una etiqueta de política, busca y selecciona la etiqueta de política que quieras aplicar a la columna.
Haz clic en Seleccionar. Deberías ver una pantalla similar a esta:
Haz clic en Guardar.
Escribe el esquema en un archivo local.
bq show --schema --format=prettyjson \ project-id:dataset.table > schema.json
donde:
- project-id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la tabla que quieres actualizar.
- table es el nombre de la tabla que vas a actualizar.
Modifica schema.json para definir una etiqueta de política en una columna. En el valor del campo
names
depolicyTags
, usa el nombre del recurso de la etiqueta de política.[ ... { "name": "ssn", "type": "STRING", "mode": "REQUIRED", "policyTags": { "names": ["projects/project-id/locations/location/taxonomies/taxonomy-id/policyTags/policytag-id"] } }, ... ]
Actualiza el esquema.
bq update \ project-id:dataset.table schema.json
- Usa
bq mk
para crear una tabla. Transfiere un esquema para crear la tabla. - Usa
bq load
para cargar datos en una tabla. Transfiere un esquema para usarlo cuando cargues la tabla. Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
Haga clic en la taxonomía cuyo control de acceso a nivel de columna quiera aplicar.
Si la opción Aplicar control de acceso aún no está activada, haz clic en Aplicar control de acceso para habilitarla.
Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
Haga clic en la taxonomía cuyas etiquetas de política quiera ver. En la página Taxonomías se muestran las etiquetas de política de la taxonomía.
Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
Haga clic en el nombre de la taxonomía que contiene las etiquetas de política pertinentes.
Selecciona una o varias etiquetas de política.
Si el panel de información está oculto, haz clic en Mostrar panel de información.
En el panel de información, puedes ver los roles y las entidades de seguridad de las etiquetas de políticas seleccionadas.
Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
Haga clic en el nombre de la taxonomía que contiene las etiquetas de política pertinentes.
Selecciona una o varias etiquetas de política.
Si el panel de información está oculto, haz clic en Mostrar panel de información.
En el panel de información, puedes ver los roles y las entidades de seguridad de las etiquetas de políticas seleccionadas. Añade el rol Administrador de etiquetas de política a las cuentas que creen y gestionen etiquetas de política. Añade el rol Lector pormenorizado a las cuentas que deban tener acceso a los datos protegidos por el control de acceso a nivel de columna. También puedes usar este panel para quitar roles de cuentas o modificar otros permisos.
Haz clic en Guardar.
Consulta las etiquetas de política de la taxonomía que contiene la etiqueta de política.
Busca la etiqueta de política cuyo nombre de recurso quieras copiar.
Haga clic en el icono Copiar el nombre del recurso de la etiqueta de política.
Recupera el esquema y guárdalo en un archivo local.
bq show --schema --format=prettyjson \ project-id:dataset.table > schema.json
donde:
- project-id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la tabla que quieres actualizar.
- table es el nombre de la tabla que vas a actualizar.
Modifica schema.json para borrar una etiqueta de política de una columna.
[ ... { "name": "ssn", "type": "STRING", "mode": "REQUIRED", "policyTags": { "names": [] } }, ... ]
Actualiza el esquema.
bq update \ project-id:dataset.table schema.json
- Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
- Haga clic en el nombre de la taxonomía que contiene las etiquetas que quiere eliminar.
- Haz clic en Editar.
- Haz clic en junto a las etiquetas de política que quieras eliminar.
- Haz clic en Guardar.
- Haz clic en Confirmar.
- Abre la página Taxonomías de etiquetas de políticas en la consola deGoogle Cloud .
- Haga clic en el nombre de la taxonomía que contiene las etiquetas que quiere eliminar.
- Haga clic en Eliminar taxonomía de etiquetas de política.
- Escribe el nombre de la taxonomía y haz clic en Eliminar.
Modifica la consulta para excluir las columnas a las que el usuario no puede acceder. Por ejemplo, si el usuario no tiene acceso a la columna
ssn
, pero sí al resto, puede ejecutar la siguiente consulta:SELECT * EXCEPT (ssn) FROM ...
En el ejemplo anterior, la cláusula
EXCEPT
excluye la columnassn
.Pide a un administrador de Data Catalog que añada al usuario como lector de datos pormenorizados de Data Catalog a la clase de datos pertinente. El mensaje de error proporciona el nombre completo de la etiqueta de política a la que el usuario necesita acceder.
SELECT
consultas con tablas de destino- Tareas de copia de tablas
- Trabajos de exportación de datos (por ejemplo, a Cloud Storage)
- En la página Taxonomía de etiquetas de políticas, comprueba que el interruptor Aplicar control de acceso esté activado.
Asegúrate de que tus consultas no utilicen resultados de consultas almacenados en caché. Si usas la herramienta de interfaz de línea de comandos
bq
para probar tus consultas, debes usar--nouse_cache flag
para inhabilitar la caché de consultas. Por ejemplo:bq query --nouse_cache --use_legacy_sql=false "SELECT * EXCEPT (customer_pii) FROM my_table;"
Roles y permisos
Hay varios roles relacionados con las etiquetas de políticas para usuarios y cuentas de servicio.
Para obtener más información sobre todos los roles relacionados con las etiquetas de política, consulta Roles usados con el control de acceso a nivel de columna.
Rol Administrador de etiquetas de política de Data Catalog
El rol Administrador de etiquetas de política de Data Catalog puede crear y gestionar etiquetas de política de datos.
Para conceder el rol de administrador de etiquetas de política, debes tener el permiso resourcemanager.projects.setIamPolicy
en el proyecto en el que quieras conceder el rol. Si no tienes el permiso resourcemanager.projects.setIamPolicy
, pide a un propietario del proyecto que te lo conceda o que siga los pasos que se indican a continuación.
Roles Administrador de políticas de datos de BigQuery, Administrador de BigQuery y Propietario de datos de BigQuery
Los roles Administrador de políticas de datos de BigQuery, Administrador de BigQuery y Propietario de datos de BigQuery pueden gestionar las políticas de datos.
Para asignar cualquiera de estos roles, debes tener el permiso resourcemanager.projects.setIamPolicy
en el proyecto al que quieras asignar el rol. Si no tienes el permiso resourcemanager.projects.setIamPolicy
, pide a un propietario del proyecto que te lo conceda o que siga los pasos que se indican a continuación.
Rol Lector de organización
El rol Lector de la organización permite a los usuarios ver los detalles de su recurso de organización. Para conceder este rol, debes tener el permiso resourcemanager.organizations.setIamPolicy
en la organización.
Rol Lector pormenorizado de Data Catalog
Los usuarios que necesiten acceder a los datos protegidos con el control de acceso a nivel de columna deben tener el rol Lector con control pormenorizado de Data Catalog o cualquier otro rol que tenga el permiso datacatalog.categories.fineGrainedGet
.
Este rol se asigna a las entidades como parte de la configuración de una etiqueta de política.
Para conceder a un usuario el rol Lector de datos pormenorizados en una etiqueta de política, debes tener el permiso datacatalog.taxonomies.setIamPolicy
en el proyecto que contenga la taxonomía de esa etiqueta de política. Si no tienes permiso de datacatalog.taxonomies.setIamPolicy
, pide a un propietario del proyecto que te lo conceda o que realice la acción en tu nombre.
Para obtener instrucciones, consulta Definir permisos en etiquetas de políticas.
Configurar el control de acceso a nivel de columna
Para configurar el control de acceso a nivel de columna, completa estas tareas:
Crear taxonomías
El usuario o la cuenta de servicio que cree una taxonomía debe tener asignado el rol Administrador de etiquetas de política de Data Catalog.
Consola
API
Para usar taxonomías ya creadas, llama a
taxonomies.import
en lugar de los dos primeros pasos del siguiente procedimiento.
Definir permisos en etiquetas de política
El usuario o la cuenta de servicio que cree una taxonomía debe tener asignado el rol Administrador de etiquetas de política de Data Catalog.
Consola
API
Llama a taxonomies.policytag.setIamPolicy
para conceder acceso a una etiqueta de política asignando principales a los roles correspondientes.
Definir etiquetas de política en columnas
El usuario o la cuenta de servicio que define una etiqueta de política necesita los permisos datacatalog.taxonomies.get
y bigquery.tables.setCategory
.
datacatalog.taxonomies.get
se incluye en los roles Administrador de etiquetas de políticas de Data Catalog y Lector de proyectos.
bigquery.tables.setCategory
se incluye en los roles
Administrador de BigQuery (roles/bigquery.admin
) y
Propietario de datos de BigQuery (roles/bigquery.dataOwner
).
Para ver las taxonomías y las etiquetas de políticas de todos los proyectos de una organización en la consola deGoogle Cloud , los usuarios necesitan el permiso resourcemanager.organizations.get
, que se incluye en el rol Lector de organización.
Consola
Define la etiqueta de política modificando un esquema con laGoogle Cloud consola.
bq
API
Si ya tienes tablas, llama al tables.patch
. Si quieres crear tablas, llama al tables.insert
. Usa la propiedad schema
del objeto Table
que incluyas para definir una etiqueta de política en la definición de tu esquema. Consulta el esquema del ejemplo de línea de comandos para ver cómo definir una etiqueta de política.
Cuando trabajes con una tabla, te recomendamos que uses el método tables.patch
, ya que el método tables.update
sustituye todo el recurso de la tabla.
Otras formas de definir etiquetas de política en columnas
También puedes definir etiquetas de política cuando:
Para obtener información general sobre los esquemas, consulta Especificar un esquema.
Aplicar control de acceso
Sigue estas instrucciones para activar o desactivar la aplicación del control de acceso.
Para desplegar controles de acceso obligatorios, es necesario crear una política de datos. Esto se hace automáticamente si aplicas el control de acceso mediante la consolaGoogle Cloud . Si quieres aplicar el control de acceso mediante la API Data Policy de BigQuery, debes crear la política de datos de forma explícita.
El usuario o la cuenta de servicio que aplique el control de acceso debe tener el rol Administrador de BigQuery o el rol Propietario de datos de BigQuery. También deben tener el rol Administrador de Data Catalog o el rol Lector de Data Catalog.
Consola
Para aplicar el control de acceso, sigue estos pasos:
Para detener la aplicación del control de acceso si está activado, haz clic en Aplicar control de acceso para desactivarlo.
Si tiene políticas de datos asociadas a alguna de las etiquetas de política de la taxonomía, debe eliminar todas las políticas de datos de la taxonomía antes de dejar de aplicar el control de acceso. Si elimina las políticas de datos mediante la API Data Policy de BigQuery, debe eliminar todas las políticas de datos con un dataPolicyType
de DATA_MASKING_POLICY
. Para obtener más información, consulta Eliminar políticas de datos.
API
Para aplicar el control de acceso, llama a
create
y envía un recurso
DataPolicy
en el que el campo dataPolicyType
esté definido como
COLUMN_LEVEL_SECURITY_POLICY
.
Para detener la aplicación del control de acceso si está activado, elimina la política de datos asociada a la taxonomía. Para ello, llama al método
delete
de esa política de datos.
Si tiene políticas de datos asociadas a alguna de las etiquetas de política de la taxonomía, no podrá detener la aplicación del control de acceso sin eliminar primero todas las políticas de datos de la taxonomía. Para obtener más información, consulta Eliminar políticas de datos.
Trabajar con etiquetas de política
En esta sección se explica cómo ver, modificar y eliminar etiquetas de políticas.
Ver etiquetas de política
Para ver las etiquetas de política que has creado en una taxonomía, sigue estos pasos:
Ver etiquetas de política en el esquema
Puede ver las etiquetas de políticas aplicadas a una tabla cuando examine su esquema. Puedes ver el esquema con la Google Cloud consola, la herramienta de línea de comandos bq, la API de BigQuery y las bibliotecas de cliente. Para obtener información sobre cómo ver el esquema, consulta Obtener información de la tabla.
Ver los permisos de las etiquetas de política
Actualizar los permisos de las etiquetas de política
El usuario o la cuenta de servicio que cree una taxonomía debe tener asignado el rol Administrador de etiquetas de política de Data Catalog.
Consola
API
Llama a taxonomies.policytag.setIamPolicy
para conceder acceso a una etiqueta de política asignando principales a los roles correspondientes.
Recuperar nombres de recursos de etiquetas de política
Necesitará el nombre del recurso de etiqueta de política cuando aplique la etiqueta de política a una columna.
Para obtener el nombre del recurso de la etiqueta de política, sigue estos pasos:
Borrar etiquetas de política
Actualiza el esquema de la tabla para borrar una etiqueta de política de una columna. Puedes usar la consolaGoogle Cloud , la herramienta de línea de comandos bq y el método de API de BigQuery para quitar una etiqueta de política de una columna.
Consola
En la página Esquema actual, en Etiquetas de política, haga clic en X.
bq
API
Llama a tables.patch
y usa la propiedad schema
para borrar una etiqueta de política de tu definición de esquema. Consulta el esquema de ejemplo de línea de comandos para ver cómo borrar una etiqueta de política.
Como el método tables.update
sustituye todo el recurso de la tabla, es preferible usar el método tables.patch
.
Eliminar etiquetas de política
Puedes eliminar una o varias etiquetas de política de una taxonomía, o bien eliminar la taxonomía y todas las etiquetas de política que contenga. Si elimina una etiqueta de política, se quitará automáticamente la asociación entre la etiqueta y las columnas a las que se haya aplicado.
Cuando eliminas una etiqueta de política que tiene una política de datos asociada, pueden pasar hasta 30 minutos hasta que se elimine la política de datos. Puedes eliminar la política de datos directamente si quieres que se elimine de inmediato.
Para eliminar una o varias etiquetas de política de una taxonomía, sigue estos pasos:
Para eliminar una taxonomía completa, sigue estos pasos:
Consultar datos con control de acceso a nivel de columna
Si un usuario tiene acceso a un conjunto de datos y el rol Lector con control pormenorizado de Data Catalog, podrá acceder a los datos de las columnas. El usuario ejecuta una consulta como de costumbre.
Si un usuario tiene acceso al conjunto de datos, pero no tiene el rol de lector con control pormenorizado de Data Catalog, no podrá acceder a los datos de la columna. Si un usuario de este tipo ejecuta SELECT *
, recibe un error que muestra las columnas a las que no puede acceder. Para resolver el error, puedes hacer lo siguiente:
Preguntas frecuentes
¿La seguridad a nivel de columna de BigQuery funciona en las vistas?
Sí. Las vistas se derivan de una tabla subyacente. El mismo control de acceso a nivel de columna de la tabla se aplica cuando se accede a las columnas protegidas a través de una vista.
En BigQuery hay dos tipos de vistas: vistas lógicas y vistas autorizadas. Ambos tipos de vistas se derivan de una tabla de origen y ambos son coherentes con el control de acceso a nivel de columna de la tabla.
Para obtener más información, consulta Vistas autorizadas.
¿El control de acceso a nivel de columna funciona en columnas STRUCT
o RECORD
?
Sí. Solo puedes aplicar etiquetas de política a los campos hoja, y solo esos campos estarán protegidos.
¿Puedo usar tanto SQL antiguo como GoogleSQL?
Puedes usar GoogleSQL para consultar tablas protegidas por el control de acceso a nivel de columna.
Se rechazarán las consultas SQL antiguas si hay etiquetas de política en las tablas de destino.
¿Se registran las consultas en Cloud Logging?
La comprobación de etiquetas de política se registra en Logging. Para obtener más información, consulta Registros de auditoría para el control de acceso a nivel de columna.
¿La copia de una tabla se ve afectada por el control de acceso a nivel de columna?
Sí. No puedes copiar columnas si no tienes acceso a ellas.
Las siguientes operaciones verifican los permisos a nivel de columna.
Cuando copio datos en una tabla nueva, ¿se propagan automáticamente las etiquetas de políticas?
En la mayoría de los casos, no. Si copias los resultados de una consulta en una tabla nueva, esta no tendrá asignadas etiquetas de política automáticamente. Por lo tanto, la nueva tabla no tiene control de acceso a nivel de columna. Lo mismo ocurre si exportas datos a Cloud Storage.
La excepción es si usas un trabajo de copia de tabla. Como las tareas de copia de tablas no aplican ninguna transformación de datos, las etiquetas de políticas se propagan automáticamente a las tablas de destino. Esta excepción no se aplica a las tareas de copia de tablas entre regiones, ya que estas tareas no admiten la copia de etiquetas de políticas.
¿Es compatible el control de acceso a nivel de columna con la nube privada virtual?
Sí, el control de acceso a nivel de columna y la VPC son compatibles y complementarios.
La VPC aprovecha la gestión de identidades y accesos para controlar el acceso a los servicios, como BigQuery y Cloud Storage. El control de acceso a nivel de columna proporciona seguridad granular a las columnas individuales de BigQuery.
Para aplicar la VPC a las etiquetas de políticas y las políticas de datos para el control de acceso a nivel de columna y el enmascaramiento dinámico de datos, debes restringir las siguientes APIs en el perímetro:
Solucionar problemas
No veo los roles de Data Catalog
Si no ve roles como Lector detallado de Data Catalog, es posible que no haya habilitado la API Data Catalog en su proyecto. Para saber cómo habilitar la API de Data Catalog, consulta la sección Antes de empezar. Los roles de Data Catalog deberían aparecer varios minutos después de habilitar la API de Data Catalog.
No puedo ver la página Taxonomías
Necesita permisos adicionales para ver la página Taxonomías. Por ejemplo, el rol Administrador de etiquetas de política de Data Catalog tiene acceso a la página Taxonomías.
He aplicado etiquetas de política, pero parece que no funcionan
Si sigues recibiendo resultados de consultas de una cuenta que no debería tener acceso, es posible que la cuenta esté recibiendo resultados almacenados en caché. En concreto, si has ejecutado la consulta correctamente y, después, has aplicado etiquetas de política, es posible que estés obteniendo resultados de la caché de resultados de la consulta. De forma predeterminada, los resultados de las consultas se almacenan en caché durante 24 horas. La consulta debería fallar inmediatamente si inhabilitas la caché de resultados. Para obtener más información sobre el almacenamiento en caché, consulta Impacto del control de acceso a nivel de columna.
Por lo general, las actualizaciones de IAM tardan unos 30 segundos en propagarse. Los cambios en la jerarquía de etiquetas de políticas pueden tardar hasta 30 minutos en propagarse.
No tengo permiso para leer una tabla con seguridad a nivel de columna
Necesitas el rol Lector detallado o el rol Lector anonimizado en diferentes niveles, como organización, carpeta, proyecto y etiqueta de política. El rol Lector con control pormenorizado concede acceso a los datos sin procesar, mientras que el rol Lector con datos anonimizados concede acceso a los datos anonimizados. Puede usar la herramienta de solución de problemas de gestión de identidades y accesos para comprobar este permiso a nivel de proyecto.
He configurado un control de acceso pormenorizado en la taxonomía de etiquetas de política, pero los usuarios ven datos protegidos
Para solucionar este problema, confirma los siguientes detalles: