Compartilhar via


Como implementar o mascaramento de dados dinâmicos no Synapse Data Warehouse

Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric

O mascaramento de dados dinâmicos é uma tecnologia de proteção de dados de ponta que ajuda as organizações a proteger informações confidenciais em seus bancos de dados. Ele permite que você defina regras de mascaramento para colunas específicas, garantindo que somente usuários autorizados vejam os dados originais enquanto os ocultam para outras pessoas. O mascaramento de dados dinâmicos fornece uma camada adicional de segurança alterando dinamicamente os dados apresentados aos usuários, com base em suas permissões de acesso.

Para obter mais informações, consulte Mascaramento de dados dinâmicos no armazenamento de dados do Fabric.

Pré-requisitos

Antes de começar, certifique-se de que você tenha o seguinte:

  1. Um workspace do Microsoft Fabric com capacidade ativa ou capacidade de avaliação.
  2. Um Warehouse.
    1. O mascaramento de dados dinâmicos funciona no ponto de extremidade de análise do SQL. Você pode adicionar máscaras a colunas existentes usando ALTER TABLE ... ALTER COLUMN como demonstrado posteriormente neste artigo.
    2. Este exercício usa um Warehouse.
  3. Para administrar, um usuário com os direitos de Administrador, Membro ou Colaborador no workspace ou permissões elevadas no Warehouse.
    1. Neste tutorial, a "conta de administrador".
  4. Para testar, um usuário sem os direitos de Administrador, Membro ou Colaborador no workspace e sem permissões elevadas no Warehouse.
    1. Neste tutorial, o "usuário de teste".

1. Conectar

  1. Abra o workspace do Fabric e navegue até o Warehouse ao qual você deseja aplicar o mascaramento de dados dinâmicos.
  2. Entre usando uma conta com acesso elevado no Warehouse, função Administrador/Membro/Colaborador no workspace ou Permissões de Controle no Warehouse.

2. Configurar mascaramento de dados dinâmicos

  1. Entre no portal do Fabric com sua conta de administrador.

  2. No espaço de trabalho do Fabric, navegue até o Warehouse e o ponto de extremidade de análise do SQL para Lakehouse.

  3. Selecione a opção Nova consulta SQL e, em Branco, selecione Nova consulta SQL.

  4. No script SQL, defina regras de mascaramento de dados dinâmicos usando a cláusula MASKED WITH FUNCTION. Por exemplo:

    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
    
    • A coluna FirstName mostra apenas os dois primeiros e últimos caracteres da cadeia de caracteres, com - no meio.
    • A coluna LastName mostra XXXX.
    • A coluna SSN exibe XXX-XX- seguida pelos últimos quatro caracteres da cadeia de caracteres.
  5. Clique no botão Executar para executar o script.

  6. Confirme a execução do script.

  7. O script aplicará as regras de mascaramento de dados dinâmicos especificadas às colunas designadas em sua tabela.

3. Testar mascaramento de dados dinâmicos

Depois que as regras de mascaramento de dados dinâmicos forem aplicadas, você poderá testar o mascaramento consultando a tabela com um usuário de teste que não tem os direitos de Administrador, Membro ou Colaborador no workspace ou permissões elevadas no Warehouse.

  1. Entre em uma ferramenta como o Azure Data Studio ou o SQL Server Management Studio como o usuário de teste, por exemplo TestUser@contoso.com.
  2. Como usuário de teste, execute uma consulta na tabela. Os dados mascarados são exibidos de acordo com as regras que você definiu.
    SELECT * FROM dbo.EmployeeData;
    
  3. Com sua conta de administrador, conceda a permissão UNMASK do usuário de teste.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Como usuário de teste, verifique se um usuário que entrou como TestUser@contoso.com pode ver dados desmascarados.
    SELECT * FROM dbo.EmployeeData;
    
  5. Com sua conta de administrador, revogue a permissão UNMASK do usuário de teste.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Verifique se o usuário de teste não pode ver dados desmascarados, apenas os dados mascarados.
    SELECT * FROM dbo.EmployeeData;
    
  7. Com sua conta de administrador, você pode conceder e revogar a permissão UNMASK para uma função
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Gerenciar e modificar regras de mascaramento de dados dinâmicos

Para gerenciar ou modificar regras de mascaramento de dados dinâmicos existentes, crie um novo script SQL.

  1. Você pode adicionar uma máscara a uma coluna existente usando a cláusula MASKED WITH FUNCTION:

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

5. Limpeza

  1. Para limpar esta tabela de teste:
    DROP TABLE dbo.EmployeeData;