21.1. Authentifizierungssystem Übersicht

../../../_images/auth-system-overview.png

Abb. 21.1 Anatomie des Authentifizierungssystems

21.1.1. Authentifikationsdatenbank

The new authentication system stores authentication configurations in an SQLite database file located, by default, at <profile directory>/qgis-auth.db.

Diese Authentifizierungsdatenbank kann ohne Auswirkung auf andere aktuelle QGIS Benutzereinstellungen zwischen QGIS Installationen bewegt werden, da sie völlig unabhängig von normalen QGIS-Einstellungen ist. Eine Konfigurations-ID (eine zufällige 7-stellige alphanumerische Zeichenfolge) wird erzeugt, wenn eine Konfiguration zu der Datenbank gespeichert wird. Dies stellt die Konfiguration dar, wodurch die ID im Klartext als Anwendungskomponenten gespeichert wird (z. B. Projekt-, Plugin- oder Einstellungsdateien) ohne Offenlegung ihrer zugehörigen Anmeldeinformationen.

Bemerkung

Das übergeordnete Verzeichnis des qgis-auth.db`kann mit der folgenden Umgebungsvariablen gesetzt werden, ``QGIS_AUTH_DB_DIR_PATH`, oder mit der --authdbdirectory Option während des Starts auf der Kommandozeile.

21.1.2. Hauptpasswort

To store or access sensitive information within the database, a user must define a master password. A new master password is requested and verified when initially storing any encrypted data to the database. When sensitive information is accessed, the user is prompted for the master password. The password is then cached for the remainder of the session (until application is quit), unless the user manually chooses an action to clear its cached value. Some instances of using the authentication system do not require input of the master password, such as when selecting an existing authentication configuration, or applying a configuration to a server configuration (such as when adding a WMS layer).

You can choose to save the password in the Wallet/Keyring of your computer.

../../../_images/auth-password-new_enter.png

Abb. 21.2 Neues Hauptpasswort eingeben

Bemerkung

Ein Pfad zu einer Datei, die das Hauptpasswort beinhalet, kann mit Hilfe der Umgebungsvariablen eingestellt werden QGIS_AUTH_PASSWORD_FILE.

21.1.2.1. Hauptpasswort verwalten

Einmal eingestellt, kann das Hauptpasswort zurückgesetzt werden, das aktuelle Hauptpasswort wird vor dem Zurücksetzen jedoch benötigt werden. Während dieses Prozesses ist es eine Option, eine vollständige Sicherung der aktuellen Datenbank vorzunehmen.

../../../_images/auth-password-reset.png

Abb. 21.3 Hauptpasswort zurücksetzen

Wenn der Benutzer das Hauptpasswort vergisst, gibt es keine Möglichkeit es abzurufen oder außer Kraft setzen. Es gibt auch keine Mittel die verschlüsselten Informationen abzurufen ohne das Master-Passwort zu kennen.

Wenn ein Benutzer das bestehende Password drei Mal falsch eingibt, wird ein Dialog Ihnen anbieten, die Datenbank zu löschen.

../../../_images/auth-password-invalid-3times.png

Abb. 21.4 Passwortabfrage nach drei ungültigen Versuchen

21.1.3. Authentifikationskonfiguration

Sie können Authentifizierungseinstellungen über Konfigurationen in dem Authentifizierung Reiter des QGIS Optionen Dialog (Einstellungen► Optionen) vornehmen.

../../../_images/auth-editor-configs2.png

Abb. 21.5 Konfigurationen Editor

Nutzen Sie den signPlus Knopf, um neue Konfigurationen hinzuzufügen, den signMinus Knopf um Sie zu entfernen und den symbologyEdit Knopf um bestehende zu bearbeiten.

../../../_images/auth-config-create_authcfg-id.png

Abb. 21.6 Konfigurationen von innerhalb des Konfigurationseditors hinzufügen

Die selben Arten von Tätigkeiten für Authentifikationskonfigurationen (Hinzufügen, Bearbeiten und Entfernen) können auch bei der Konfiguration einer Service-Verbindung, wie der Konfiguration einer OWS-Service-Verbindung, getätigt werden. Dafür gibt es Aktionsschaltflächen innerhalb der Konfigurationsauswahl für die vollständige Verwaltungskonfigurationen die man innerhalb der Authentifikationsdatenbank findet. In diesem Fall ist es nicht erforderlich in den Konfigurationen im Authentifikation Reiter zu wechseln, es sei denn Sie müssen weitere umfassende Konfigurationen vornehmen.

../../../_images/auth-selector-wms-connection.png

Abb. 21.7 WMS connection dialog showing Add, Edit, and Remove authentication configuration buttons

Beim erstellen oder bearbeiten einer Authentifikationskonfiguration, ist ein Name, eine Authentifizierungsmethode oder eine andere Information, die die Authentifizierungsmethode benötigt, erforderlich (mehr über die verfügbaren Authentifikationstypen in Authentifizierungsmethoden).

21.1.4. Authentifizierungsmethoden

