Benutzerauthentifizierung Workflows

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

Generischer Benutzer Workflow

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.

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

Konfigurieren einer WMS-Verbindung für HTTP BASIC

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 new auth system, the key=value will be an abstracted representation of the credentials, e.g. authfg=81t21b9.

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

Einstellen einer Postgress-SSL mit PKI-Verbindung

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.

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

PKI Konfiguration Workflow

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 (Settings ‣ Options) by clicking the Manage Certificates button.

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

Öffnen der Zertifikatsverwaltung

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.

Autoritäten

Sie können verfügbare Zertifikat Autoritäten (Cas) aus dem Autoritäten Reiter im Zertifikate verwalten aus dem Authentifikation Reiter des QGIS Optionen Dialog verwalten.

Wie oben in dem Workflow-Diagramm Bezug genommen wird, ist der erste Schritt importieren oder einer Datei eine CAs zuweisen. Dieser Schritt ist optional und nicht notwendig, wenn Ihre PKI Vertrauenskette ihren Ursprung in einer CA hat, welche bereits auf Ihrem Betriebssystem (OS) installiert ist, wie ein Zertifikat eines kommerziellen Zertifizierungsanbieters. Falls Ihre Authentifizierung keine vertrauenswürdige CA ist, müssen Sie eine importieren oder dem Dateisystempfad eine zuweisen. (Kontaktieren Sie Ihren Systemadministrator, falls Sie sich unsicher sind.)

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

Autoritäteneditor

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 metadata Show information for certificate.

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

Zertifikatsinformation Dialog

Sie können die Vertrauensrichtlinien selectString für jedes ausgewählte Zertifikat innerhalb der Kette ändern. Jede Änderung in den Vertrauensrichtlinien eines ausgewählten Zertifikats wird nicht in der Datenbank gespeichert, bis der fileSave Speichere Zertifikat Vertrauensrichtlinien Änderungen in der Datenbank Knopf gedrückt wird pro ausgewähltem Zertifizierung. Den Dialog schließen wird die Richtlinienänderungen nicht anwenden.

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

Speichern der Vertrauensrichtlinien Änderungen

Sie können die gefilterten CAs überprüfen, sowohl die Zwischen- als auch die Stammzertifikate, denen durch Klicken auf sichere Verbindungen getraut wird oder ändern Sie die Standard-Vertrauensrichtlinie indem Sie den transformSettings Optionen Knopf klicken.

Warnung

Die Standard-Vertrauensrichtlinie ändern kann zu Problemen mit sicheren Verbindungen führen.

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

Autoritätenoptionen-Menü

Sie können CAs importieren oder speichern ein Dateisystempfad aus einer Datei, welche mehrere CAs enthält oder importieren einzelne CAs. Das Standard PEM Format für Dateien, welche mehrere CA Kettenzertifikate enthalten, haben das Stammzertifikat am Ende der Datei und alle anschließend unterzeichneten Zertifikate oben, am Anfang der Datei.

Der CA Zertifikat-Importieren-Dialog wird alle CA Zertifikate innerhalb einer Datei finden, unabhängig von der Reihenfolge und gibt auch die Möglichkeit Zertifikate zu importieren, die als ungültig betrachtet werden (falls Sie deren Vertrauensrichtlinien überschreiben). Sie können die Vertrauensrichtlinie nach dem Import außer Kraft setzen, oder tun Sie es später in dem Autoritäten Editor.

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

Zertifikat importieren Dialog

Bemerkung

Wenn Sie Zertifikatinformationen in das PEM Text Feld einfügen, beachten Sie, dass verschlüsselte Zertifikate nicht unterstützt werden.

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.

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

Identitäteneditor

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.

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

PEM/DER Identität importieren

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

PKCS#12 Identität importieren

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.

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

Defekte Layer mit Authentifizierung behandeln

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.

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

Defekte Layer mit Authentifikationskonfiguration bearbeiten

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.
../../../_images/auth-change-config-id.png

Kennung einer Layer Authentifikationskonfiguration ändern (entsichert gelbes Textfeld)

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.

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

Wenn das Authentifizierungssystem initiiert wird, wird der Server die Datei qgis-auth.db im Ordner ~/.qgis2/ oder einem durch die Variable QGIS_AUTH_DB_DIR_PATH definierten Ordner ablegen. Es kann sein, dass der Server Benutzer kein HOME-Verzeichnis hat. In diesem Fall verwenden Sie die entsprechende Umgebungsvariable, um ein Verzeichnis zu definieren, in dem der Server Benutzer Lese-/Schreibberechtigungen hat und das nicht innerhalb des Web zugänglichen Bereichs liegt.

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.

SSL Serverausnahme

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

SSL Serverausnahmen

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 signPlus 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):

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

Manuell eine Konfiguration hinzufügen

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

Konfiguration während einem SSL Fehler hinzufügen

Sobald eine SSL-Konfiguration in der Datenbank gespeichert wird, kann sie bearbeitet oder gelöscht werden.

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

Bestehende SSL Konfiguration

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

Bestehende SSL Konfiguration bearbeiten

Wenn Sie eine SSL-Konfiguration vorkonfigurieren wollen und der Importdialog für Ihre Server-Verbindung funktioniert nicht, können Sie manuell eine Verbindung über die Python-Konsole auslösen, indem Sie den folgenden Code ausführen (Ersetzen Sie https://bugreports.qt-project.org mit der URL Ihres Servers):

from PyQt4.QtNetwork import *
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.