Requisitos, cuotas y limitaciones de ABAC

En esta página se enumeran los requisitos, las cuotas de directiva y las limitaciones actuales del control de acceso basado en atributos (ABAC) en el catálogo de Unity.

Requisitos de cómputo

Para usar directivas de ABAC, debe usar una de las siguientes configuraciones de proceso:

Para obtener instrucciones sobre la ejecución de cargas de trabajo que requieren tiempos de ejecución anteriores, consulte Acceso desde entornos de ejecución anteriores.

Requisito de etiquetas reguladas

Las directivas de ABAC usan etiquetas reguladas, no etiquetas no superpuestas. Las etiquetas reguladas se definen en el nivel de cuenta con controles de acceso que determinan quién puede crear, asignar y administrarlas. Para obtener más información, consulte Etiquetas reguladas.

Note

Después de asignar o modificar una etiqueta, el cambio puede tardar unos minutos en surtir efecto.

Políticas de cuotas

Recurso Límite
Directivas por metastore 10 000
Directivas por catálogo o esquema 100
Directivas por tabla 50
Entidades de seguridad por directiva (se aplica a las cláusulas y TOEXCEPT ) 20
Condiciones de columna por MATCH COLUMNS cláusula 3

Para obtener más información, incluidas las cuotas de etiquetas reguladas, consulte Límites de servicio.

Limitaciones de ABAC

Acceso desde entornos de ejecución anteriores

El proceso estándar y dedicado en las versiones de Databricks Runtime anteriores a la versión 16.4 no puede acceder a tablas protegidas con ABAC. Si necesita ciertas cargas de trabajo para seguir ejecutándose en un entorno de ejecución anterior, deba definir el ámbito de la directiva de ABAC a un grupo específico en lugar de aplicarla ampliamente. Agregue solo los usuarios o entidades de seguridad que quiera que la directiva se aplique a ese grupo y excluya la entidad de seguridad que ejecuta la carga de trabajo en tiempo de ejecución anterior mediante la EXCEPT cláusula . Los usuarios fuera del grupo conservan el acceso total a las tablas subyacentes. Esto permite que esa carga de trabajo continúe accediendo a las tablas mientras realiza la transición a un entorno de ejecución compatible.

Directivas de ABAC en vistas

No se pueden aplicar directivas de ABAC directamente a las vistas. Sin embargo, cuando un usuario consulta una vista que hace referencia a tablas con directivas de ABAC, esas directivas se respetan al acceder a los datos a través de la vista.

Los filtros de fila de ABAC y las máscaras de columna en las tablas subyacentes se evalúan mediante la identidad del usuario de la sesión, lo que significa que la persona que ejecuta la consulta. El usuario ve solo las filas y los valores de columna a los que están autorizados para acceder, tal como se definen en las directivas de ABAC en las tablas base. Las comprobaciones de acceso a la tabla base y las comprobaciones de acceso a las dependencias usan la identidad del propietario de la vista, por lo que los usuarios pueden consultar vistas sin privilegios directos en las tablas subyacentes.

Note

El mismo modelo de identidad de usuario de sesión se aplica cuando se accede a tablas con directivas de ABAC a través de funciones.

El modelo de identidad de usuario de sesión se introdujo junto con la versión de disponibilidad general de ABAC. Anteriormente, las directivas se evalúan mediante la identidad del definidor de función o del propietario de la vista. Para obtener más información, consulte las notas de la versión de abril de 2026.

Directivas de ABAC en vistas materializadas y tablas de streaming

Note

Anteriormente, las directivas de ABAC en vistas materializadas y tablas de streaming solo se admitían cuando el propietario de la canalización o la identidad de ejecución estaban exentos de la directiva. Esa limitación se ha quitado.

Cuando una canalización actualiza una vista materializada o una tabla de streaming, las directivas se evalúan mediante la identidad o la identidad de ejecución del propietario de la canalización. Si esa identidad está sujeta a la directiva, la vista Materialized o la tabla de streaming contiene permanentemente datos enmascarados o filtrados. Databricks recomienda mantener la identidad de actualización exenta mediante la EXCEPT cláusula y dirigirse a los consumidores que deben ver datos enmascarados o filtrados en la TO cláusula .

