Benutzerauthentifizierung Workflows

Figure Authentication usage 1

../../../_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.

Figure HTTP(S) authentication 1

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

Konfigurieren einer WMS-Verbindung für HTTP BASIC

Datenbank Authentifikation

Verbindungen zu Datenbankressourcen werden in der Regel als Schlüssel=Werte-Paar gespeichert, das Benutzernamen aussetzt und (optional) Passwörter, wenn keine Authentifizierungskonfiguration genutzt wird. Wenn ein neues Auth System konfiguriert wird, ist der Schlüssel=Wert eine abstrahierte Darstellung der Anmeldeinformationen, z. B. authfg=81t21b9`

Figure Database Authentication 1

../../../_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.

Figure PKI authentication 1

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

PKI Konfiguration Workflow

Alle PKI Komponenten können in einem separaten Editor verwaltet werden innerhalb des Zertifikate Managers, auf welchen über den Authentifikation Reiter zugegriffen werden kann im QGIS Optionen Dialog (Einstellungen ‣ Optionen) indem Sie auf den [Zertifikate verwalten] Knopf klicken.

Figure PKI authentication 2

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

Öffnen der Zertifikatsverwaltung

Im Zertifikate verwalten Reiter gibt es Editoren für Identitäten, Server und Autoritäten. Jeder von ihnen ist in seiner eigenen Registerkarte aufgehoben und diese werden nun unten in der Reihenfolge, in der sie im Workflow-Diagramm erscheinen, beschrieben. Die Registerkarten Reihenfolge ist relativ zu den häufigst aufgerufenen Editoren sortiert, wenn Sie sich einmal an den Workflow gewöhnt haben.

Bemerkung

Da alle Änderungen in dem Autentifikationssystem direkt in die Authentifikationsdatenbank geschrieben werden, gibt es keine Notwendigkeit auf den Optionen Dialog [OK] Knopf zu drücken, um etwas zu speichern. Dies steht im Gegensatz zu anderen Einstellungen im Optionen 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.)

Figure PKI authentication 3

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

Autoritäteneditor

Standardmäßig sind die Stammzertifizierungsstellen aus Ihrem OS verfügbar; jedoch sind ihre Vertrauenseinstellungen nicht vererbbar. Sie sollten die Zertifikatvertrauensrichtlinieneinstellungen, vor allem dann, wenn Ihr OS Stammzertifizierungsstellen ihre Richtlinien angepasst haben, überprüfen. Jede Bescheinigung, die abgelaufen ist, wird als nicht vertrauenswürdig eingestuft werden und wird nicht in sicheren Server-Verbindungen verwendet werden, sofern Sie nicht ausdrücklich ihr Vertrauen bestätigen. Um die Vertrauenswürdigkeit für jedes Zertifikat zu sehen, klicken Sie propertiesWidget Zeige Zertifikatinformationen.

Figure PKI authentication 4

../../../_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.

Figure PKI authentication 5

../../../_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.

Figure PKI authentication 6

../../../_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.

Figure PKI authentication 7

../../../_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.

Figure PKI identities authentication 1

../../../_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.

Figure PKI identities authentication 2

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

PEM/DER Identität importieren

Figure PKI identities authentication 3

../../../_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.

Figure PKI authentication Bad layers 1

../../../_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.

Figure PKI authentication Bad layers 2

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

Defekte Layer mit Authentifikationskonfiguration bearbeiten

Kennung der Authentifikationskonfiguration ändern

Gelegentlich müssen Sie die Authentifizierungs Konfigurations-ID ändern, die für den Zugriff auf eine Ressource zugeordnet ist. Es gibt Fälle, in denen dies nützlich ist:

  • Die Ressourcen Auth Config ID ist nicht mehr gültig - Dies kann auftreten, wenn Sie Auth Datenbanken gewechselt haben und eine neue Konfiguration einer ID zuweisen müssen, die bereits mit einer Ressource verbunden ist.

  • Gemeinsame Projektdateien - Wenn Sie Projekte zwischen Nutzern teilen wollen, z.B. über einen gemeinsam genutzten Dateiserver, können Sie einen 7-stellige String vordefinieren (mit a-z und/oder 0-9), die der Ressource zugeordnet ist. Dann ändern die einzelnen Benutzer die ID einer Authentifizierungs-Konfiguration, die spezifisch ist für ihre Anmeldeinformationen für die Ressource. Wenn das Projekt geöffnet wird, wird die ID in der Authentifizierungsdatenbank gefunden, aber die Anmeldeinformationen sind unterschiedlich pro Benutzer.

Figure Authentication ID 1

../../../_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 wird unmittelbar nach dem Zugriff aus der Serverumgebung entfernt

SSL Serverausnahme

Figure Server authentication 1

../../../_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.

Sie können eine SSL-Server-Konfiguration vorkonfigurieren, indem Sie auf die Taste signPlus klicken. Alternativ können Sie auch eine Konfiguration hinzuzufügen, wenn eine SSL-Fehler während einer Verbindung auftritt und Sie eine SSL-Fehler Dialog sehen (wo der Fehler vorübergehend ignoriert oder in die Datenbank gespeichert und ignoriert werden kann):

Figure Server authentication 2

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

Manuell eine Konfiguration hinzufügen

Figure Server authentication 3

../../../_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.

Figure Server authentication 4

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

Bestehende SSL Konfiguration

Figure Server authentication 5

../../../_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.