Compartir a través de


Implementación de la seguridad de nivel de fila en el almacenamiento de datos de Microsoft Fabric

Se aplica a: punto de conexión de análisis SQL y un almacén de Microsoft Fabric

La seguridad de nivel de fila (RLS) en Fabric Warehouse y el punto de conexión de análisis SQL le permite controlar el acceso a las filas de una tabla de base de datos en función de los roles de usuario y los predicados. Para obtener más información, consulte Seguridad de nivel de fila en el almacenamiento de datos de Fabric.

Esta guía le guiará por los pasos necesarios para implementar la seguridad de nivel de fila en Microsoft Fabric Warehouse o en el punto de conexión de análisis SQL.

Requisitos previos

Antes de comenzar, asegúrese de que dispone de lo siguiente:

  1. Un área de trabajo de Fabric con una capacidad activa o una capacidad de prueba.
  2. Un almacén de tejido o un punto de conexión de análisis SQL en un almacén de lago.
  3. Derechos de administrador, miembro o colaborador en el área de trabajo, o permisos elevados en el almacén o el punto de conexión de análisis SQL.

1. Conectar

  1. Inicie sesión utilizando una cuenta con acceso elevado en el Almacén o en el punto de conexión de análisis SQL. (Rol De administrador, miembro o colaborador en el área de trabajo o Permisos de control en el almacén o el punto de conexión de análisis SQL).
  2. Abra el área de trabajo tejido y vaya al almacén o el punto de conexión de análisis SQL donde desea aplicar la seguridad de nivel de fila.

2. Definición de directivas de seguridad

  1. Determine los roles y predicados que desea usar para controlar el acceso a los datos. Los roles definen quién puede acceder a los datos y predicados definen los criterios de acceso.

  2. Crear predicados de seguridad. Los predicados de seguridad son condiciones que determinan a qué filas puede acceder un usuario. Puede crear predicados de seguridad como funciones insertadas con valores de tabla. En este ejercicio sencillo se supone que hay una columna en la tabla de datos, UserName_column, que contiene el nombre de usuario correspondiente, rellenado por la función del sistema USER_NAME().

    -- Creating schema for Security
    CREATE SCHEMA Security;
    GO
    
    -- Creating a function for the SalesRep evaluation
    CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50))
        RETURNS TABLE
    WITH SCHEMABINDING
    AS
        RETURN SELECT 1 AS tvf_securitypredicate_result
    WHERE @UserName = USER_NAME();
    GO
    
    -- Using the function to create a Security Policy
    CREATE SECURITY POLICY YourSecurityPolicy
    ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column)
    ON sampleschema.sampletable
    WITH (STATE = ON);
    GO 
    
  3. Reemplace YourSecurityPolicy por el nombre de la directiva, tvf_securitypredicate por el nombre de la función de predicado, sampleschema por el nombre del esquema y sampletable por el nombre de la tabla de destino.

  4. Reemplace por UserName_column una columna de la tabla que contiene nombres de usuario.

  5. Reemplace WHERE @UserName = USER_NAME(); por una WHERE cláusula que coincida con el filtro de seguridad basado en predicado deseado. Por ejemplo, esto filtra los datos en los que la UserName columna, asignada al @UserName parámetro, coincide con el resultado de la función del sistema USER_NAME().

  6. Repita estos pasos para crear directivas de seguridad para otras tablas si es necesario.

3. Comprobar la seguridad a nivel de filas

  1. Inicie sesión en Fabric como usuario que sea miembro de un rol con una directiva de seguridad asociada. Use la consulta siguiente para comprobar el valor que debe coincidir en la tabla.

    SELECT USER_NAME() 
    
  2. Consulte las tablas de base de datos para comprobar que la seguridad de nivel de fila funciona según lo previsto. Los usuarios solo deben ver los datos que satisfacen el predicado de seguridad definido en su rol. Por ejemplo:

    SELECT * FROM sampleschema.sampletable
    
  3. Los resultados filtrados similares para el usuario se filtrarán con otras aplicaciones que usan la autenticación de Microsoft Entra para el acceso a la base de datos.

4. Supervisión y mantenimiento de la seguridad de nivel de fila

Supervise y actualice periódicamente las directivas de seguridad de nivel de fila a medida que evolucionan los requisitos de seguridad. Realice un seguimiento de las asignaciones de roles y asegúrese de que los usuarios tengan el acceso adecuado.