Partilhar via


Como implementar o mascaramento dinâmico de dados no Fabric Data Warehouse

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

O mascaramento dinâmico de dados é uma tecnologia de ponta de proteção de dados 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 apenas usuários autorizados vejam os dados originais enquanto os ocultam para outros. O mascaramento dinâmico de dados 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 dinâmico de dados no data warehousing da malha.

Pré-requisitos

Antes de começar, certifique-se de que tem o seguinte:

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

1. Ligar

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

2. Configurar o mascaramento de dados dinâmicos

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

  2. No espaço de trabalho Malha, navegue até o Armazém.

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

  4. No script SQL, defina regras de mascaramento de dados dinâmicos usando a MASKED WITH FUNCTION cláusula. 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 FirstName coluna mostra apenas o primeiro e os dois últimos caracteres da cadeia de caracteres, com - no meio.
    • A LastName coluna mostra XXXX.
    • A SSN coluna é mostrada XXX-XX- , seguida pelos últimos quatro caracteres da cadeia de caracteres.
  5. Selecione o 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 na tabela.

3. Teste o 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 tenha os direitos de Administrador, Membro ou Colaborador no espaço de trabalho ou permissões elevadas no Depósito.

  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 UNMASK permissão 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 conectado como TestUser@contoso.com pode ver dados desmascarados.
    SELECT * FROM dbo.EmployeeData;
    
  5. Com sua conta de administrador, revogue a UNMASK permissão 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 UNMASK permissão 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 MASKED WITH FUNCTION cláusula:

    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 testes:
    DROP TABLE dbo.EmployeeData;