Compartir vía


Cómo implementar el enmascaramiento dinámico de datos en Synapse Data Warehouse

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

El enmascaramiento de datos dinámico es una tecnología de protección de datos de vanguardia que ayuda a las organizaciones a proteger la información confidencial dentro de sus bases de datos. Permite definir reglas de enmascaramiento para columnas específicas, lo que garantiza que solo los usuarios autorizados vean los datos originales a la vez que se ocultan para otros usuarios. El enmascaramiento de datos dinámico proporciona una capa adicional de seguridad mediante la modificación dinámica de los datos presentados a los usuarios, en función de sus permisos de acceso.

Para obtener más información, consulte Enmascaramiento de datos dinámico en almacenamientos de datos de Fabric.

Requisitos previos

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

  1. Un área de trabajo de Microsoft Fabric con una capacidad activa o una capacidad de prueba.
  2. Un almacén.
    1. El enmascaramiento de datos dinámico funciona en el punto de conexión de análisis SQL. Puede agregar máscaras a las columnas existentes mediante ALTER TABLE ... ALTER COLUMN, como se muestra más adelante en este artículo.
    2. En este ejercicio se usa un almacén.
  3. Para la administración, un usuario con los derechos de administrador, miembro o colaborador en el área de trabajo o permisos elevados en el almacén.
    1. En este tutorial, la "cuenta de administrador".
  4. Para la prueba, un usuario sin los derechos de administrador, miembro o colaborador en el área de trabajo y sin permisos elevados en el almacén.
    1. En este tutorial, el "usuario de prueba".

1. Conectar

  1. Abra el área de trabajo de Fabric y vaya al almacén en el que desea aplicar el enmascaramiento de datos dinámico.
  2. Inicie sesión con una cuenta con acceso elevado en el almacén, ya sea el rol de administrador, miembro o colaborador en el área de trabajo o permisos de control en el almacenamiento.

2. Configuración del enmascaramiento de datos dinámicos

  1. Inicie sesión en el portal de Fabric con su cuenta de administrador.

  2. En el área de trabajo de Fabric, vaya al almacén y al punto de conexión de análisis SQL para el almacén de lago.

  3. Seleccione la opción Nueva consulta SQL y, en En blanco, seleccione Nueva consulta SQL.

  4. En el script SQL, defina las reglas de enmascaramiento de datos dinámico mediante la cláusula MASKED WITH FUNCTION. Por ejemplo:

    CREATE TABLE dbo.EmployeeData (
        EmployeeID INT
        ,FirstName VARCHAR(50) MASKED WITH (FUNCTION = 'partial(1,"-",2)') NULL
        ,LastName VARCHAR(50) MASKED WITH (FUNCTION = 'default()') NULL
        ,SSN CHAR(11) MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)') NULL
        ,email VARCHAR(256) NULL
        );
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (1, 'TestFirstName', 'TestLastName', '123-45-6789','email@youremail.com');
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (2, 'First_Name', 'Last_Name', '000-00-0000','email2@youremail2.com');
    GO
    
    • La columna FirstName muestra solo los dos primeros y últimos dos caracteres de la cadena, con - en el centro.
    • La columna LastName muestra XXXX.
    • La columna SSN muestra XXX-XX-, seguido de los cuatro últimos caracteres de la cadena.
  5. Seleccione el botón Ejecutar para ejecutar el script.

  6. Confirme la ejecución del script.

  7. El script aplicará las reglas de enmascaramiento de datos dinámico especificadas a las columnas designadas de la tabla.

3. Probar el enmascaramiento de datos dinámico

Una vez aplicadas las reglas de enmascaramiento de datos dinámico, puede probar el enmascaramiento consultando la tabla con un usuario de prueba que no tenga derechos de administrador, miembro o colaborador en el área de trabajo o permisos elevados en el almacenamiento.

  1. Inicie sesión en una herramienta como Azure Data Studio o SQL Server Management Studio como usuario de prueba, por ejemplo TestUser@contoso.com.
  2. Como usuario de prueba, ejecute una consulta en la tabla. Los datos enmascarados se muestran según las reglas definidas.
    SELECT * FROM dbo.EmployeeData;
    
  3. Con la cuenta de administrador, conceda el permiso UNMASK del usuario de prueba.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Como usuario de prueba, compruebe que un usuario que ha iniciado sesión como TestUser@contoso.com puede ver los datos desenmascarados.
    SELECT * FROM dbo.EmployeeData;
    
  5. Con la cuenta de administrador, revoque el permiso UNMASK del usuario de prueba.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Compruebe que el usuario de prueba no puede ver datos desenmascarados, solo los datos enmascarados.
    SELECT * FROM dbo.EmployeeData;
    
  7. Con la cuenta de administrador, puede conceder y revocar el permiso UNMASK a un rol
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Administrar y modificar reglas de enmascaramiento de datos dinámico

Para administrar o modificar las reglas existentes de enmascaramiento de datos dinámico, cree un nuevo script SQL.

  1. La cláusula MASKED WITH FUNCTION permite agregar máscaras a columnas existentes:

    ALTER TABLE dbo.EmployeeData
    ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()');
    GO
    
    ALTER TABLE dbo.EmployeeData 
    ALTER COLUMN [email] DROP MASKED;
    

5. Limpieza

  1. Para limpiar esta tabla de pruebas:
    DROP TABLE dbo.EmployeeData;