Histórico da Página
Configuração da feature
Expandir | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Configuração da feature
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. 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.
Informações | ||
---|---|---|
| ||
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. Não é recomendada 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 passa por atualizações. |
Aviso | ||
---|---|---|
| ||
Por questões de compatibilidade, certos tipos de dados do Protheus são armazenados como outros tipos, e são convertidos ao serem armazenados no banco de dados/carregados para os programas. Exemplos comuns são os tipos de dados DATE, que são armazenados como CARACTERE no banco de dados. Ao acessar o Protheus com um usuário que não visualiza dados mascarados, os campos do tipo DATE não serão convertidos corretamente por conta da máscara, e consequentemente ocorrerão erros ao abrir alguma rotina que traz esta informação. O mascaramento não impede que usuários mal-intencionados tentem obter informações diretamente do banco de dados por meio de consultas com WHERE ou com técnicas de bruteforce. Seja do fornecedor de banco de dados ou da própria TOTVS, não utilize um único método para proteger as informações retidas em seus sistemas. |
Criação do
usuário no banco de dados
Neste exemplo, serão criados dois usuários:
P12133TPPRD, que possui permissão total de acesso aos dados e deve ser criado conforme grants mínimos para o funcionamento do DBAccess; e
P12133MASKTPPRDMASK, que visualizará apenas a máscara em dados sigilosos.
• Usuário P12133 TPPRD - Usuário padrão padrãoPermissões selecionadas visualizadas pelo management studio:
As permissões padrão, que devem ser aplicadas, são
Estas são as permissões padrão
: db_owner
,e public. Além destas, aplique também as permissões
abaixoVIEW SERVER STATE, ALTER ANY CONNECTION e SELECT ON sys.dm_tran_locks:
Bloco de código | ||
---|---|---|
| ||
USE master
GO
GRANT VIEW SERVER STATE to P12133TPPRD; GO GRANT ALTER ANY CONNECTION toP12133 TPPRD; GO GRANT SELECT ON sys.dm_tran_locks toP12133 TPPRD; GOUsuário P12133MASK |
• Usuário TPPRDMASK - Usuário sem visualização à dados
sensíveisprotegidos
Além das permissões acima, aplicar os seguintes grants:
Bloco de código | ||
---|---|---|
| ||
USE master
GO
GRANT VIEW SERVER STATE to P12133MASKTPPRDMASK; GO
GRANT ALTER ANY CONNECTION to P12133MASKTPPRDMASK; GO
GRANT SELECT ON sys.dm_tran_locks to P12133MASKTPPRDMASK;
GO |
Bloco de código | ||
---|---|---|
| ||
USE P12133TPPRD GO
grant execute to P12133MASKTPPRDMASK; GO
REVOKE UNMASK TO P12133MASKTPPRDMASK; GO |
Expandir | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Criação de conexão ODBC | ||||||||||
Observação: Da mesma forma que foi criado a conexão ODBC do usuário (P12133) do banco de dados com todos acessos, realizar a criação da conexão ODBC do usuário (P12133MASK) de banco de dados com acesso restrito aos dados. | ||||||||||
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.
Criação da conexão DBAccessConfigure a conexão DBAccess para ambos os usuários. A | ||||||||||
Expandir | ||||||||||
| ||||||||||
ATENÇÃO: a configuração dos usuários precisa estar no mesmo DBAccess. NÃO colocar 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. Isso ) 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: |
Expandir | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
title | Atenção à possíveis erros
Exemplo de erro?
Exemplo de erro ao configurar uma coluna sequencial com mascaramento: TC_Bof - NO CONNECTION Neste caso, foi mascarada Vamos usar como exemplo a coluna B1_COD da tabela : SB1990:ALTER TABLE dbo. SB1990 ALTER COLUMN B1_COD ADD MASKED WITH (FUNCTION = 'partial(2,"xxxx",0)'); Como essa tabela é sequencial, gerou o seguinte erro quando foi incluso a Máscara:
Para remover a Máscara máscara de Dadosdados, realizamos utilize o seguinte comando:
| ||||||||||||||||
Expandir | |||||||||||||||||
title | Relação de campos sugeridos para mascaramentoExemplo de usoCriamos a A máscara de dados foi criada na coluna: ‘A1_NOME’ na tabela SA1990:
O usuário SEM sem acesso aos dados, visualiza da seguinte forma os dados: O usuário COM com acesso aos dados, visualiza da seguinte forma os dados: Para remover a Máscara máscara de Dadosdados, realizamos execute o seguinte comando:
| ||||||||||||||||
Expandir | |||||||||||||||||
Aviso | ||
---|---|---|
| ||
Os campos e tabelas aqui descritos são sugestões por, possivelmente, conterem dados sensíveisque 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çãoutilizar o usuário sem permissão de visualização na base de produção, para garantir que os dados necessários serão mascarados e não haverão outras consequências. |