Em um computador compartilhado, tenho um projeto QGIS vinculado a um banco de dados PostGIS que contém meus dados. Se um usuário quiser acessar as camadas do banco de dados, ele precisará inserir as credenciais do banco de dados, então tudo bem.
No entanto, eu já efetuei logon e importei camadas do meu banco de dados para o QGIS e as manipulei no QGIS (opções de estilo baseadas em metadados, etc.) ... Qualquer pessoa que abrir meu projeto QGIS poderá visualizar essas camadas no QGIS, e pode, portanto, ver os dados que desejo proteger em meu banco de dados.
Existe uma maneira de proteger com senha meu projeto QGIS?
Respostas:
Sua melhor aposta será não salvar as credenciais de banco de dados em seu projeto (o QGIS até avisa sobre o perigo potencial de salvar suas credenciais quando você adiciona o banco de dados pela primeira vez).
Quando você abre o projeto, suas credenciais são solicitadas imediatamente antes que quaisquer camadas do banco de dados sejam renderizadas.
Como alternativa, você pode:
Para acompanhar o risco de salvar suas credenciais de banco de dados no QGIS, consulte esta pergunta . É trivial para qualquer pessoa com a menor curiosidade ver suas credenciais em texto simples.
fonte
username=foo password=bar
. O problema que eu vejo é que, meu banco de dados de teste apenas usou o login / senha do administrador, ou seja, postgres / postgres. Depois que eu decidi usar a pilha PostGIS / QGIS, mudei a senha. Embora não tenha digitado o nome de usuário / senha correto no QGIS, o acesso a camadas que eu havia importado com a senha atualizada foi bloqueado, por algum motivo as camadas mais antigas (importadas com a configuração do postgres / postgres) estavam OK, pois as credenciais foram salvas no banco de dados.Havia uma pergunta semelhante que respondi aqui . Eu não fui muito longe na criação de uma idéia de como criar o formulário de login, embora muita lógica esteja lá.
Se você pode confiar que seus usuários não tentarão acessar seu código python (ou compilar um arquivo .exe para torná-lo ainda mais difícil), você poderá criar um script que abrirá o projeto com as camadas carregadas ou um projeto vazio se eles não puderem fornecer as credenciais corretas.
Falou-se em verificar as informações em um servidor para um método mais seguro, que você pode implementar na sua instância do Postgres / PostGIS. Você pode encontrar como uma parada mais simples para codificar em seu nome de usuário e uma senha com hash em seu código python que alimenta uma API para verificação. Portanto, deixe seu servidor fazer a comparação em vez do código da área de trabalho. Armazenar sua senha com hash localmente não é a maneira mais segura de fazer as coisas, mas, dependendo do seu algoritmo de hash, pode ser muito difícil decifrá-lo .
Por fim, é provavelmente mais seguro fornecer suas credenciais todas as vezes, a menos que você saiba que os outros usuários não têm conhecimento de computador o suficiente para descobrir qualquer um dos métodos automatizados que você forneceria.
fonte