21.2. Benutzerauthentifizierung Workflows
21.2.1. HTTP(S) Authentifikation
Eine der häufigsten Verbindungen findet mittels HTTP (S) statt, z.B. bei WebGIS Servern und die Authentifizierungsmethoden werden oft für diese Art von Verbindungen genutzt. Die Methoden haben Zugriff auf das HTTP-Request Objekt und können sowohl den Request als auch seinen Header manipulieren. Dies ermöglicht viele Formen von Internet-basierten Authentifizierungen. Wenn über HTTP(S) mit der Standard Benutzername-/Passwort-Authentifizierungsmethode verwendet wird, wird bei der Verbindung eine HTTP-Basisauthentifizierung versucht.
21.2.2. Datenbank Authentifikation
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 auth system, the
key=value
will be an abstracted representation of the credentials, e.g.
authfg=81t21b9
.
21.2.3. PKI Authentifikation
Wenn PKI-Komponenten innerhalb des Authentifikationssystems konfiguriert werden, haben Sie die Möglichkeit, Komponenten in die Datenbank zu importieren oder Dateien, die auf Ihrem System gespeichert sind, zu referenzieren. Letzteres kann nützlich sein, wenn solche Komponenten sich häufig verändern oder wenn die Dateien durch einen Systemadministrator verschoben werden. In beiden Fällen müssen Sie ein beliebiges Passwort speichern um Zugang zu privaten Schlüsseln innerhalb der Datenbank zu haben.
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.
Bemerkung
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.
21.2.3.2. Identitäten
Sie können verfügbare Client-Identitäts-Bündel über den Reiter Identitäten des Zertifikat Manager im Reiter Authentifizierung im Dialog QGIS Optionen. Eine Identität authentifiziert Sie gegen einen PKI-fähigen Dienst und besteht in der Regel aus einem Client-Zertifikat und einen privaten Schlüssel, entweder als separate Dateien oder kombiniert in einer einzigen „gebündelten“ Datei. Das Bündel oder private Schlüssel sind oft Paßphrase geschützt.
Sobald Sie alle Zertifizierungsstellen (CAs) importiert haben können Sie optional alle Identitätsbündel in die Authentifizierungsdatenbank importieren. Wenn Sie die Identitäten nicht speichern möchten, können Sie ihre Komponentendateisystempfade innerhalb einer einzelnen Authentifizierungskonfiguration referenzieren.
Wenn ein Identitäts-Bündel importieren, können diese Passwort-geschützt oder ungeschützt sein und CA-Zertifikate enthalten, die eine Vertrauenskette bilden. Vertrauenskette Zertifizierungen werden nicht an dieser Stelle importiert; sie können separat unter dem Reiter guilabel:Authoritäten hinzugefügt werden.
Beim Import wird das Zertifikats und der Private Key eines Bündels in der Datenbank gespeichert, wobei der Speicher des Schlüssels über das QGIS Master Passwort verschlüsselt ist. Die anschließende Verwendung des gespeicherten Bündels aus der Datenbank erfordert dann nur Eingabe des QGIS Master Passworts.
Persönliche Identitäts-Bündel bestehend aus PEM/DER (.pem / .der) und PKCS#12 (.p12/.pfx) Komponenten werden unterstützt. Wenn ein Schlüssel oder ein Bündel passwortgeschützt ist, wird das Passwort benötigt, um die Komponente zu validieren, bevor sie importiert wird. Wenn das Client-Zertifikat in dem Bündel ungültig ist (zum Beispiel ist das Datum des Inkrafttretens noch nicht gestartet oder abgelaufen), kann das Bündel nicht importiert werden.
21.2.4. Defekte Layer behandeln
Gelegentlich kommt es vor, dass die ID der Authentifizierungs-Konfiguration, die mit einer Projektdatei gespeichert wird, nicht mehr gültig ist, möglicherweise, weil die aktuelle Authentifizierungsdatenbank sich geändert hat, seitdem das Projekt zuletzt gespeichert wurde, oder aufgrund einer fehlenden Übereinstimmung der Anmeldeinformationen. In solchen Fällen öffnet sich der Dialog Defekte Layer behandeln beim Starten von QGIS.
Wenn eine Datenquelle eine ihr zugewiesene Authentifizierungs Konfigurations-ID besitzt, können Sie diese bearbeiten. Dadurch wird der Pfad der Datenquelle automatisch geändert, so wie es beim Öffnen der Projektdatei mit einem Texteditor und dem bearbeiten von Zeichenfolgen passiert.
21.2.5. Kennung der Authentifikationskonfiguration ändern
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.
Warnung
Das Ändern der Auth-Config-ID ist eine erweiterte Operation und sollte nur in Betracht gezogen werden, wenn es notwendig ist. Aus diesem Grund gibt es eine Lock-Taste, die geklickt werden muss, um das ID Text-Feld vor der Bearbeitung zu entsperren.
21.2.6. QGIS Server Unterstützung:
Wenn eine Projektdatei verwendet wird mit Layern, die eine Authentifizierung konfiguriert haben und vom QGIS Server verwendet werden sollen, gibt es ein paar zusätzliche Schritte zu beachten, um mit QGIS die Ressource zu laden:
Authentifizierungsdatenbank muss verfügbar sein
Das Authentifizierungsdatenbank Hauptpasswort muss verfügbar sein
When instantiating the authentication system, Server will create or use
qgis-auth.db
file in the active user profile,
or the directory defined by the
QGIS_AUTH_DB_DIR_PATH
environment variable. It may be that the Server’s user
has no HOME directory, in which case, use the environment variable to define a
directory that the Server’s user has read/write permissions and is not located
within the web-accessible directories.
Um das Master-Passwort an den Server zu übergeben, schreiben sie dieses in die erste Zeile einer Datei im Pfad des Dateisystems, der durch den Server Prozess Benutzer lesbar ist und definiert ist durch die QGIS_AUTH_PASSWORD_FILE
Umgebungsvariable . Stellen Sie sicher, dass die Datei nur lesbar ist durch den Server Prozess Benutzer und nicht in einem über das Web zugänglichen Verzeichnis liegt.
Bemerkung
QGIS_AUTH_PASSWORD_FILE
variable will be removed from the Server
environment immediately after accessing.
21.2.7. SSL Serverausnahme
Sie können SSL-Server-Konfigurationen und Ausnahmen über den Reiter Server im Abschnitt Authentifizierung des QGIS Menüs Optionen verwalten.
Manchmal, wenn sie sich mit einem SSL-Server verbinden, gibt es Fehler beim SSL „Handshake“ oder mit dem Zertifikat des Servers. Sie können diese Fehler ignorieren oder eine SSL-Server-Konfiguration als eine Ausnahme erstellen. Dies ist ähnlich wie bei Web-Browsern, wo Sie SSL-Fehler ausser Kraft setzen können, aber mit einer besseren Kontrolle.
Warnung
Sie sollten keine SSL-Server-Konfiguration erstellen, wenn Sie keine umfassenden Kenntnisse des gesamten SSL-Setups zwischen dem Server und Client besitzen. Stattdessen wenden Sie sich besser an den Server-Administrator.
Bemerkung
Einige PKI-Setups verwenden eine völlig andere CA-Vertrauenskette, um Client-Identitäten zu validieren, als der Ablauf bei der Validierung eines SSL-Server-Zertifikats. Unter solchen Umständen behebt die Erstellung einer neuen Konfiguration für den Verbindungsserver nicht unbedingt das Problem, sodass sich sich den diesem Fall nur einen Serveradministrator wenden können.
You can pre-configure an SSL server configuration by clicking the button. Alternatively, you can add a configuration when an SSL error occurs during a connection and you are presented with an SSL Error dialog (where the error can be ignored temporarily or saved to the database and ignored):
Sobald eine SSL-Konfiguration in der Datenbank gespeichert wird, kann sie bearbeitet oder gelöscht werden.
If you want to pre-configure an SSL configuration and the import dialog is not
working for your server’s connection, you can manually trigger a connection via
the Python Console by running the following code (replace
https://bugreports.qt-project.org
with the URL of your 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)
Dies wird ein SSL-Fehler-Dialog öffnen, wenn Fehler auftreten, wo Sie die Konfiguration in die Datenbank speichern können.