20.1. Aperçu du Système d’authentification

../../../_images/auth-system-overview.png

Fig. 20.1 Anatomie du Système d’authentification

20.1.1. Base de données d’authentification

The new authentication system stores authentication configurations in an SQLite database file located, by default, at <profile directory>/qgis-auth.db.

Cette base de données d’authentification peut être déplacée entre les différentes installations de QGIS sans affecter les autres préférences utilisateur, car elle est complètement indépendante des paramètres de QGIS. Un ID de configuration (une chaîne aléatoire de 7 caractères alphanumériques) est généré lors du stockage de la configuration dans la base de données. Cela permet à l’ID d’être stocké dans des composants plein texte (tels que des projets, des plugins ou des fichiers de paramètres), sans que les informations d’identification y figurent.

Note

Le dossier contenant la base qgis-auth.db peut être défini dans la variable d’environnement QGIS_AUTH_DB_DIR_PATH, ou dans la ligne de commande utilisée lors du lancement avec l’option --authdbdirectory .

20.1.2. Mot de passe principal

To store or access sensitive information within the database, a user must define a master password. A new master password is requested and verified when initially storing any encrypted data to the database. When sensitive information is accessed, the user is prompted for the master password. The password is then cached for the remainder of the session (until application is quit), unless the user manually chooses an action to clear its cached value. Some instances of using the authentication system do not require input of the master password, such as when selecting an existing authentication configuration, or applying a configuration to a server configuration (such as when adding a WMS layer).

You can choose to save the password in the Wallet/Keyring of your computer.

../../../_images/auth-password-new_enter.png

Fig. 20.2 Entrer un nouveau mot de passe principal

Note

Un chemin vers un fichier contenant le mot de passe principal peut être paramétré au moyen de la variable d’environnement suivante, QGIS_AUTH_PASSWORD_FILE.

20.1.2.1. Gestion du mot de passe principal

Une fois défini, le mot de passe principal peut être redéfini; le mot de passe courant sera demandé pour pouvoir en définir un nouveau. Pendant cette procédure, une option permet de générer une sauvegarde complète de la base de données.

../../../_images/auth-password-reset.png

Fig. 20.3 Réinitialiser le mot de passe principal

Si l’utilisateur oublie le mot de passe principal, il n’existe aucun moyen de le retrouver ou de le contourner. Il n’est pas non plus possible de retrouver des informations cryptées dans le mot de passe principal.

Si un utilisateur saisi sont mot de passe trois fois de manière incorrecte, l’interface propose d’effacer le contenu de la base.

../../../_images/auth-password-invalid-3times.png

Fig. 20.4 Demande de mot de passe après trois tentatives invalides

20.1.3. Configuration de l’authentification

Les configurations d’authentification peuvent être gérées dans Configurations de l’onglet Authentification du dialogue Options de QGIS (Paramètres ‣ Options).

../../../_images/auth-editor-configs2.png

Fig. 20.5 Editeur de configurations

Utilisez le bouton signPlus pour ajouter une nouvelle configuration, le bouton signMinus pour supprimer des configurations, et le bouton symbologyEdit pour modifier des configurations existantes.

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

Fig. 20.6 Ajouter une configuration avec l’éditeur de configuration

Les mêmes opérations que pour la gestion des configurations d’authentification (Ajouter, Modifier et Supprimer) sont disponibles pour la configuration de la connexion à un service, comme par exemple la configuration de la connexion à un service OWS. Des boutons dédiés à ces actions dans le sélecteur de configuration permettent de gérer les configurations présentes dans la base d’authentification. Il n’est pas nécessaire de se rendre dans configurations de l’onglet Authentification des options de QGIS, sauf si vous avez besoin de gérer les configurations de manière plus complète.

../../../_images/auth-selector-wms-connection.png

Fig. 20.7 Fenêtre de connexion WMS avec les boutons de configuration de l’authentification Ajouter, Editer, et Supprimer

Lors de la création ou de la modification d’une configuration d’authentification, les informations à fournir sont un nom, une méthode d’authentification et toute autre informatique requise par la méthode (Pour d’avantage d’information sur les types d’authentification supportés, voir Méthodes d’authentification).