Available authentications are provided by C++ plugins much in the same way data provider plugins are supported by QGIS. The method of authentication that can be selected is relative to the access needed for the resource/provider, e.g. HTTP(S) or database, and whether there is support in both QGIS code and a plugin. As such, some authentication method plugins may not be applicable everywhere an authentication configuration selector is shown. A list of available authentication method plugins and their compatible resource/providers can be accessed going to Settings ► Options and, in the Authentication tab, click the options Installed Plugins button.

../../../_images/auth-method-listing.png

Abb. 21.8 Verfügbare Liste von Methodenerweiterungen

Plugins can be created for new authentication methods that do not require QGIS to be recompiled. Since the support for plugins is currently C++-only, QGIS will need to be restarted for the new dropped-in plugin to become available to the user. Ensure your plugin is compiled against the same target version of QGIS if you intend to add it to an existing target install.

../../../_images/auth-config-create_basic-auth.png

Abb. 21.9 Einfache HTTP Authentifikationskonfiguration

../../../_images/auth-config-create_esritoken.png

Abb. 21.10 ESRI Token authentication configs

../../../_images/auth-config-create_oauth2.png

Abb. 21.11 OAuth2 authentication configs

../../../_images/auth-config-create_pem-der-paths.png

Abb. 21.12 PKI Pfad-Authentifikationskonfiguration

../../../_images/auth-config-create_pkcs12-paths.png

Abb. 21.13 PKI PKCS#12 Dateipfad Authentifikationskonfiguration

../../../_images/auth-config-create_stored-identity2.png

Abb. 21.14 Gespeicherte Identität Authentifikationskonfigurationen

Bemerkung

Die URL-Ressource ist derzeit eine nicht ausführbare Funktion, die eine bestimmte Konfiguration automatisch wählt, wenn sie sich mit einer Ressource und gegebenen URL verbindet.

21.1.5. Hauptpasswort und Auth Konfig Hilfsmittel

Unter dem Optionen-Menü (Einstellungen ► Optionen) in der Authentifikation Registerkarte gibt es verschiedene Werkzeuge die Authentifikationsdatenbank und -konfigurationen zu verwalten:

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

Abb. 21.15 Werkzeug-Menü

  • Input master password: opens the master password input dialog, independent of performing any authentication database command

  • Clear cached master password: unsets the master password if it has been set

  • Reset master password: opens a dialog to change the master password (the current password must be known) and optionally back up the current database

  • Clear network authentication access cache: clears the authentication cache of all connections

  • Automatically clear network authentication access cache on SSL errors: the connection cache stores all authentication data for connections, also when the connection fails. If you change authentication configurations or certification authorities, you should clear the authentication cache or restart QGIS. When this option is checked, the authentication cache will be automatically cleared every time an SSL error occurs and you choose to abort the connection

  • Integrate master password with your Wallet/Keyring: adds the master password to your personal Wallet/Keyring

  • Store/update the master password in your Wallet/Keyring: updates the changed master password in your Wallet/Keyring

  • Clear the master password from your Wallet/Keyring: deletes the master password from your Wallet/Keyring

  • Enable password helper debug log: enables a debug tool that will contain all the log information of the authentication methods

  • Clear cached authentication configurations: clears the internal lookup cache for configurations, used to speed up network connections. This does not clear QGIS’s core network access manager’s cache, which requires a relaunch of QGIS.

  • Remove all authentication configurations: clears the database of all configuration records, without removing other stored records.

  • Erase authentication database: schedules a backup of the current database and complete rebuild of the database table structure. The actions are scheduled for a later time, to ensure that other operations, like project loading, do not interrupt the operation or cause errors due to a temporarily missing database.

    ../../../_images/auth-db-erase.png

    Abb. 21.16 Menü DB Löschverifizierung

21.1.6. Gebrauche Authentifikationskonfiguration

Typischerweise wird eine Authentifizierungskonfiguration in einem Konfigurationsdialog für ein Netzwerk-Dienste (wie WMS) ausgewählt. Allerdings kann das Auswahl-Widget überall, wo Authentifizierung benötigt wird, eingebettet werden oder in einer Nicht-Kernfunktionalität, wie in Dritt-Beteiligten PyQGIS oder C ++ Plugins.

Wenn die Auswahl Keine Authentifizierung im Pop-up-Menü anzeigt, wenn nichts ausgewählt ist, wenn es keine Konfigurationen zur Auswahl gibt oder wenn eine zuvor zugewiesene Konfiguration nicht mehr in der Datenbank gefunden wurde. Die Typ und ID Felder sind schreibgeschützt und stellen eine Beschreibung der Authentifizierungsmethode zur Verfügung und der entsprechenden ID der Config.

../../../_images/auth-selector-no-authentication.png

Abb. 21.17 Authentication configuration selector with no authentication

../../../_images/auth-selector-pkcs12-authentication.png

Abb. 21.18 Authentication configuration selector with selected config

21.1.7. Python-Bindung

Alle Klassen und öffentlichen Funktionen haben sip Bindungen, außer QgsAuthCrypto, da das Management des Master-Passwort-Hashing und die Auth-Datenbank-Verschlüsselung von der Hauptanwendung und nicht über Python behandelt werden sollte. Siehe :ref:authentication_security_considerations` über Python-Zugang.