Compartir a través de


Control de acceso en el catálogo de Unity

Esta página tiene información general sobre el control de acceso en el Catálogo de Unity, incluidos privilegios, directivas y controles de nivel de datos.

Capas de control de acceso

El control de acceso en el catálogo de Unity se basa en los siguientes modelos complementarios:

  • Las restricciones de nivel de área de trabajo controlan dónde los usuarios pueden acceder a los datos limitando objetos a áreas de trabajo específicas.
  • Privilegios y propiedad controlan quién puede acceder a qué, mediante concesiones en objetos protegibles.
  • Las directivas basadas en atributos (ABAC) controlan a qué usuarios de datos pueden acceder mediante etiquetas reguladas y directivas centralizadas.
  • El filtrado y enmascaramiento a nivel de tabla controlan qué datos pueden ver los usuarios dentro de las tablas usando filtros y vistas específicas de tabla.

Estos modelos funcionan juntos para aplicar acceso seguro y específico en todo el entorno de datos.

Nivel Propósito Mecanismos
Restricciones de nivel de área de trabajo Limitar qué áreas de trabajo pueden acceder a catálogos específicos, ubicaciones externas y credenciales de almacenamiento Vinculaciones a nivel del espacio de trabajo
Privilegios y propiedad Controlar el acceso a catálogos, esquemas, tablas y otros objetos Privilegios concedidos a usuarios y grupos, propiedad de objetos
Directivas basadas en atributos Uso de etiquetas y directivas para aplicar filtros y máscaras dinámicamente Directivas de ABAC y etiquetas reguladas
Filtrado y enmascaramiento de nivel de tabla Controlar qué datos pueden ver los usuarios dentro de las tablas Filtros de fila, máscaras de columna, vistas dinámicas

Restricciones de nivel de área de trabajo

El enlace del área de trabajo limita qué áreas de trabajo de la cuenta pueden acceder a catálogos específicos, ubicaciones externas y credenciales de almacenamiento. Este control de acceso se produce en el nivel de área de trabajo y se aplica independientemente de los privilegios de usuario o grupo.

De forma predeterminada, se puede acceder a todos los catálogos, ubicaciones externas y credenciales de almacenamiento en el catálogo de Unity desde cualquier área de trabajo asociada al mismo metastore. Con enlaces, puede:

  • Restringir el acceso a una o varias áreas de trabajo designadas
  • Hacer que el acceso al catálogo sea de solo lectura desde determinadas áreas de trabajo
  • Aislar entornos, por ejemplo, restringir los datos de producción a las áreas de trabajo de producción
  • Limitar el uso de ubicaciones externas y credenciales de almacenamiento a áreas de trabajo específicas

Estas vinculaciones anulan los permisos de nivel de usuario. Si un usuario tiene privilegios en un objeto pero intenta acceder a él desde un área de trabajo sin enlazar, se deniega el acceso.

Para obtener más información, vea Limitar el acceso de catálogo a áreas de trabajo específicas.

Privilegios y propiedad

El acceso en el catálogo de Unity se rige principalmente por privilegios y propiedad de objetos. Este modelo define quién puede acceder o administrar datos y metadatos mediante la asignación de roles de administrador y la concesión de privilegios y la administración de la propiedad en objetos protegibles. En esta sección se describe cómo se conceden los privilegios, cómo funciona la propiedad y qué roles de administrador pueden administrar el acceso en distintos ámbitos.

Roles de administración

Unity Catalog admite varios roles de administrador:

  • Administrador de cuentas: puede crear metastores, administrar identidades, asignar administradores de metastore y administrar características de nivel de cuenta, como delta sharing y tablas del sistema.
  • Administrador de metastore: un rol opcional pero eficaz que puede administrar todos los objetos del metastore, transferir la propiedad y asignar privilegios de nivel superior, como CREATE CATALOG, CREATE EXTERNAL LOCATIONy mucho más.
  • Administrador del área de trabajo: administra las identidades, la configuración de nivel de área de trabajo y el catálogo del área de trabajo.

Para obtener más información, consulte Privilegios de administrador en el catálogo de Unity.

Propiedad del objeto

Cada objeto protegible, como un catálogo, un esquema o una tabla, en el catálogo de Unity tiene un propietario. La propiedad concede control total sobre ese objeto, incluida la capacidad de:

  • Leer o modificar el objeto y sus metadatos
  • Concesión de privilegios a otros usuarios
  • Transferencia de la propiedad a otro principal

El catálogo de Unity también admite un MANAGE privilegio, que permite a los usuarios conceder acceso y modificar objetos sin convertirlos en el propietario.

Para obtener más información sobre la propiedad, consulte Administración de la propiedad de objetos del catálogo de Unity.

Privilegios en objetos asegurables

En el catálogo de Unity, el control de acceso comienza con privilegios. Asigne privilegios como SELECT, MODIFYy USE SCHEMA a usuarios y grupos en objetos protegibles, como catálogos, esquemas, tablas, vistas, volúmenes y funciones.

La aplicación de privilegios es:

  • Jerárquica: los permisos en objetos de nivel superior, como catálogos, se aplican en cascada a objetos de nivel inferior, como tablas.
  • Delegable: cada objeto tiene un propietario que puede administrarlo y conceder acceso a otros usuarios.
  • Explícito: el acceso solo se permite cuando se ha concedido a un usuario o grupo los privilegios adecuados. A un usuario se le concede la unión de permisos de todos los grupos de los que es miembro.

