Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los roles de seguridad de OneLake controlan quién puede acceder a los datos de tus artículos Fabric. A veces, conceder o negar el acceso a un objeto entero es demasiado grosero. Puede que necesites ocultar columnas sensibles, limitar qué filas ve un usuario o exponer solo ciertas tablas. Dentro de un rol, puedes refinar el acceso en tres niveles de granularidad: seguridad a nivel de objeto para tablas y carpetas, seguridad a nivel de columna (CLS) para columnas individuales y seguridad a nivel de fila (RLS) para filas individuales.
Este artículo explica qué hace cada control y cómo OneLake lo hace cumplir. Para crear estos controles, véase Crear y gestionar roles de seguridad en OneLake.
Los roles de seguridad de OneLake utilizan un modelo de subvención para dar acceso a los datos. No puedes negar acceso que se concede a través de otro modelo de rol o permiso. Por esa razón, estos controles no restringen el acceso de los usuarios en los roles de Administrador, Miembro y Colaborador a nivel de espacio de trabajo.
Seguridad de tablas y carpetas
La seguridad a nivel de tabla y carpeta, también llamada seguridad a nivel de objeto (OLS), permite conceder acceso a tablas o carpetas específicas en un elemento de datos. Con OLS, creas permisos tanto para datos estructurados como no estructurados a nivel de carpeta. Como las tablas Delta Parquet en OneLake se representan como carpetas, puedes proteger las tablas del mismo modo que proteges las carpetas. Los esquemas también son carpetas, así que puedes asegurarlos de la misma manera.
Seguridad a nivel de columna y fila
La seguridad de OneLake aplica seguridad a nivel de columna y de fila de una de estas dos maneras:
- Tablas de filtros: Un usuario que consulta una tabla usando un motor Fabric, como cuadernos Spark, o un motor autorizado de terceros, solo ve las columnas o filas que permiten las reglas CLS o RLS.
- Tablas de bloques: Un usuario que consulta una tabla usando un motor de terceros no autorizado no puede leer la tabla.
La seguridad de OneLake puede aplicar reglas de CLS y RLS a tablas Delta Parquet o tablas Iceberg virtualizadas. Las reglas aplicadas a otros tipos de tablas bloquean el acceso a toda la tabla para los miembros del puesto.
Si una regla CLS o RLS tiene una discrepancia con la tabla en la que está definida, la consulta falla y no devuelve datos. Por ejemplo, una descoordinación ocurre cuando una regla hace referencia a una columna que no está en la tabla.
Seguridad a nivel de columna
La seguridad a nivel de columna (CLS) otorga acceso a columnas seleccionadas en una tabla en lugar de a la tabla completa. Los datos en las columnas que eliminas de la lista de permitidos no son visibles para los usuarios.
Para tablas filtradas con CLS, se aplican los siguientes comportamientos:
- Si un usuario ejecuta una
select *consulta en una tabla donde solo tiene acceso a algunas columnas, las reglas CLS se comportan de forma diferente según el motor Fabric:- Cuadernos Spark: La consulta tiene éxito y solo muestra las columnas permitidas.
- Endpoint de analítica SQL: La consulta devuelve un error y bloquea el acceso a las columnas a las que el usuario no puede acceder.
- Modelos semánticos: La consulta devuelve un error y bloquea el acceso a las columnas a las que el usuario no puede acceder.
- El nombre de una columna segura puede ser visible en ciertas experiencias, pero los valores de los datos nunca aparecen.
Seguridad a nivel de fila
La seguridad a nivel de fila (RLS) define restricciones de datos a nivel de fila para los datos tabulares almacenados en OneLake. Defines roles que contienen reglas para filtrar filas de datos para los miembros del rol. Cuando un miembro de un rol RLS consulta los datos, OneLake evalúa las reglas RLS y devuelve solo las filas permitidas. Las filas son un concepto relevante solo para datos tabulares, así que no puedes definir RLS para carpetas que no sean tablas ni datos no estructurados.
Para tablas filtradas con RLS, se aplican los siguientes comportamientos:
- Es posible que se bloquee el acceso a una tabla si la instrucción RLS contiene errores de sintaxis que impiden que se evalúe.
Para la sintaxis utilizada para escribir reglas RLS, véase Referencia de sintaxis de seguridad a nivel de fila.
Combinación de la seguridad a nivel de fila y a nivel de columna
La seguridad a nivel de fila y a nivel de columna se puede usar conjuntamente para restringir el acceso de usuario a una tabla. Sin embargo, las dos políticas deben aplicarse mediante un solo rol de seguridad de OneLake. En este escenario, el acceso a los datos se restringe según las reglas que se establecen en un rol.
La seguridad de OneLake no admite la combinación de dos o más roles en los que uno contiene reglas RLS y otro contiene reglas CLS. Los usuarios que intentan acceder a tablas que forman parte de una combinación de roles no compatibles reciben errores de consulta.