25.2. Flussi di lavoro per l’autenticazione degli utenti
- Autenticazione HTTP(S)
- Autenticazione al Database
- Autenticazione PKI
- Gestire i layer scorretti
- Cambiare l’ID di configurazione di autenticazione
- Supporto QGIS Server
- Eccezioni SSL server

Fig. 25.19 Flusso di lavoro per l’utente generico
25.2.1. Autenticazione HTTP(S)
Una delle connessioni alle risorse più comuni è via HTTP(S), ad esempio i server di web mapping, e i plugin di metodo di autenticazione spesso funzionano per questi tipi di connessioni. I plugin di sistema hanno accesso all’oggetto della richiesta HTTP e possono manipolare sia la richiesta che le sue intestazioni. Questo permette molte forme di autenticazione basate su internet. Quando ci si connette via HTTP(S) usando il metodo di autenticazione standard nome utente/password si tenterà l’autenticazione HTTP BASIC al momento della connessione.

Fig. 25.20 Configurare una connessione WMS con HTTP BASIC
25.2.2. Autenticazione al Database
Le connessioni alle risorse del database sono generalmente memorizzate come coppie chiave=valore
, che esporranno nomi utente e (opzionalmente) password, se non si usa una configurazione di autenticazione. Quando si configura con il sistema di autenticazione, la chiave=valore
sarà una rappresentazione astratta delle credenziali, ad esempio authfg=81t21b9
.

Fig. 25.21 Configurare una connessione SSL-with-PKI per Postgres
25.2.3. Autenticazione PKI
Quando si configurano i contenuti PKI all’interno del sistema di autenticazione, si ha la possibilità di importare i contenuti nel database o di fare riferimento a file di contenuti memorizzati sul proprio filesystem. Quest’ultima opzione può essere utile se tali contenuti cambiano frequentemente, o se i contenuti vengono sostituiti da un amministratore di sistema. In entrambi i casi sarà necessario memorizzare qualsiasi passphrase necessaria per accedere alle chiavi private all’interno del database.

Fig. 25.22 Workflow configurazione PKI
Tutti i componenti PKI possono essere gestiti in editor separati all’interno del Gestore Certificato, a cui si può accedere nella scheda Autenticazione nella finestra di dialogo QGIS Opzioni . Autenticazione () facendo clic sul pulsante Gestisci Certificati.

Fig. 25.23 Aprire il Gestore Certificato
Nel Gestore Certificato, ci sono editor per Identità, Server e Autorità. Ognuno di questi è contenuto nelle proprie schede, e sono descritti di seguito nell’ordine in cui si incontrano nel grafico del flusso di lavoro di cui sopra. L’ordine delle schede è relativo agli editor di frequente accesso una volta che ci si è impratichiti al flusso di lavoro.
Nota |
25.2.3.1. Autorità
Puoi gestire le Autorità di Certificazione (CA) disponibili dalla scheda Autorità nel Gestore Certificato dalla scheda Autenticazione della finestra di dialogo Opzioni di QGIS.
Come indicato nel grafico del flusso di lavoro sopra, il primo passo è importare o fare riferimento a un file di CA. Questo passo è opzionale e potrebbe non essere necessario se la vostra rete di sicurezza PKI proviene da CA radice già installate nel vostro sistema operativo (OS), come un certificato da un fornitore di certificati commerciali. Se la tua CA radice autenticante non è tra le CA concatenate fidate del sistema operativo, dovrà essere importata o avere il suo percorso nel file system come riferimento. (Contatta il tuo amministratore di sistema se non sei sicuro).

Fig. 25.24 Editor Autorità
Per impostazione predefinita, le CA root del tuo sistema operativo sono disponibili; tuttavia, le loro impostazioni di fiducia non vengono ereditate. Dovresti rivedere le impostazioni dei criteri di fiducia dei certificati, specialmente se le CA root del tuo sistema operativo hanno modificato i loro criteri. Qualsiasi certificato scaduto sarà impostato su non fidato e non sarà usato nelle connessioni sicure al server, a meno che non si sovrascriva specificamente la sua politica di fiducia. Per vedere la politica di fiducia di QGIS per qualsiasi certificato, selezionatelo e cliccate su Informazioni Certificato.

