21.2. Flussi di lavoro per l’autenticazione degli utenti

../../../_images/auth-user-usage.png

Fig. 21.19 Flusso di lavoro per l’utente generico

21.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.

../../../_images/auth-http-basic-wms.png

Fig. 21.20 Configurare una connessione WMS con HTTP BASIC

21.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.

../../../_images/auth-db-ssl-pki.png

Fig. 21.21 Configurare una connessione SSL-with-PKI per Postgres

21.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.

../../../_images/auth-pki-config.png

Fig. 21.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 (Impostazioni ► Opzioni) facendo clic sul pulsante Gestione Certificati.

../../../_images/auth-open-Certificate-manager.png

Fig. 21.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

Poiché tutte le modifiche al sistema di autenticazione scrivono immediatamente nel database di autenticazione, per salvare le modifiche non c’è bisogno di cliccare sul pulsante OK della finestra di dialogo Opzioni. Questo è diverso dalle altre impostazioni della finestra di dialogo delle opzioni.

21.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).

../../../_images/auth-editor-authorities.png

Fig. 21.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 metadati Informazioni Certificato.

../../../_images/auth-authority-imported_cert-info-chain.png

Fig. 21.25 Finestra di dialogo Certificato

Puoi modificare la Politica di fiducia selectString 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 fileSave 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.

../../../_images/auth-authority-edit-trust_save-not-close.png

Fig. 21.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 transformSettings Opzioni.

Avvertimento

Cambiare la politica di fiducia preimpostate può causare problemi con le connessioni sicure.

../../../_images/auth-editor-authorities_utilities-menu.png

Fig. 21.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à.

../../../_images/auth-authority-import.png

Fig. 21.28 Finestra di dialogo per importare i certificati

Nota

Se stai inserendo informazioni sul certificato nel campo Testo PEM, nota che i certificati criptati non sono supportati.

21.2.3.2. Identità

Puoi gestire i bundle di identità client disponibili dalla scheda Identità nella scheda Gestore dei certificati 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.

../../../_images/auth-editor-identities.png

Fig. 21.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.

../../../_images/auth-identity-import_paths.png

Fig. 21.30 Importare identità PEM/DER

../../../_images/auth-identity-import_bundle-valid.png

Fig. 21.31 Importare identità PKCS#12

21.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.

../../../_images/auth-handle-bad-layers.png

Fig. 21.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.

../../../_images/auth-handle-bad-layers-edit.png

Fig. 21.33 Modificare l’ID di configurazione di autenticazione errato di un layer

21.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.

../../../_images/auth-change-config-id.png

Fig. 21.34 Cambiare l’ID di configurazione di autenticazione di un layer (campo di testo giallo sbloccato)

Avvertimento

Cambiare l’ID della configurazione di autenticazione è considerata un’operazione avanzata e dovrebbe essere fatta solo con piena conoscenza del perché è necessario. Questo è il motivo per cui c’è un pulsante di blocco che deve essere cliccato, per sbloccare il campo di testo dell’ID prima di modificarlo.

21.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 user profile 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

La variabile QGIS_AUTH_PASSWORD_FILE sarà rimossa dall’ambiente Server immediatamente dopo l’accesso.

21.2.7. Eccezioni SSL server

../../../_images/auth-ssl-config.png

Fig. 21.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

Non dovresti creare una configurazione del server SSL a meno che tu non abbia una conoscenza completa dell’intera configurazione SSL tra il server e il client. Invece, segnala il problema all’amministratore del server.

Nota

Alcune configurazioni PKI usano una catena di fiducia CA completamente diversa per convalidare le identità dei client rispetto alla catena usata per convalidare il certificato del server SSL. In tali circostanze, qualsiasi configurazione creata per il server di connessione non risolverà necessariamente un problema con la convalida della tua identità client, e solo l’emittente della tua identità client o l’amministratore del server può risolvere il problema.

Puoi pre-configurare una configurazione del server SSL cliccando il pulsante signPlus. 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):

../../../_images/auth-server-exception.png

Fig. 21.36 Aggiungere manualmente una configurazione

../../../_images/auth-server-error-add-exception.png

Fig. 21.37 Aggiungere una configurazione in presenza di un errore SSL

Una volta che una configurazione SSL è salvata nel database, può essere modificata o cancellata.

../../../_images/auth-editor-servers.png

Fig. 21.38 Configurazione SSL esistente

../../../_images/auth-server-edit.png

Fig. 21.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.