Important
La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 100.00%.
25.2. Processus d’authentification des utilisateurs
25.2.1. Authentification HTTP(S)
L’une des plus communes connexions à des ressources en ligne se fait via HTTP(S), par exemple pour des serveurs cartographiques web, et les extensions de méthode d’authentification fonctionnent souvent pour ces types de connexions. Ces extensions ont accès à la requête HTTP et peuvent manipuler aussi bien la requête que ses en-têtes. Cela permet de disposer d’un grand nombre de méthodes d’authentification sur Internet. Lorsque la connexion se fait via HTTP(S) en utilisant la méthode standard d’authentification avec nom utilisateur/mot de passe, la méthode d’authentification lancera d’abord une authentification HTTP BASIC lors de la première connexion.
25.2.2. Authentification de la base de données
Les connexions aux ressources de la base de données sont généralement stockées sous forme de paires clé=valeur
, qui exposeront les noms d’utilisateur et (éventuellement) les mots de passe, si non en utilisant une configuration d’authentification. Lors de la configuration avec le système d’authentification, la clé=valeur
sera une représentation abstraite des informations d’identification, par exemple authfg=81t21b9
.
25.2.3. Authentification PKI
Lors de la configuration des composants PKI dans le système d’authentification, vous pouvez soit importer les composants dans la base de données, soit référencer les fichiers des composants stockés sur votre système de fichiers. Cette dernière option peut être utile si les composants changent fréquemment ou s’ils seront remplacés par l’administrateur système. Dans tous les cas vous devrez sauver toute phrase clé nécessaire pour l’accès aux clés privées dans la base de données.
Tous les composants PKI peuvent être gérés par des éditeurs séparés dans le Gestionnaire de Certificats qui peut être ouvert dans l’onglet Authentification de la fenêtre Options de QGIS ( ) en cliquant sur le bouton Gestion des certificats.
Dans le Gestionnaire de certificats, il y a des éditeurs pour les Identités, Serveurs et Autorités. Chacun se trouve dans son propre onglet, et sont décrits ci-dessous dans l’ordre dans lequel ils apparaissent dans le tableau de processus précédent. L’ordre des onglets est relatif aux éditeurs les plus utilisés une fois que vous êtes habitué au processus.
Note
Parce que toutes les modifications du système d’authentification sont immédiatement écrites dans la base de données, il n’est pas nécessaire de cliquer sur le bouton OK de la fenêtre Options pour qu’une modification soit sauvée. C’est différent des autres paramètres du dialogue Options.
25.2.3.2. Identités
Vous pouvez gérer les paquets de certificat client depuis l’onglet Identités du Gestionnaire de certificat à partir de l’onglet Authentification de la boîte de dialogue des Options de QGIS. Une identité est ce qui vous authentifie auprès d’un service basé sur une PKI et consiste généralement en un certificat client et une clé privée, soit sous forme de fichiers séparés, soit dans un seul fichier « empaqueté ». Le paquet ou la clé privée sont souvent protégés par une Passphrase protégée.
Une fois que vous avez importé n’importe quelle Autorité de Certification (AC), vous pouvez importer n’importe quel paquet d’identité dans la base de données d’authentification. Si vous ne voulez pas enregistrer les identités, vous pouvez référencer les chemins de fichiers de leur composants au sein d’une configuration d’authentification individuelle.
Lorsque vous importez un paquet d’identités, il peut être protégé par une passphrase ou non protégé ou contenir des certificats d’AC, formant ainsi une chaîne de confiance. Les chaînes de confiance ne seront pas importées ici; elles peuvent être ajoutées séparément dans l’onglet Autorités
Une fois l’import réalisé, le certificat et la clé privée du paquet seront enregistrés dans la base de données chiffrée à l’aide du mot de passe principal de QGIS. Les futurs utilisations du paquet enregistré depuis la base de données nécésiteront alors uniquement l’entrée du mot de passe principal.
Les paquets d’identité personnelle gérés sont les formats PEM/DER (.pem/.der) et PKCS#12 (.p12/.pfx). Si une clé ou un paquet est protégé par une passphrase, ce mot de passe est requis pour valider le composant avant l’import. De même, si le certificat client du paquet est invalide (par exemple, sa date d’entrée en vigueur n’a pas encore démarré ou le certificat est périmé), le paquet ne pourra pas être importé.
25.2.4. Reprise des mauvaises couches
Occasionnellement, l’ID de configuration d’authentification qui est sauvegardée dans un projet peut ne plus être valide, essentiellement parce que la base de données d’authentification est différente par rapport au moment où le projet a été enregistré ou à cause de problème d’identifiants. Dans de tels cas, la boîte de dialogue Reprise des mauvaises couches sera affichée lors du lancement de QGIS.
Si une source de données n’a pas d’ID de configuration d’authentification associé, vous pourrez l’éditer. Cela permettra de mettre à jour automatiquement la chaîne de source de données, un peu comme ouvrir le fichier de projet dans un éditeur de texte et de mettre à jour la chaîne de caractères correspondante.
25.2.5. Modification de l’ID de configuration d’authentification
Parfois, vous devrez modifier l’ID de configuration d’authentification associée à l’accès d’une ressource. Cela peut être utile dans certains cas :
L’ID de configuration d’authentification de la ressource n’est plus valide : Cela peut survenir lorsque vous avez échangé des bases de données d’authentification et que vous devez aligner la nouvelle configuration à l’ID déjà associée avec une ressource.
Fichiers de projet partagés : Si vous avez l’intention de partager des fichiers de projet entre plusieurs utilisateurs, par exemple via un serveur de fichiers partagés, vous pouvez prédéfinir une chaîne de 7 caractères (contenant a-z et/ou 0-9), associée à la ressource. Ainsi, les utilisateurs pourront modifier l’ID de configuration d’authentification spécifique à leurs identifiants d’accès à la ressource. Lorsque le projet est ouvert, l’ID est trouvé dans la base de données d’authentification mais les identifiants sont différents pour chaque utilisateur.
Avertissement
Modifier l’ID de configuration d’authentification est une opération avancée et ne doit être employée qu’en pleine connaissance de sa nécessité. C’est pourquoi il y a un bouton de cadenas qui doit être cliqué pour déverrouiller le champ de texte de l’ID avant de pouvoir la modifier.
25.2.6. Support QGIS Server
Lorsque vous utilisez un fichier de projet avec des couches disposant de configurations d’authentification, dans une carte publiée par QGIS Server, il faut ajouter certaines étapes supplémentaires pour que QGIS puisse charger ces ressources:
La base de données d’authentification doit être disponible.
Le mot de passe principal de la base de données d’authentification doit être disponible.
Lors du lancement du système d’authentification, le serveur créera ou utilisera le fichier qgis-auth.db
situé dans le répertoire du profil utilisateur actuel ou dans le répertoire défini par la variable d’environnement QGIS_AUTH_DB_DIR_PATH
. Dans le cas où le compte utilisateur utilisé par le serveur ne dispose pas d’un répertoire HOME, utilisez la variable d’environnement pour indiquer un répertoire accessible en lecture/écriture au compte utilisateur du serveur qui ne soit pas situé dans les répertoires accessibles par le web.
Pour indiquer un mot de passe principal au serveur, écrivez-le dans la première ligne d’un fichier lisible par les processus du compte utilisateur du serveur et utilisez le chemin vers ce fichier dans la variable d’environnement QGIS_AUTH_PASSWORD_FILE
. Assurez-vous que ce fichier soit accessible uniquement en lecture par le compte utilisateur du serveur et qu’il ne soit pas situé au sein des répertoires accessibles par le web.
Note
La variable QGIS_AUTH_PASSWORD_FILE
sera effacée de l’environnement du serveur tout de suite après avoir été utilisée
25.2.7. Exceptions du serveur SSL
Vous pouvez gérer les configurations et exceptions du serveur SSL à partir de l’onglet Serveurs dans la section Authentification de la boîte de dialogue Options de QGIS.
Quelque fois, lors de la connexion à un serveur SSL, des erreurs de « handshake » ou de certificat du serveur se produisent. Vous pouvez ignorer ces erreurs ou créer une exception dans la configuration de serveur SSL. C’est similaire au comportement des navigateurs internet qui vous permettent d’ignorer les erreurs SSL, mais avec plus de contrôle granulaire.
Avertissement
Vous ne devriez pas créer une configuration de serveur SSL à moins que vous ayez une parfaite connaissance de l’ensemble de la configuration SSL entre serveur et client. Vous devriez plutôt signaler le problème au gestionnaire du serveur.
Note
Certaines configurations PKI utilisent une chaîne de confiance AC totalement différente pour valider l’identité des clients que la chaîne utilisée pour valider le certificat du serveur SSL. Dans de tels cas, toute configuration créée pour la connexion au serveur ne résoudra pas nécessairement le problème de validation de votre identité client, et ce n’est que l’émetteur de votre identité client ou le gestionnaire du serveur qui puisse résoudre ce problème.
Vous pouvez pré-configurer la configuration d’un serveur SSL en cliquant sur le bouton . Ou, vous pouvez ajouter une configuration lorsqu’une erreur SSL se produit durant la connexion et que le dialogue Erreur SSL apparaît (lorsque l’erreur peut être temporairement ignorée ou alors sauvegardée dans la base de données et ignorée) :
Une fois qu’une configuration SSL est enregistrée dans la base de données, elle peut être éditée ou effacée.
Si vous voulez pré-configurer une configuration SSL et que le dialogue d’import ne fonctionne pas avec la connexion à votre serveur, vous pouvez activer manuellement une connexion dans la Console Python en utilisant le code suivant (remplacer https://bugreports.qt-project.org
par l’URL de votre serveur) :
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)
Cela ouvrira un dialogue d’erreur SSL si une erreur survient, où vous pourrez choisir de sauver la configuration dans la base de données.