Fig. 25.25 Finestra di dialogo Certificato
Puoi modificare la Politica di fiducia per qualsiasi certificato selezionato all’interno della catena. Qualsiasi cambiamento nella politica di fiducia di un certificato selezionato non sarà salvato nel database a meno che il pulsante
Salva modifica politica di fiducia del certificato nel database sia cliccato per la certificazione selezionata. La chiusura della finestra di dialogo non applicherà le modifiche ai criteri.

Fig. 25.26 Salvare le modifiche alla politica di sicurezza
Puoi rivedere le CA filtrate, sia i certificati intermediati che quelli root, che saranno fidati per le connessioni sicure o cambiare la politica di fiducia predefinita facendo clic sul pulsante Opzioni.
Avvertimento |

Fig. 25.27 Opzioni menu Autorità
Puoi importare CA o salvare un percorso di file system da un file che contiene più CA, o importare singole CA. Il formato PEM standard per i file che contengono certificazioni multiple della catena CA ha il certificato radice in fondo al file e tutti i certificati figli firmati successivamente sopra, all” inizio del file.
La finestra di dialogo di importazione dei certificati CA troverà tutti i certificati CA all’interno del file, indipendentemente dall’ordine, e offre anche l’opzione di importare i certificati che sono considerati non validi (nel caso si voglia sovrascrivere la loro politica di fiducia). Puoi sovrascrivere la politica di fiducia al momento dell’importazione o farlo in seguito nell’editor Autorità.

Fig. 25.28 Finestra di dialogo per importare i certificati
Nota |
25.2.3.2. Identità
Puoi gestire i bundle di identità client disponibili dalla scheda Identità nella scheda Gestore Certificato della scheda Autenticazione della finestra di dialogo Opzioni di QGIS. Un’identità è ciò che ti autentica con un servizio abilitato alla PKI e di solito consiste in un certificato client e una chiave privata, sia come file separati che combinati in un singolo file «bundle». Il bundle o la chiave privata sono spesso protetti da passphrase.
Una volta che hai importato tutte le Autorità di certificazione (CA), puoi opzionalmente importare qualsiasi bundle di identità nel database di autenticazione. Se non si desidera memorizzare le identità, si può fare riferimento ai percorsi dei loro file system componenti all’interno di una configurazione di autenticazione singola.

Fig. 25.29 Editor Identità
Quando si importa un bundle di identità, esso può essere protetto o meno da passphrase e può contenere certificati CA che formano una catena di fiducia. Le certificazioni della catena di fiducia non saranno importate qui; possono essere aggiunte separatamente nella scheda Autorità.
Al momento dell’importazione, il certificato e la chiave privata del bundle saranno memorizzati nel database, con la memorizzazione della chiave criptata usando la password principale di QGIS. L’uso successivo del bundle memorizzato dal database richiederà solo l’inserimento della password principale.
Sono supportati i bundle di identità individuali composti da componenti PEM/DER (.pem/.der) e PKCS#12 (.p12/.pfx). Se una chiave o un bundle è protetto da passphrase, la password sarà richiesta per convalidare il componente prima dell’importazione. Allo stesso modo, se il certificato client nel bundle non è valido (per esempio, la sua data di efficacia non è ancora iniziata o è scaduta) il bundle non può essere importato.

Fig. 25.30 Importare identità PEM/DER

Fig. 25.31 Importare identità PKCS#12
25.2.4. Gestire i layer scorretti
Occasionalmente, l’ID della configurazione di autenticazione che viene salvato con un file di progetto non è più valido, forse perché il database di autenticazione corrente è diverso da quando il progetto è stato salvato l’ultima volta, o a causa di una mancata corrispondenza delle credenziali. In questi casi la finestra di dialogo Gestire i layer scorretti verrà presentata all’avvio di QGIS.

Fig. 25.32 Gestire i layer con autenticazione scorretti
Se una sorgente di dati ha un ID di configurazione di autenticazione associato ad essa, sarà possibile modificarla. Facendo ciò, si modificherà automaticamente la stringa della sorgente di dati, in modo molto simile all’apertura del file di progetto in un editor di testo e alla modifica della stringa.

