Processus d’authentification des utilisateurs¶
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.
Authentification de la base de données¶
Connections to database resources are generally stored as key=value
pairs, which
will expose usernames and (optionally) passwords, if not using an
authentication configuration. When configuring with the new auth system, the
key=value
will be an abstracted representation of the credentials, e.g.
authfg=81t21b9
.
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.
All PKI components can be managed in separate editors within the Certificate Manager, which can be accessed in the Authentication tab in QGIS Options dialog ( ) by clicking the Manage Certificates button.
In the Certificate Manager, there are editors for Identities, Servers and Authorities. Each of these are contained in their own tabs, and are described below in the order they are encountered in the workflow chart above. The tab order is relative to frequently accessed editors once you are accustomed to the workflow.
Note
Because all authentication system edits write immediately to the authentication database, there is no need to click the Options dialog OK button for any changes to be saved. This is unlike other settings in the Options dialog.
Autorités de certification¶
Vous pouvez gérer les Autorités de Certificats (AC) disponibles à partir de l’onglet Autorités du Gestionnaire de certificats à partir de l’onglet Authentification du dialogue Options de QGIS.
Comme référencé dans le tableau de processus ci-dessus, la première étape est d’importer ou de référencer le fichiers d’AC. Cette étape est optionnelle, est peut être inutile si votre chaîne de confiance PKI est originaire d’AC racine déjà installés dans votre système d’exploitation (SE), tel qu’un certificat d’un vendeur commercial de certificats. Si votre AC racine d’authentification n’est pas dans les AC racine reconnus par le SE, il devra être importé ou avoir le chemin à son système de fichier référencé. (Contactez votre administrateur système en cas de doute).
By default, the root CAs from your OS are available; however, their trust settings are not inherited. You should review the certificate trust policy settings, especially if your OS root CAs have had their policies adjusted. Any certificate that is expired will be set to untrusted and will not be used in secure server connections, unless you specifically override its trust policy. To see the QGIS-discoverable trust chain for any certificate, select it and click the Show information for certificate.
Vous pouvez modifier la politique de confiance de n’importe quel certificat de la chaîne. Toute modification dans la chaîne de confiance d’un certificat sélectionné ne sera pas enregistré dans la base de données d’authentification tant que le bouton Enregistrer le changement de politique de confiance dans la base de données n’aura pas été cliqué. Fermer la boîte de dialogue n’appliquera pas les changements de politique.
Vous pouvez analyser les AC filtrées, les certificats racine et intermédiaires qui seront reconnus de confiance pour les connexions sécurisées ou modifier la politique de confiance par défaut en cliquant sur le bouton Options.
Avertissement
Modifier la politique de confiance par défaut peut engendrer des problèmes pour les connexions sécurisées.
Vous pouvez importer des AC ou sauvegarder un chemin du système de fichier vers un fichier contenant plusieurs AC ou importer chaque AC individuellement. Le format PEM standard pour les fichiers contenant plusieurs chaîne de certification d’AC a le certificat racine à la fin du fichier et tous les certificats enfants signés, au dessus, en remontant vers le début du fichier.
La boîte de dialogue d’import de certificat d’AC trouvera tous les certificats d’AC au sein du fichier, sans importance d’ordre et offre également l’option d’importer des certificats considérés comme invalides (dans le cas où vous souhaiteriez forcer leur politique de confiance). Vous pouvez modifier la politique de confiance lors de l’import ou le faire plus tard à l’aide de l’éditeur des Autorités.
Note
Si vous copiez les informations d’un certificat dans le champ Texte PEM, veuillez noter que les certificats chiffrés ne sont pas gérés.
Identités¶
Vous pouvez gérer les paquets d’identité 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 IGC et consiste généralement en un certificat client et une clef privée, soit sous forme de fichiers séparés, soit dans un seul fichier « empaqueté ». Le paquet ou la clef privée sont souvent protégés par une phrase de passe.
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 chemins de fichiers de leur composants au sein d’une configuration d’authentification individuelle.
Lorsque vous importez un paquet d’identité, il peut être protégé par une phrase de passe 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 clef 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 clef ou un paquet est protégé par une passe de phrase, 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émaré ou le certificat est périmé), le paquet ne pourra pas être importé.
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ée, 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.
Modification de l’ID de configuration d’authentification¶
Occasionally, you will need to change the authentication configuration ID that is associated with accessing a resource. There are instances where this is useful:
Resource auth config ID is no longer valid: This can occur when you have switched auth databases add need to align a new configuration to the ID already associated with a resource.
Shared project files: If you intended to share projects between users, e.g. via a shared file server, you can predefine a 7-character (containing a-z and/or 0-9) that is associated with the resource. Then, individual users change the ID of an authentication configuration that is specific to their credentials of the resource. When the project is opened, the ID is found in the authentication database, but the credentials are different per user.
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.
Support Serveur QGIS¶
Lorsque vous utilisez un fichier de projet avec des couches disposant de configurations d’authentification, dans une carte servie 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 ~/.qgis2/
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
QGIS_AUTH_PASSWORD_FILE
variable will be removed from the Server
environment immediately after accessing.
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é 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 PyQt4.QtNetwork import *
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.