Importante
La traduzione è uno sforzo comunitario you can join. Questa pagina è attualmente tradotta al 55.36%.
21.1. Panoramica sul sistema di autenticazione
Fig. 21.1 Anatomia 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, in <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. Database di autenticazione personalizzati
QGIS può essere configurato per utilizzare un database di autenticazione personalizzato invece di quello predefinito SQLite sopra menzionato: può essere utilizzato qualsiasi database supportato dal modulo Qt SQL (ad esempio PostgreSQL, MySQL, ecc.), a condizione che il driver Qt SQL corrispondente sia disponibile nel sistema.
Questo può essere utile negli scenari in cui un utente desidera condividere lo stesso database di autenticazione tra più installazioni di QGIS, o quando un utente desidera utilizzare un database di autenticazione diverso da quello predefinito di SQLite o quando un database di autenticazione centralizzato viene utilizzato dal server QGIS.
L’unico modo per configurare un database di autenticazione personalizzato è impostare la variabile d’ambiente QGIS_AUTH_DB_URI all’URI della connessione, l’URI è nella forma di driver://username:password@hostname:port/database?options.
- Dove:
driverè il nome del driver Qt SQL da utilizzare, ad esempioQPSQLfor PostgreSQL,QMYSQLper MySQL, etc.usernameè il nome utente da utilizzare per connettersi al databasepasswordè la password da utilizzare per connettersi al databasehostnameè il nome host del server di databaseportè la porta del server del databasedatabaseè il nome del database da utilizzareoptionssono le opzioni da passare al driver, ad esempiosslmode=requireper PostgreSQL
Nota
Lo schema può essere specificato nelle opzioni URI, ad esempio QPSQL://username:password@hostname:port/database?schema=schema_name
Il database deve esistere prima di avviare QGIS e l’utente deve avere i permessi necessari per connettersi al database e per creare le tabelle obbligatorie se non esistono.
Avvertimento
La password nell’URI è memorizzata in testo semplice nella variabile di ambiente, quindi si consiglia di utilizzare un utente senza password o un utente con autorizzazioni limitate per connettersi al database.
Avvertimento
Qualsiasi database non basato su SQLite è considerato di sola lettura (questo può essere modificato dai plugin Python se necessario).
Questa è una funzionalità avanzata, progettata per consentire a QGIS di utilizzare uno o più database di autenticazione personalizzati o anche implementazioni Python personalizzate di archivi di credenziali.
Il sistema è inoltre progettato per consentire l’utilizzo di più database di autenticazione, ma attualmente non esiste un’interfaccia rivolta all’utente per gestire più archivi di credenziali, quindi il suo utilizzo richiede la configurazione e la gestione manuale, in genere da un plug-in Python.
21.1.3. 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.
Fig. 21.2 Inserisci la nuova master password
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.3.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.
Fig. 21.3 Ripristino della master password
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.
Fig. 21.4 Richiesta di password dopo tre tentativi non validi
21.1.4. Configurazioni di Autenticazione
Puoi gestire le configurazioni di autenticazione da Configurazioni nella scheda Autenticazione della finestra di dialogo Opzioni QGIS ().
Fig. 21.5 Editor delle configurazioni
To create a new authentication configuration:
Provide a Name and optional Resource URL
A seven-characters ID will be assigned to the configuration for identification purpose. It can be customized after you pressed the
Unlock to edit ID button.
Be aware that updating that ID may break things.Select the target method and fill the corresponding connection details
Once done, click Save to save the configuration. The saved configuration appears in the list of authentication configurations and can be used with supported connections.
The saved configuration can later be edited using
Edit selected configuration
or removed using
Delete selected configuration.
Fig. 21.6 Aggiunta di configurazione dall’interno dell’editor di Configurazione
The same type of operations for authentication configuration management (Add, Edit and Remove) can be done when configuring a given service connection, such as configuring an OWS service connection. For that, there are action buttons within the configuration selector for fully managing configurations found within the authentication database. In this case, there is no need to go to the configurations in Authentication tab of QGIS options unless you need to do more comprehensive configuration management.
Fig. 21.7 WMS connection dialog showing authentication configuration widget
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.5. 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 e, nella scheda Autenticazione, fai clic sul pulsante
Plugins Installati.
Fig. 21.8 Elenco dei plugin dei metodi disponibili
I 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.
21.1.5.1. API Header Authentication
The API Header authentication method allows you to connect to services
that require custom HTTP headers, such as API keys.
For example, if a WMS service requires an API key sent as a header
(e.g. X-API-KEY), you can use this method to provide it.
You can add one or more headers with the
button; provide a
Header Name and Header Value for each entry. Use
to delete the selected header or the Clear
button to remove all entries.
Fig. 21.9 API Header authentication configs
21.1.5.2. AWS S3 Authentication
The AWS S3 authentication method allows you to connect to Amazon S3 resources by providing a Name, Resource, Username, Password, and Region.
Fig. 21.10 AWS S3 authentication configs
21.1.5.3. Basic Authentication
The Basic authentication method is used for services that require standard HTTP authentication with a Username, Password and Realm.
Fig. 21.11 Configurazione di autenticazione HTTP di base
21.1.5.4. ESRI Token Authentication
The ESRI token authentication method is used for ArcGIS REST Servers that require token-based authentication.
Fig. 21.12 Configurazioni di autenticazione token ESRI
21.1.5.5. Identity certificate authentication
The Identity certificate authentication method allows you to connect using a client identity certificate.
Fig. 21.13 Identity-cert authentication configs
21.1.5.6. MapTiler HMAC-SHA256 Authentication
The MapTiler HMAC-SHA256 authentication method is used to connect to MapTiler services that require HMAC-SHA256 authorization.
Fig. 21.14 MapTiler HmacSha256 authentication configs
21.1.5.7. OAuth2 Authentication
The OAuth2 authentication method is used to connect to services that require OAuth2 2.0 authorization, allowing secure access using client credential and token-based authentication.
It supports using localhost as the redirect host,
providing compatibility with services that do not accept http://127.0.0.1 redirects (for example, Microsoft SharePoint).
An advanced OAuth2 configuration option, Extra token header(s), allows attaching additional tokens returned by the OAuth2 token endpoint as HTTP(S) request headers.
Fig. 21.15 Configurazioni di autenticazione Oauth2
21.1.5.8. PKI-Paths Authentication
The PKI-Paths authentication method allows you to connect using separate certificate and key files stored on your system.
Fig. 21.16 Percorso delle configurazioni di autenticazione PKI
21.1.5.9. PKI-PKCS#12 Authentication
The PKI-PKCS#12 authentication method allows you to connect using a single bundle file containing both the certificate and private key, with an optional passphrase for the key.
Fig. 21.17 Configurazioni dei percorsi del file PKI PKCS#12 di autenticazione
21.1.6. Master Password ed Utilità di Auth Config
Sotto il menu Opzioni () nella scheda Autenticazione, ci sono diverse funzionalità utili per gestire il database di autenticazione e le configurazioni:
Fig. 21.18 Menu utilità
Input master password…: opens the master password input dialog, independent of performing any authentication database command
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 the Wallet: adds the master password to your personal Wallet/Keyring
Clear the master password from the Wallet…: 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.
Import authentication configurations from file…: imports from an
.XMLfile details for creating custom authentication configurations.Export selected authentication configurations to file…: exports the selected items to a possibly encrypted
.XMLfile.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.
21.1.7. 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.
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. Use the drop-down menu to select an existing authentication
configuration or press
Create a new autentication configuration
to create a configuration you could use.
More details at Autenticazione.
Fig. 21.19 Selettore della configurazione di autenticazione con la configurazione scelta
21.1.8. Collegamenti Python
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.
Una volta inserita la master password, l’API è aperta per accedere alle configurazioni di autenticazione nel database di autenticazione, in modo simile a come funziona Firefox. Tuttavia, non è stato definito alcun blocco contro l’accesso a PyQGIS. Questo può portare a problemi nel caso in cui un utente scarichi/installi un plugin PyQGIS o un’applicazione standalone dannosi che accedono alle credenziali di autenticazione.