20.1.4. Méthodes d’authentification

Les authentifications disponibles sont fournies par les extensions C ++ de la même manière que les extensions de fournisseur de données sont prises en charge par QGIS. Le procédé d’authentification qui peut être sélectionné est relatif à l’accès à la ressource p. ex. HTTP(S) ou à la base de données par le provider, et s’il y a un support dans le code QGIS et dans une extension. En tant que telles, certaines extensions d’authentification peuvent ne pas être applicables partout où un sélecteur de configuration d’authentification est utilisé. Vous pouvez accéder à la liste des extensions d’authentification disponibles et leurs ressources / fournisseurs compatibles, en allant dans Préférences– > Options et, dans l’onglet Authentification, cliquez sur le bouton options Extensions installées**.

../../../_images/auth-method-listing.png

Fig. 20.8 Extensions d’authentification disponibles

Des plugins peuvent être créés pour les nouvelles méthodes d’authentification qui ne nécessitent pas la recompilation de QGIS. Étant donné que le support des plugins est actuellement limité au C++, QGIS devra être redémarré pour que le nouveau plugin déposé soit disponible pour l’utilisateur. Assurez-vous que votre plugin est compilé avec la même version cible de QGIS si vous avez l’intention de l’ajouter à une installation cible existante

../../../_images/auth-config-create_basic-auth.png

Fig. 20.9 Configuration Authentification basique HTTP

../../../_images/auth-config-create_esritoken.png

Fig. 20.10 Configuration Authentification ESRI Token

../../../_images/auth-config-create_oauth2.png

Fig. 20.11 Configuration Authentification OAuth2

../../../_images/auth-config-create_pem-der-paths.png

Fig. 20.12 Configuration Authentification par cheminement dans l’IGC

../../../_images/auth-config-create_pkcs12-paths.png

Fig. 20.13 Configuration Authentification IGC PKCS#12

../../../_images/auth-config-create_stored-identity2.png

Fig. 20.14 Configuration Certificat d’identité stocké dans une IGC

Note

L’URL de la ressource est actuellement une fonctionnalité non implémentée qui permettra éventuellement de choisir automatiquement une configuration particulière lors de la connexion aux ressources à une URL donnée.

20.1.5. Utilitaire et Mot de passe principal

A partir du menu Options (Préférences‣ Options) , dans l’onglet Authentification , plusieurs actions permettent de gérer le mot de passe principal, la base de données et les configurations d’authentification:

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

Fig. 20.15 Menu du bouton Utilitaires

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

    ../../../_images/auth-db-erase.png

    Fig. 20.16 Menu d’effacement de la base de données

20.1.6. Utiliser les configurations d’authentification

En règle générale, une configuration d’authentification peut être sélectionnée par une boîte de dialogue de configuration pour des services réseau (tels que WMS). Toutefois, le widget de sélection de configuration peut être intégré à chaque fois que l’authentification est nécessaire dans QGIS ainsi que dans les les plugins PyQGIS ou C ++ tiers.

Lorsque vous utilisez le sélecteur, Pas d’authentification est affiché dans le menu contextuel lorsque rien n’est sélectionné ainsi que lorsqu’il n’y a aucune configuration à choisir ou quand une configuration précédemment affectée ne peut plus être trouvée dans la base de données. Lorsqu’une configuration est choisie, les champs Méthode et Id sont en lecture seule et fournissent respectivement une description de la méthode d’authentification et de l’ID de la configuration .

../../../_images/auth-selector-no-authentication.png

Fig. 20.17 Sélecteur de configuration d’authentification sans configuration

../../../_images/auth-selector-pkcs12-authentication.png

Fig. 20.18 Sélecteur de configuration d’authentification avec une configuration sélectionnée

20.1.7. Liaisons Python

Toutes les classes et les fonctions publiques ont des liaisons sip, sauf QgsAuthCrypto, car la gestion du cryptage du mot de passe principal et du cryptage de la base de données auth doit se faire par l’application principale, et non via Python. Voir Impératifs de sécurité concernant l’accès Python.