20.1. Panoramica del sistema di autenticazione¶
20.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, siccome esso è 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 directory 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
.
20.1.2. Master password¶
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
.
20.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.
20.1.3. Configurazioni di Autenticazione¶
È possibile gestire le configurazioni di autenticazione da Configurations nella scheda Authentication 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 configurations in Authentication 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).
20.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 qualore 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 Authentication, fare clic sul pulsante Installed Plugins.
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. Assicurarsi che il plugin sia compilato con la stessa versione di QGIS se si intende 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.
20.1.5. Master Password ed Utilità di Auth Config¶
Sotto il menu Opzioni (Authentication, ci sono diverse azioni di utilità per gestire il database di autenticazione e le configurazioni:
) nella schedaInput master password: apre la finestra di immissione della password principale, indipendentemente dall’esecuzione di qualsiasi comando di autenticazione del database
Clear cached master password: unsets the master password if it has been set
Reset master password: opens a dialog to change the master password (the current password must be known) and optionally back up the current database
Clear network authentication access cache: clears the authentication cache of all connections
Automatically clear network authentication access cache on SSL errors: the connection cache stores all authentication data for connections, also when the connection fails. If you change authentication configurations or certification authorities, you should clear the authentication cache or restart QGIS. When this option is checked, the authentication cache will be automatically cleared every time an SSL error occurs and you choose to abort the connection
Integrate master password with your Wallet/Keyring: adds the master password to your personal Wallet/Keyring
Store/update the master password in your Wallet/Keyring: updates the changed master password in your Wallet/Keyring
Clear the master password from your Wallet/Keyring: deletes the master password from your Wallet/Keyring
Enable password helper debug log: enables a debug tool that will contain all the log information of the authentication methods
Clear cached authentication configurations: clears the internal lookup cache for configurations, used to speed up network connections. This does not clear QGIS’s core network access manager’s cache, which requires a relaunch of QGIS.
Remove all authentication configurations: clears the database of all configuration records, without removing other stored records.
Erase authentication database: schedules a backup of the current database and complete rebuild of the database table structure. The actions are scheduled for a later time, to ensure that other operations, like project loading, do not interrupt the operation or cause errors due to a temporarily missing database.
20.1.6. Using authentication configurations¶
Typically, an authentication configuration is selected in a configuration dialog for a network services (such as WMS). However, the selector widget can be embedded anywhere authentication is needed or in non-core functionality, like in third-party PyQGIS or C++ plugins.
When using the selector, No authentication is displayed in the pop-up menu control when nothing is selected, when there are no configurations to choose from, or when a previously assigned configuration can no longer be found in the database. The Type and Id fields are read-only and provide a description of the authentication method and the config’s ID respectively.
20.1.7. Python bindings¶
All classes and public functions have sip bindings, except QgsAuthCrypto
,
since management of the master password hashing and auth database encryption
should be handled by the main app, and not via Python.
See Security Considerations concerning Python access.