|
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. O Protheus precisa de acesso aos dados no banco de dados para correto funcionamento, portanto, não recomendamos que o novo usuário seja utilizado com o Protheus.
Este procedimento criará um novo usuário no banco de dados que não possui visualização aos dados que devem ser mascarados. Para o Protheus, isto significa que seria necessária a criação de um novo ambiente no DBAccess. Não é recomendada a criação de dois ambientes que apontem para a mesma base de dados, pois isto pode gerar erros decorrentes de acessos concorrentes ao mesmo registro. Caso opte por prosseguir com a configuração para o Protheus, certifique-se que este ambiente (mascarado) não será acessado junto ao ambiente padrão. Ressaltamos que não recomendamos a criação de um novo ambiente no DBAccess que aponta para a mesma base de dados, dada a possibilidade de comprometimento do ambiente. A totalidade do impacto no funcionamento da aplicação não foi medida, já que a todo instante o produto Protheus é atualizado. |
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:
USE master GO GRANT VIEW SERVER STATE to TPPRD; GO GRANT ALTER ANY CONNECTION to TPPRD; GO GRANT SELECT ON sys.dm_tran_locks to TPPRD; GO |
• Usuário TPPRDMASK - Usuário sem visualização à dados protegidos
Além das permissões acima, aplicar os seguintes grants:
USE master GO GRANT VIEW SERVER STATE to TPPRDMASK; GO GRANT ALTER ANY CONNECTION to TPPRDMASK; GO GRANT SELECT ON sys.dm_tran_locks to TPPRDMASK; GO |
USE TPPRD GO grant execute to TPPRDMASK; GO REVOKE UNMASK TO TPPRDMASK; GO |
A criação da conexão ODBC do usuário TPPRDMASK deve ser feita da mesma maneira que a criação da conexão ODBC do usuário TPPRD, e as únicas alterações serão no nome da fonte de dados e no usuário para conexão. |
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.
Realize também a criação do ODBC para o usuário sem permissão de visualização. |
Configure a conexão DBAccess para ambos os usuários.
A configuração dos usuários precisa estar no mesmo DBAccess. Caso deseje utilizar o usuário com máscara de dados, 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:
Atenção à possíveis erros
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:
Exemplo de usoA 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:
|
Os campos e tabelas aqui descritos são sugestões por, possivelmente, conterem dados que devam ser protegidos, que possam comprometer a privacidade dos usuários, clientes ou outros atores envolvidos. Certifique-se que os campos devem ser ocultados e que o uso desta feature não comprometerá o funcionamento de sua operação. Realize a validação dos campos mascarados em um ambiente de homologação antes de efetuar esta alteração na base de produção para garantir que os dados necessários serão mascarados e não haverão outras consequências. |