Los usuarios pueden solicitar acceso a los objetos que pueden detectar, ya sea a través del BROWSE privilegio o una dirección URL directa al objeto, o cuando encuentran un error de permiso denegado en cuadernos o en el editor de SQL. Databricks recomienda conceder BROWSE en catálogos al All account users grupo para que los objetos sean reconocibles y permitan a los usuarios solicitar acceso. Las solicitudes de acceso se envían a destinos configurados, como correo electrónico, Slack, Microsoft Teams, puntos de conexión de webhook o una dirección URL de redireccionamiento. Si no se configura ningún destino, los usuarios no pueden solicitar acceso al objeto .

Para obtener más información, consulte Administrar privilegios en el catálogo de Unity y los privilegios del catálogo de Unity y los objetos protegibles.

Almacenamiento en caché de permisos para el acceso basado en ruta

Para mejorar el rendimiento del acceso basado en rutas de acceso al almacenamiento en la nube, El catálogo de Unity podría almacenar en caché los resultados de la comprobación de permisos durante un máximo de 60 segundos por usuario y ruta de acceso. Este almacenamiento en caché se aplica a:

  • Operaciones del sistema de archivos mediante dbutils.fs comandos
  • Consultas basadas en rutas de acceso mediante Spark SQL

Debido a este comportamiento de almacenamiento en caché, es posible que una concesión de permisos o revocación no se refleje inmediatamente. Este comportamiento afecta solo al acceso basado en rutas. El acceso basado en nombres (por ejemplo, SELECT * FROM catalog.schema.table) no se ve afectado por esta memoria caché.

Control de acceso basado en atributos (ABAC)

Importante

Esta característica está en versión preliminar pública.

ABAC es un marco de directivas centralizado basado en etiquetas para aplicar el control de acceso en el catálogo de Unity. Permite a los administradores definir directivas escalables que se aplican dinámicamente entre catálogos, esquemas y tablas en función de etiquetas reguladas. Las directivas pueden filtrar los datos o enmascarar valores confidenciales. Databricks recomienda usar ABAC para una gobernanza centralizada y escalable, en lugar de aplicar filtros o máscaras individualmente en cada tabla.

ABAC está diseñado como un marco de uso general para aplicar directivas de control de acceso basadas en atributos de metadatos. Complementa los controles basados en privilegios y admite la aplicación detallada sin necesidad de configuración para cada objeto.

Características principales:

  • Directivas controladas por etiquetas: Defina directivas una vez mediante etiquetas reguladas y funciones definidas por el usuario (UDF) y aplíquelas de forma coherente en muchos recursos de datos.
  • Aplicación jerárquica: aplique directivas en el nivel de catálogo, esquema o tabla con herencia automática a objetos secundarios.
  • Gobernanza centralizada y escalable: Administre el acceso a escala sin asignar privilegios individuales en cada objeto.
  • Evaluación dinámica: Las decisiones de acceso se evalúan en tiempo real en función de etiquetas y contexto de usuario.

Para obtener más información, consulte Control de acceso basado en atributos (ABAC) de Unity Catalog.

Filtrado y enmascaramiento de nivel de tabla

En esta sección se tratan los mecanismos que controlan qué datos pueden ver los usuarios en tiempo de consulta mediante lógica específica de la tabla. Estos incluyen:

  • Filtros de fila y máscaras de columna: aplique lógica directamente a las tablas.
  • Vistas dinámicas: defina la lógica mediante SQL en una o varias tablas.

Estos enfoques se pueden usar de forma independiente o junto con ABAC, en función del modelo de gobernanza.

Filtros de fila y máscaras de columna

Los filtros de fila y las máscaras de columna aplican lógica de filtro o máscara directamente a tablas individuales mediante UDF. Son útiles cuando se desea aplicar lógica por tabla sin administración centralizada de directivas.

Para más información, consulte Filtros de fila y máscaras de columna.

Vistas dinámicas

Las vistas dinámicas permiten definir lógica en una o varias tablas mediante SQL. Son de solo lectura y son útiles para:

  • Aplicar la lógica de transformación (por ejemplo, uniones e instrucciones CASE)
  • Uso compartido de datos filtrados mediante Delta Sharing, donde no se admite ABAC.

Para obtener más información, consulte Creación de una vista dinámica.

Cuándo usar cada mecanismo de control de acceso

Los enlaces del área de trabajo, los privilegios y las directivas de ABAC evalúan el acceso en distintos niveles y están diseñados para usarse juntos. En la tabla siguiente se comparan entre los criterios comunes de control de acceso:

Nota:

Databricks recomienda usar ABAC para centralizar y escalar el control de acceso en función de las etiquetas reguladas. Use filtros de fila y máscaras de columna solo cuando necesite lógica por tabla o aún no haya adoptado ABAC.

Mecanismo Se aplica a Definido mediante Caso de uso
Vinculaciones del área de trabajo Catálogos, ubicaciones externas, credenciales de almacenamiento Asignación de áreas de trabajo Restricción del acceso a objetos desde áreas de trabajo específicas
Privilegios Catálogos, esquemas, tablas Concesiones (GRANT, REVOKE), propiedad Acceso y delegación de línea base
Directivas de ABAC Objetos etiquetados (tablas, esquemas) Directivas con etiquetas reguladas y UDF Directivas centralizadas controladas por etiquetas y aplicación dinámica
Filtros de fila/columna a nivel de tabla Tablas individuales UDF en la propia tabla Filtrado de tabla específico o enmascaramiento
Vistas dinámicas Vistas sobre una o varias tablas SQL (con filtros incrustados o máscaras) Acceso de solo lectura, lógica compleja, Delta Sharing