21.1. Panoramica del sistema di autenticazione
21.1.1. Database di autenticazione
Il nuovo sistema di autenticazione memorizza le configurazioni di autenticazione in un file database SQLite memorizzato, in modo predefinito, nel <profile directory>/qgis-auth.db
.
Questo database di autenticazione può essere spostato fra le installazioni di QGIS senza che vengano coinvolte altre preferenze utente di QGIS correnti, dato che è completamente separato dalle normali impostazioni utente di QGIS. Un ID di configurazione (una stringa casuale alfanumerica di 7 caratteri) viene generata quando viene scritta la configurazione iniziale nel database. Ciò rappresenta la configurazione, permettendo così che l’ID venga memorizzato in componenti dell’applicazione come testo normale, (come progetto, plugin o files di impostazioni) senza divulgazione delle relative credenziali associate.
Nota
La cartella genitore di qgis-auth.db può essere impostata usando la seguente variabile d’ambiente, QGIS_AUTH_DB_DIR_PATH
, oppure impostata sulla linea di comando durante il lancio con l’opzione -authdbdirectory
.
21.1.2. Password master
Per memorizzare o accedere ad informazioni sensibili all’interno del database, un utente deve definire una master password. Una nuova master password viene richiesta e verificata quando si memorizzano inizialmente tutti i dati crittografati nel database. Quando si accede ad informazioni sensibili, viene richiesta all’utente la master password. La password viene quindi memorizzata nella cache per il resto della sessione (fino a quando l’applicazione viene chiusa), a meno che l’utente scelga manualmente un’azione per cancellare il suo valore memorizzato nella cache. Alcune istanze di utilizzo del sistema di autenticazione non richiedono l’immissione della master password, ad esempio quando si seleziona una configurazione di autenticazione esistente o si applica una configurazione ad una configurazione del server (ad esempio quando si aggiunge un livello WMS).
Puoi scegliere di salvare la password nel Wallet/Keyring
del tuo computer.
Nota
Un percorso di un file contenente la master password può essere impostato utilizzando la seguente variabile d’ambiente, QGIS_AUTH_PASSWORD_FILE
.
21.1.2.1. Gestione della master password
Una volta impostata, la master password può essere reimpostata; la master password attuale sarà necessaria prima di reimpostarla. Durante questo processo, c’è un’opzione per generare un backup completo del database attuale.
Se l’utente dimentica la master password, non c’è modo di recuperarla o sovrascriverla. Non vi è inoltre alcun mezzo per recuperare informazioni criptate senza conoscere la master password.
Se un utente inserisce la password esistente in modo errato tre volte, la finestra di dialogo offrirà la possibilità di cancellare il database.
21.1.3. Configurazioni di Autenticazione
Puoi gestire le configurazioni di autenticazione da Configurazioni nella scheda Autenticazione della finestra di dialogo Opzioni QGIS ( ).
Usa il pulsante per aggiungere una nuova configurazione, il pulsante per rimuovere le configurazioni e il pulsante per modificare quelle esistenti.
Lo stesso tipo di operazioni per la gestione della configurazione dell’autenticazione (Aggiungi, Modifica e Rimuovi) può essere fatto durante la configurazione di una connessione di servizio, come ad esempio la configurazione di una connessione di un servizio OWS. Per far ciò, ci sono pulsanti di azione all’interno del selettore di configurazione per la gestione completa delle configurazioni presenti nel database di autenticazione. In questo caso, non c’è bisogno di andare alla scheda Configurazioni in Autenticazione delle opzioni QGIS a meno che non sia necessario eseguire una gestione della configurazione più completa.
Quando si crea o si modifica una configurazione di autenticazione, le informazioni richieste sono un nome, un metodo di autenticazione e qualsiasi altra informazione richiesta dal metodo di autenticazione (vedi maggiori informazioni sui tipi di autenticazione disponibili in Metodi di Autenticazione).
21.1.4. Metodi di Autenticazione
Le autenticazioni disponibili sono fornite dai plugin C++ nello stesso modo in cui i plugin dei fornitori di dati sono supportati da QGIS. Il metodo di autenticazione che può essere selezionato è relativo all’accesso necessario per la risorsa/provider, ad es. HTTP(S) o database, e qualora ci sia supporto sia nel codice QGIS che in un plugin. Come tale, alcuni plugin dei metodi di autenticazione potrebbero non essere applicabili ovunque venga mostrato un selettore di configurazione dell’autenticazione. Si può accedere a un elenco dei plugin disponibili per il metodo di autenticazione e delle risorse/provider compatibili andando a Autenticazione, fai clic sul pulsante Plugins Installati.
e, nella schedaI plugin possono essere creati per nuovi metodi di autenticazione che non richiedono la ricompilazione di QGIS. Dal momento che il supporto per i plugin è attualmente solo C++, QGIS dovrà essere riavviato per rendere il nuovo plugin disponibile all’utente. Assicurati che il plugin sia compilato con la stessa versione di QGIS se intendi aggiungerlo ad una installazione di destinazione esistente.
Nota
La Resource URL è attualmente una funzione non implementata che permetterà ad una particolare configurazione di poter essere scelta automaticamente quando ci si connette alle risorse ad un dato URL.
21.1.5. Master Password ed Utilità di Auth Config
Sotto il menu Opzioni (Autenticazione, ci sono diverse funzionalità utili per gestire il database di autenticazione e le configurazioni:
) nella schedaInserisci la password principale: apre la finestra di dialogo per l’immissione della password principale, indipendentemente dall’esecuzione di qualsiasi comando di autenticazione del database
Cancella la password principale salvata in cache: rimuove la password principale se è stata impostata
Ripristina password principale: apre una finestra di dialogo per cambiare la password principale (la password attuale deve essere conosciuta) e opzionalmente fare il backup del database corrente
Cancella la cache di accesso dell’autenticazione di rete: cancella la cache di autenticazione di tutte le connessioni
Cancellare automaticamente la cache di accesso dell’autenticazione di rete quandi si verificano errori SSL: la cache di connessione memorizza tutti i dati di autenticazione per le connessioni, anche quando la connessione fallisce. Se cambi le configurazioni di autenticazione o le autorità di certificazione, devi cancellare la cache di autenticazione o riavviare QGIS. Quando questa opzione è selezionata, la cache di autenticazione sarà automaticamente cancellata ogni volta che si verifica un errore SSL e tu scegli di interrompere la connessione
Integra la password principale con il tuo Password Manager: aggiunge la password principale al tuo Password Manager personale
Memorizza/aggiorna la password principale nel tuo Password Manager: aggiorna la password principale modificata nel tuo Password Manager
Cancella la password principale dal tuo Password Manager: cancella la password principale dal tuo Password Manager
Abilita il log di debug dell’aiuto per la password: abilita uno strumento di debug che conterrà tutte le informazioni di log dei metodi di autenticazione
Cancella le configurazioni di autenticazione salvate in cache: cancella la cache interna di ricerca delle configurazioni, usata per velocizzare le connessioni di rete. Questo non cancella la cache del gestore di accesso alla rete principale di QGIS, che richiede un riavvio di QGIS.
Rimuovi tutte le configurazioni di autenticazione: elimina nel database tutti i record di configurazione, senza rimuovere altri record memorizzati.
Cancella il database di autenticazione: pianifica un backup del database corrente e la ricostruzione completa della struttura delle tabelle del database. Le azioni sono programmate per un tempo successivo, per assicurare che altre operazioni, come il caricamento del progetto, non interrompano l’operazione o causino errori a causa di un database temporaneamente mancante.
21.1.6. Usare le configurazioni di autenticazione
Tipicamente, una configurazione di autenticazione è selezionata in una finestra di dialogo di configurazione per un servizio di rete (come WMS). Tuttavia, il widget di selezione può essere incorporato ovunque sia necessaria l’autenticazione o in funzionalità non-core, come in PyQGIS o plugin C++ di terze parti.
Quando si usa il selettore, Nessuna autenticazione viene visualizzato nel controllo del menu a comparsa quando non viene selezionato nulla, quando non ci sono configurazioni tra cui scegliere o quando una configurazione precedentemente assegnata non può più essere trovata nel database. I campi Tipo e Id sono di sola lettura e forniscono rispettivamente una descrizione del metodo di autenticazione e l’ID della configurazione.
21.1.7. Collegamenti Python
Tutte le classi e le funzioni pubbliche hanno collegamenti SIP, eccetto QgsAuthCrypto
, poiché la gestione dell’hashing della master password e della crittografia del database auth dovrebbe essere gestita dall’applicazione principale, e non tramite Python. Vedi Considerazioni sulla sicurezza riguardo all’accesso di Python.