Fig. 25.33 Modificare l’ID di configurazione di autenticazione errato di un layer
25.2.5. Cambiare l’ID di configurazione di autenticazione
Talvolta, è necessario cambiare l’ID di configurazione di autenticazione che è associato all’accesso a una risorsa. Ci sono casi in cui questo è utile:
-
L’ID della configurazione di autenticazione della risorsa non è più valido: Questo può accadere quando hai cambiato database di autenticazione e hai bisogno di allineare una nuova configurazione all’ID già associato a una risorsa.
-
File di progetto condivisi: Se si intende condividere progetti tra utenti, ad esempio tramite un file server condiviso, è possibile predefinire un 7-caratteri (contenente a-z e/o 0-9) che è associato alla risorsa. Poi, i singoli utenti cambiano l’ID di una configurazione di autenticazione che è specifica per le loro credenziali della risorsa. Quando il progetto viene aperto, l’ID si trova nel database di autenticazione, ma le credenziali sono diverse per ogni utente.

Fig. 25.34 Cambiare l’ID di configurazione di autenticazione di un layer (campo di testo giallo sbloccato)
Avvertimento |
25.2.6. Supporto QGIS Server
Quando si usa un file di progetto, con layer che hanno configurazioni di autenticazione, come base per una mappa in QGIS Server, ci sono un paio di passi di configurazione aggiuntivi necessari a QGIS per caricare le risorse:
-
Il database di autenticazione deve essere disponibile
-
La password principale di autenticazione del database deve essere disponibile
Quando si istanzia il sistema di autenticazione, il Server creerà o userà il file qgis-auth.db
nel profilo utente attivo, o la cartella definita dalla variabile d’ambiente QGIS_AUTH_DB_DIR_PATH
. Può essere che l’utente del server non abbia una directory HOME, nel qual caso, usa la variabile d’ambiente per definire una cartella che l’utente del server abbia i permessi di lettura/scrittura e che non sia situata all’interno delle cartelle accessibili al web.
Per passare la master password al Server, scrivila nella prima riga del file in un percorso sul file system leggibile dall’utente dei processi del Server e definito usando la variabile d’ambiente QGIS_AUTH_PASSWORD_FILE
. Assicurati di limitare il file come leggibile solo dall’utente di processo del Server e di non memorizzare il file all’interno di cartelle accessibili al web.
Nota |
25.2.7. Eccezioni SSL server

Fig. 25.35 Eccezione SSL server
Puoi gestire le configurazioni e le eccezioni del server SSL dalla scheda Server nella sezione Autenticazione della finestra di dialogo Opzioni di QGIS.
A volte, quando ci si connette a un server SSL, ci sono errori con l'«handshake» SSL o con il certificato del server. Puoi ignorare questi errori o creare una configurazione del server SSL come eccezione. Questo è simile a come i browser web ti permettono di ignorare gli errori SSL, ma con un controllo più granulare.
Avvertimento |
Nota |
Puoi pre-configurare una configurazione del server SSL cliccando il pulsante . In alternativa, puoi aggiungere una configurazione quando si verifica un errore SSL durante una connessione e ti viene presentata una finestra di dialogo SSL Error (dove l’errore può essere ignorato temporaneamente o salvato nel database e ignorato):

Fig. 25.36 Aggiungere manualmente una configurazione

Fig. 25.37 Aggiungere una configurazione in presenza di un errore SSL
Una volta che una configurazione SSL è salvata nel database, può essere modificata o cancellata.

Fig. 25.38 Configurazione SSL esistente

Fig. 25.39 Modificare una configurazione SSL esistente
Se vuoi preconfigurare una configurazione SSL e la finestra di dialogo di importazione non funziona per la connessione del tuo server, puoi attivare manualmente una connessione tramite la Console Python eseguendo il seguente codice (sostituisci https://bugreports.qt-project.org
con l’URL del tuo server):
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)
Questo se si verificano errori aprirà una finestra di dialogo di errore SSL , che consente di scegliere di salvare la configurazione nel database.