24.2. Fluxos de trabalho de autenticação de usuário
24.2.1. Autenticação HTTP(S)
Uma das conexões de recursos mais comuns é via HTTP(S), por exemplo. servidores de mapeamento da web e plug-ins de métodos de autenticação geralmente funcionam para esses tipos de conexões. Os plug-ins de método têm acesso ao objeto de solicitação HTTP e podem manipular tanto a solicitação quanto seus cabeçalhos. Isso permite muitas formas de autenticação baseada na Internet. Ao conectar via HTTP(S) usando o método de autenticação padrão de nome de usuário/senha, tentará a autenticação HTTP Básico na conexão.
24.2.2. Autenticação de Base de Dados
Conexões com recursos de banco de dados são geralmente armazenadas como pares chave=valor
, que irão expor nomes de usuários e (opcionalmente) senhas, se não estiver usando uma configuração de autenticação. Ao configurar com o sistema de autenticação, o chave=valor
será uma representação abstrata das credenciais, por exemplo, authfg=81t21b9
.
24.2.3. Autenticação de PKI
Ao configurar componentes PKI no sistema de autenticação, você tem a opção de importar componentes para o banco de dados ou referenciar arquivos de componentes armazenados em seu sistema de arquivos. O último pode ser útil se esses componentes forem alterados com frequência ou quando os componentes forem substituídos por um administrador do sistema. Em qualquer caso, você precisará armazenar qualquer senha necessária para acessar as chaves privadas no banco de dados.
Todos os componentes PKI podem ser gerenciados em editores separados dentro do Gerenciador de Certificados, que pode ser acessado na aba: guilabel: Autenticação na caixa de diálogo Opções do QGIS (:seleção de menus: Configurações –> Opções) por clicando no botão: guilabel: Gerenciar Certificados
No: guilabel: Gerenciador de certificados, existem editores para Identidades, Servidores e Autoridades. Cada um deles está contido em suas próprias guias e são descritos abaixo na ordem em que são encontrados no gráfico de fluxo de trabalho acima. A ordem de tabulação é relativa aos editores acessados com frequência quando você estiver acostumado com o fluxo de trabalho.
Nota
Como todas as edições do sistema de autenticação são gravadas imediatamente no banco de dados de autenticação, não há necessidade de clicar na caixa de diálogo: guilabel: Opções : guilabel: OK para que quaisquer alterações sejam salvas. Isso é diferente de outras configurações na caixa de diálogo Opções.
24.2.3.2. Identidades
Você pode gerenciar pacotes de identidade de cliente disponíveis na guia: guilabel: Identidades no: guilabel: Gerenciador de certificados na guia Autenticação da caixa de diálogo Opções do QGIS. Uma identidade é o que o autentica em relação a um serviço habilitado para PKI e geralmente consiste em um certificado de cliente e uma chave privada, como arquivos separados ou combinados em um único arquivo “agregado”. O pacote ou chave privada geralmente é protegido por senha.
Depois de importar quaisquer Autoridades de Certificação (CAs), você pode importar opcionalmente quaisquer pacotes de identidade para o banco de dados de autenticação. Se você não desejar armazenar as identidades, poderá fazer referência aos caminhos do sistema de arquivos do componente em uma configuração de autenticação individual.
Ao importar um pacote de identidade, ele pode ser protegido por senha ou desprotegido e pode conter certificados de CA formando uma cadeia de confiança. As certificações da cadeia de confiança não serão importadas aqui; eles podem ser adicionados separadamente na aba Autoridades.
Após a importação, o certificado e a chave privada do pacote serão armazenados no banco de dados, com o armazenamento da chave criptografado usando a senha mestra do QGIS. O uso subsequente do pacote armazenado do banco de dados exigirá apenas a entrada da senha mestra.
Os pacotes de identidade pessoal que consistem em componentes PEM/DER (.pem/.der) e PKCS#12 (.p12/.pfx) são suportados. Se uma chave ou pacote for protegido por senha, a senha será necessária para validar o componente antes da importação. Da mesma forma, se o certificado do cliente no pacote for inválido (por exemplo, sua data de vigência ainda não foi iniciada ou expirou), o pacote não poderá ser importado.
24.2.4. Lidando com camadas ruins
Ocasionalmente, o ID de configuração de autenticação salvo com um arquivo de projeto não é mais válido, possivelmente porque o banco de dados de autenticação atual é diferente de quando o projeto foi salvo pela última vez ou devido a uma incompatibilidade de credenciais. Nesses casos, a caixa de diálogo Manusear camadas ruins será apresentada na inicialização do QGIS.
Se uma fonte de dados tiver um ID de configuração de autenticação associado a ela, você poderá editá-la. Fazer isso editará automaticamente a cadeia de origem da fonte de dados, da mesma forma que abrir o arquivo de projeto em um editor de texto e editar a cadeia de origem.
24.2.5. Alterando o ID de configuração de autenticação
Ocasionalmente, você precisará alterar o ID de configuração de autenticação associado ao acesso a um recurso. Há casos em que isso é útil:
O ID de configuração de autenticação do recurso não é mais válido: isso pode ocorrer quando você alterna bancos de dados de autenticação e precisa alinhar uma nova configuração para o ID já associado a um recurso.
Arquivos de projeto compartilhados: se você pretendia compartilhar projetos entre usuários, por exemplo, por meio de um servidor de arquivos compartilhado, você pode predefinir um caractere de 7 caracteres (contendo a-z e/ou 0-9) associado ao recurso. Em seguida, os usuários individuais alteram o ID de uma configuração de autenticação específica para suas credenciais do recurso. Quando o projeto é aberto, o ID é encontrado no banco de dados de autenticação, mas as credenciais são diferentes por usuário.
Aviso
Alterar o ID de configuração de autenticação é considerado uma operação avançada e só deve ser feito com total conhecimento do motivo pelo qual é necessário. É por isso que há um botão de bloqueio que precisa ser clicado para desbloquear o campo de texto do ID antes de editar o ID.
24.2.6. Suporte ao servidor QGIS
Ao usar um arquivo de projeto, com camadas que possuem configurações de autenticação, como base para um mapa no QGIS Servidor, há algumas etapas de configuração adicionais necessárias para o QGIS carregar os recursos:
O banco de dados de autenticação precisa estar disponível
A senha mestra do banco de dados de autenticação precisa estar disponível
Ao instanciar o sistema de autenticação, o Servidor irá criar ou usar o arquivo qgis-auth.db
no ativo perfil de usuário, ou no diretório definido pela variável de ambiente QGIS_AUTH_DB_DIR_PATH
. Pode ser que o usuário do Servidor não tenha um diretório HOME, nesse caso, use a variável de ambiente para definir um diretório que o usuário do Servidor tenha permissão de leitura/gravação e não esteja localizado dentro dos diretórios acessíveis pela web.
Para passar a senha mestra para o Servidor, escreva-a na primeira linha do arquivo em um caminho no sistema de arquivos legível pelo usuário de processos do Servidor e definido usando a variável de ambiente QGIS_AUTH_SENHA_ARQUIVO
. Certifique-se de limitar o arquivo como legível apenas pelo usuário do processo do servidor e não armazene o arquivo em diretórios acessíveis pela web.
Nota
A variável QGIS_AUTH_SENHA_ARQUIVO
será removida do ambiente do Servidor imediatamente após o acesso.
24.2.7. Exceções do servidor SSL
Você pode gerenciar as configurações e exceções do servidor SSL na guia Servidores na seção Autenticação da caixa de diálogo Opções do QGIS
Às vezes, ao se conectar a um servidor SSL, ocorrem erros com o “aperto de mão” SSL ou com o certificado do servidor. Você pode ignorar esses erros ou criar uma configuração de servidor SSL como exceção. Isso é semelhante a como os navegadores da Web permitem que você substitua erros de SSL, mas com um controle mais granular.
Aviso
Você não deve criar uma configuração de servidor SSL a menos que tenha conhecimento completo de toda a configuração SSL entre o servidor e o cliente. Em vez disso, relate o problema ao administrador do servidor.
Nota
Algumas configurações de PKI usam uma cadeia confiável de CA completamente diferente para validar identidades de clientes da cadeia usada para validar o certificado do servidor SSL. Em tais circunstâncias, qualquer configuração criada para o servidor de conexão não corrigirá necessariamente um problema com a validação da identidade do cliente, e somente o emissor da identidade do cliente ou o administrador do servidor podem corrigir o problema.
Você pode pré-configurar uma configuração de servidor SSL clicando em |Adicionar simbologia| botão. Como alternativa, você pode adicionar uma configuração quando ocorrer um erro de SSL durante uma conexão e for apresentada uma caixa de diálogo Erro SSL (onde o erro pode ser ignorado temporariamente ou salvo no banco de dados e ignorado):
Depois que uma configuração SSL é salva no banco de dados, ela pode ser editada ou excluída.
Se você quiser pré-configurar uma configuração SSL e a caixa de diálogo de importação não estiver funcionando para a conexão do seu servidor, você pode acionar manualmente uma conexão através do Console Python executando o seguinte código (substituir https://bugreports .qt-project.org
com a URL do seu servidor):
from qgis.PyQt.QtNetwork import QNetworkRequest
from qgis.PyQt.QtCore import QUrl
from qgis.core import QgsNetworkAccessManager
req = QNetworkRequest(QUrl('https://bugreports.qt-project.org'))
reply = QgsNetworkAccessManager.instance().get(req)
Isso abrirá uma caixa de diálogo de erro SSL se ocorrer algum erro, onde você pode optar por salvar a configuração no banco de dados.