Atualmente, a proteção de dados e segurança da informação têm sido enfatizadas como itens extremamente importantes, se não cruciais, ao se lidar com dados de terceiros. Mesmo com proteções na camada de aplicação, uma vez que um usuário tenha acesso direto ao banco de dados, informações sigilosas podem ser acessadas.
O acesso de terceiros à base de dados pode ser necessário por diversos motivos, sejam referentes à troubleshooting para encontrar a causa de alguma inconsistência, à criação de queries e rotinas customizadas, manutenções ou quaisquer outras razões que tornem isto necessário. Nesta situação, o Data Masking (Mascaramento de dados) para o SQL Server mostra-se como uma ferramenta viável para proteger dados que não devem ser expostos, ao limitar a exposição destes para usuários sem os privilégios necessários.
O data masking é uma ferramenta nativa do banco de dados SQL Server, e pode impactar o funcionamento do produto Protheus. Leia este documento atentamente antes de realizar quaisquer alterações em seu banco de dados, e caso opte por aplicar a feature, o faça com o apoio de uma pessoa que seja DBA. |
|
Não é necessário realizar instalações à parte, já que esta feature está disponível nativamente nas versões supracitadas.
Para fins de comparação, dois usuários serão criados, sendo um com permissão para visualização dos dados e outro sem permissão. A criação de um segundo usuário que visualizará apenas os dados necessários, e não possuirá permissão de visualização total, é essencial para o uso da feature.
Neste exemplo, serão criados dois usuários: TPPRD, que possui permissão total de acesso aos dados e deve ser criado conforme grants mínimos para o funcionamento do DBAccess; e TPPRDMASK, que visualizará apenas a máscara em dados sigilosos. Usuário TPPRD - Usuário padrãoPermissões selecionadas visualizadas pelo management studio:
As permissões padrão, que devem ser aplicadas, são: db_owner e public. Além destas, aplique também as permissões VIEW SERVER STATE, ALTER ANY CONNECTION e SELECT ON sys.dm_tran_locks:
Usuário TPPRDMASK - Usuário sem visualização à dados protegidosAlém das permissões acima, aplicar os seguintes grants:
|
Abra o ODBC Data Source Administrator (administrador de fonte de dados ODBC), clique em Add... (Adicionar...) e selecione o driver ODBC para SQL Server. Em seguida, insira o nome da fonte de dados, uma descrição caso desejado, e o IP do servidor onde a base de dados está localizada. Em seguida, clique em Next. Insira o usuário de conexão à base de dados. Clique em Next. Selecione a opção para alterar a database padrão para a base do Protheus. Clique em Next. Não é necessário qualquer alteração na tela seguinte. Clique em Finish, e faça o teste do data source para validar se a conexão está ok.
|
Configure a conexão DBAccess para ambos os usuários. A configuração dos usuários precisa estar no mesmo DBAccess. NÃO coloque os dois usuários em DBAccess separados, exceto se estiver usando o DBAccess em modelo distribuído, pois isso pode gerar DeadLocks no banco de dados. Exemplo de configuração para o usuário com permissão de visualização: Exemplo de configuração para o usuário sem permissão de visualização: ![]() |
Exemplo de erro ao configurar uma coluna sequencial com mascaramento: TC_Bof - NO CONNECTION Neste caso, foi mascarada a coluna B1_COD da tabela SB1990. Para remover a máscara de dados, utilize o seguinte comando:
|
A máscara de dados foi criada na coluna: ‘A1_NOME’ na tabela SA1990:
O usuário SEM acesso aos dados, visualiza da seguinte forma os dados: O usuário COM acesso aos dados, visualiza da seguinte forma os dados: Para remover a Máscara de Dados, execute o seguinte comando:
|
|