Tablas de uso compartido delta con directivas o vistas de ABAC que hacen referencia a ellas

Las tablas con directivas o vistas de ABAC que hacen referencia a tablas con directivas de ABAC solo se pueden compartir a través del uso compartido delta si el propietario del recurso compartido está exento de la directiva (que se muestra en la EXCEPT cláusula ). La directiva no rige el acceso del destinatario. Los destinatarios pueden aplicar sus propias directivas de ABAC a las tablas compartidas para aplicar el control de acceso en su lado.

Para obtener más información sobre cómo usar el uso compartido delta con ABAC, consulte Uso compartido delta y ABAC.

Desplazamiento de tiempo y clonación en tablas con directivas de ABAC

Las directivas de ABAC no se pueden evaluar con las instantáneas de tabla históricas, por lo que las consultas de desplazamiento de tiempo no se pueden evaluar en tablas con filtros de fila activos o máscaras de columna. Los clones profundos y superficiales tampoco se admiten en tablas con directivas de ABAC.

Para habilitar estas operaciones, cree una entidad de servicio o un grupo y agréguela a la cláusula de EXCEPT la directiva. La directiva no se evalúa para las entidades de seguridad exentas, por lo que estas operaciones se pueden ejecutar.

Importante

Las entidades de seguridad exentas ven datos sin filtrar y sin enmascarar. Solo exime las identidades de confianza, como las entidades de servicio usadas para cargas de trabajo de ETL o canalización.

Por ejemplo, la directiva siguiente enmascara las columnas PII de todos los usuarios excepto etl_service_principal, que puede ejecutar consultas de viaje en tiempo de ejecución y operaciones de clonación:

CREATE POLICY mask_pii
ON CATALOG prod
COLUMN MASK prod.governance.mask_value
TO `account users`
EXCEPT `etl_service_principal`
FOR TABLES
MATCH COLUMNS
  has_tag_value('pii', 'ssn') AS ssn
ON COLUMN ssn;

Índices de búsqueda vectorial y directivas de ABAC

Las directivas de ABAC en una tabla de origen no se aplican a los índices de búsqueda vectorial creados a partir de esa tabla. El índice sincroniza todas las filas de la tabla de origen y no aplica directivas de filtro de fila ni máscara de columna al atender consultas.

En el caso de las tablas con máscaras de columna, puede excluir columnas enmascaradas del índice mediante la configuración de sincronización de columnas .

Varias directivas en la misma tabla o columna para el mismo usuario

Solo un filtro de fila distinto puede resolverse en tiempo de ejecución para una tabla determinada y un usuario determinado, y solo una máscara de columna distinta puede resolverse para una columna determinada y un usuario determinado. Puede definir varias directivas, pero cuando un usuario consulta la tabla, solo deben coincidir las condiciones de una directiva. Si se aplican varios filtros de fila o máscaras de columna distintos al mismo usuario y tabla o columna, Azure Databricks bloquea el acceso y devuelve un error. Se permiten varias directivas si se resuelven en el mismo filtro de fila o UDF de máscara de columnas con los mismos argumentos.

Para obtener más información, consulte Reglas para varios filtros y máscaras.

Esquema de información y directivas de ABAC

No hay ninguna tabla de esquema de información para las directivas de ABAC. Las information_schema.row_filters tablas y information_schema.column_masks solo muestran filtros de fila de nivel de tabla y máscaras de columna. No muestran definiciones de directiva de ABAC ni los filtros y máscaras derivados de las directivas de ABAC en tiempo de ejecución.

Para enumerar las directivas de ABAC, use la API REST del catálogo de Unity. Los eventos de creación, modificación y eliminación de directivas se capturan en la tabla del sistema de registro de auditoría.

ABAC en proceso dedicado

Para ver las limitaciones de ABAC en el cómputo dedicado, consulte Limitaciones.

Limitaciones comunes a los filtros de fila de nivel de tabla y ABAC y máscaras de columna

Para conocer las limitaciones generales de los filtros de fila y las máscaras de columna que se aplican tanto a los filtros de fila de ABAC como a las máscaras de columna, consulte Limitaciones.