Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 55.36%.

21.1. Översikt över autentiseringssystem

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

Fig. 21.1 Autentiseringssystemets anatomi

21.1.1. Autentiseringsdatabas

Autentiseringssystemet lagrar autentiseringskonfigurationer i en SQLite-databasfil som finns, som standard, på <profile directory>/qgis-auth.db.

Denna autentiseringsdatabas kan flyttas mellan QGIS-installationer utan att påverka andra aktuella QGIS-användarinställningar, eftersom den är helt skild från normala QGIS-inställningar. Ett konfigurations-ID (en slumpmässig alfanumerisk sträng med 7 tecken) genereras när en konfiguration initialt lagras i databasen. Detta representerar konfigurationen, vilket gör att ID:t kan lagras i programkomponenter i klartext (t.ex. projekt-, plugin- eller inställningsfiler) utan att de tillhörande autentiseringsuppgifterna avslöjas.

Observera

Den överordnade katalogen för qgis-auth.db kan ställas in med hjälp av följande miljövariabel, QGIS_AUTH_DB_DIR_PATH, eller ställas in på kommandoraden under start med alternativet --authdbdirectory.

21.1.2. Anpassade autentiseringsdatabaser

QGIS can be configured to use a custom authentication database instead of the above mentioned default SQLite one: any database supported by the Qt SQL module can be used (e.g. PostgreSQL, MySQL, etc), provided that the corresponding Qt SQL driver is available in the system.

Detta kan vara användbart i scenarier där en användare vill dela samma autentiseringsdatabas mellan flera QGIS-installationer, eller när en användare vill använda en annan autentiseringsdatabas än standard SQLite eller när en centraliserad autentiseringsdatabas används av QGIS-servern.

Det enda sättet att konfigurera en anpassad autentiseringsdatabas är genom att ställa in miljövariabeln QGIS_AUTH_DB_URI till URI för anslutningen, URI är i form av driver://username:password@hostname:port/database?options.

Var:
  • driver är namnet på Qt SQL-drivrutinen som ska användas, t.ex. QPSQL för PostgreSQL, QMYSQL för MySQL, etc.

  • username är det användarnamn som ska användas för att ansluta till databasen

  • password är det lösenord som ska användas för att ansluta till databasen

  • hostname är värdnamnet på databasservern

  • port är porten till databasservern

  • database är namnet på den databas som ska användas

  • options är alternativen som ska skickas till drivrutinen, t.ex. sslmode = require för PostgreSQL

Observera

Schemat kan anges i URI-alternativen, t.ex. QPSQL://användarnamn:lösenord@hostname:port/database?schema=schema_name

Databasen måste finnas innan QGIS startas och användaren måste ha de nödvändiga behörigheterna för att ansluta till databasen och för att skapa de nödvändiga tabellerna om de inte redan finns.

Varning

Lösenordet i URI:n lagras i klartext i miljövariabeln, så vi rekommenderar att du använder en användare utan lösenord eller en användare med begränsade behörigheter för att ansluta till databasen.

Varning

Alla databaser som inte är baserade på SQLite anses vara skrivskyddade (detta kan ändras av Python-tillägg vid behov).

Detta är en avancerad funktion som är utformad för att QGIS ska kunna använda en eller flera anpassade autentiseringsdatabaser eller till och med anpassade Python-implementeringar av lagring av autentiseringsuppgifter.

Systemet är också utformat för att möjliggöra användning av flera autentiseringsdatabaser, men det finns för närvarande inget användargränssnitt för att hantera lagring av flera autentiseringsuppgifter, så användningen kräver manuell konfiguration och hantering, vanligtvis från ett Python-plugin.

21.1.3. Huvudlösenord

För att lagra eller få tillgång till känslig information i databasen måste användaren definiera ett ”huvudlösenord”. Ett nytt huvudlösenord begärs och verifieras när krypterade data första gången lagras i databasen. Vid åtkomst till känslig information uppmanas användaren att ange huvudlösenordet. Lösenordet cachelagras sedan under resten av sessionen (tills programmet avslutas), såvida inte användaren manuellt väljer en åtgärd för att rensa det cachelagrade värdet. Vid vissa tillfällen då autentiseringssystemet används krävs inte att huvudlösenordet anges, t.ex. när en befintlig autentiseringskonfiguration väljs eller när en konfiguration tillämpas på en serverkonfiguration (t.ex. när ett WMS-lager läggs till).

Du kan välja att spara lösenordet i datorns Wallet/Keyring.

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

Fig. 21.2 Ange nytt huvudlösenord

Observera

En sökväg till en fil som innehåller huvudlösenordet kan anges med hjälp av följande miljövariabel, QGIS_AUTH_PASSWORD_FILE.

21.1.3.1. Hantering av huvudlösenordet

När huvudlösenordet har ställts in kan det återställas; det aktuella huvudlösenordet måste anges innan återställningen kan göras. Under denna process finns det möjlighet att generera en fullständig säkerhetskopia av den aktuella databasen.

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

Fig. 21.3 Återställning av huvudlösenord

Om användaren glömmer huvudlösenordet finns det inget sätt att hämta eller åsidosätta det. Det finns inte heller något sätt att hämta krypterad information utan att känna till huvudlösenordet.

Om en användare skriver in sitt befintliga lösenord felaktigt tre gånger kommer dialogrutan att erbjuda sig att radera databasen.

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

Fig. 21.4 Lösenordsuppmaning efter tre ogiltiga försök

21.1.4. Konfigurationer för autentisering

Du kan hantera autentiseringskonfigurationer från Configurations i Autentisering-fliken i QGIS Options-dialogrutan (Inställningar ► Alternativ).

../../../_images/options_authentication.png

Fig. 21.5 Redaktör för konfigurationer

To create a new authentication configuration:

  1. Press the symbologyAdd Add a new authentication configuration

  2. Provide a Name and optional Resource URL

  3. A seven-characters ID will be assigned to the configuration for identification purpose. It can be customized after you pressed the locked Unlock to edit ID button. Be aware that updating that ID may break things.

  4. Select the target method and fill the corresponding connection details

  5. Once done, click Save to save the configuration. The saved configuration appears in the list of authentication configurations and can be used with supported connections.

The saved configuration can later be edited using symbologyEdit Edit selected configuration or removed using symbologyRemove Delete selected configuration.

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

Fig. 21.6 Lägga till konfiguration från konfigurationsredigeraren

The same type of operations for authentication configuration management (Add, Edit and Remove) can be done when configuring a given service connection, such as configuring an OWS service connection. For that, there are action buttons within the configuration selector for fully managing configurations found within the authentication database. In this case, there is no need to go to the configurations in Authentication tab of QGIS options unless you need to do more comprehensive configuration management.

../../../_images/add_connection_wms.png

Fig. 21.7 WMS connection dialog showing authentication configuration widget

När du skapar eller redigerar en autentiseringskonfiguration krävs ett namn, en autentiseringsmetod och eventuell annan information som autentiseringsmetoden kräver (se mer om tillgängliga autentiseringstyper i Autentiseringsmetoder).

21.1.5. Autentiseringsmetoder

Tillgängliga autentiseringar tillhandahålls av C++-tillägg på ungefär samma sätt som tillägg för dataleverantörer stöds av QGIS. Vilken autentiseringsmetod som kan väljas beror på vilken åtkomst som behövs för resursen/providern, t.ex. HTTP(S) eller databas, och om det finns stöd i både QGIS-koden och ett tillägg. Därför kan det hända att vissa tillägg för autentiseringsmetoder inte är tillämpliga överallt där en väljare för autentiseringskonfiguration visas. En lista över tillgängliga tillägg för autentiseringsmetoder och deras kompatibla resurser/providers kan nås genom att gå till Inställningar ► Alternativ och, på fliken Autentisering, klicka på knappen options Installed Tillägg.

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

Fig. 21.8 Lista över tillgängliga metodplugins

Tillägg kan skapas för nya autentiseringsmetoder som inte kräver att QGIS kompileras om. Eftersom stödet för tillägg för närvarande endast är C++ måste QGIS startas om för att det nya tillägget ska bli tillgängligt för användaren. Se till att ditt tillägg är kompilerat mot samma målversion av QGIS om du tänker lägga till det i en befintlig målinstallation.

21.1.5.1. API Header Authentication

The API Header authentication method allows you to connect to services that require custom HTTP headers, such as API keys. For example, if a WMS service requires an API key sent as a header (e.g. X-API-KEY), you can use this method to provide it.

You can add one or more headers with the symbologyAdd button; provide a Header Name and Header Value for each entry. Use symbologyRemove to delete the selected header or the Clear button to remove all entries.

../../../_images/auth-method-api-header.png

Fig. 21.9 API Header authentication configs

21.1.5.2. AWS S3 Authentication

The AWS S3 authentication method allows you to connect to Amazon S3 resources by providing a Name, Resource, Username, Password, and Region.

../../../_images/auth-method-awss3.png

Fig. 21.10 AWS S3 authentication configs

21.1.5.3. Basic Authentication

The Basic authentication method is used for services that require standard HTTP authentication with a Username, Password and Realm.

../../../_images/auth-method-basic-auth.png

Fig. 21.11 Konfigurationer för grundläggande HTTP-autentisering

21.1.5.4. ESRI Token Authentication

The ESRI token authentication method is used for ArcGIS REST Servers that require token-based authentication.

../../../_images/auth-method-esritoken.png

Fig. 21.12 Konfigurationer för ESRI Token-autentisering

21.1.5.5. Identity certificate authentication

The Identity certificate authentication method allows you to connect using a client identity certificate.

../../../_images/auth-method-identity-cert.png

Fig. 21.13 Identity-cert authentication configs

21.1.5.6. MapTiler HMAC-SHA256 Authentication

The MapTiler HMAC-SHA256 authentication method is used to connect to MapTiler services that require HMAC-SHA256 authorization.

../../../_images/auth-method-maptiler.png

Fig. 21.14 MapTiler HmacSha256 authentication configs

21.1.5.7. OAuth2 Authentication

The OAuth2 authentication method is used to connect to services that require OAuth2 2.0 authorization, allowing secure access using client credential and token-based authentication.

It supports using localhost as the redirect host, providing compatibility with services that do not accept http://127.0.0.1 redirects (for example, Microsoft SharePoint).

An advanced OAuth2 configuration option, Extra token header(s), allows attaching additional tokens returned by the OAuth2 token endpoint as HTTP(S) request headers.

../../../_images/auth-method-oauth2.png

Fig. 21.15 Konfigurationer för OAuth2-autentisering

21.1.5.8. PKI-Paths Authentication

The PKI-Paths authentication method allows you to connect using separate certificate and key files stored on your system.

../../../_images/auth-method-pem-der-paths.png

Fig. 21.16 PKI-sökvägar autentisering konfigurationer

21.1.5.9. PKI-PKCS#12 Authentication

The PKI-PKCS#12 authentication method allows you to connect using a single bundle file containing both the certificate and private key, with an optional passphrase for the key.

../../../_images/auth-method-pkcs12-paths.png

Fig. 21.17 PKI PKCS#12 filsökvägar autentisering konfigurationer

21.1.6. Verktyg för Master Password och Auth Config

Under menyn Options (Inställningar ► Alternativ) på fliken Authentication finns det flera verktyg för att hantera autentiseringsdatabasen och konfigurationerna:

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

Fig. 21.18 Verktygsmeny

  • 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 the Wallet: adds the master password to your personal Wallet/Keyring

  • Clear the master password from the Wallet…: 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.

  • Import authentication configurations from file…: imports from an .XML file details for creating custom authentication configurations.

  • Export selected authentication configurations to file…: exports the selected items to a possibly encrypted .XML file.

  • 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.

21.1.7. Använda autentiseringskonfigurationer

Vanligtvis väljs en autentiseringskonfiguration i en konfigurationsdialog för en nätverkstjänst (t.ex. WMS). Väljarwidgeten kan dock bäddas in var som helst där autentisering behövs eller i icke-kärnfunktioner, som i PyQGIS- eller C++-tillägg från tredje part.

When using the selector, No authentication is displayed in the pop-up menu control when nothing is selected, when there are no configurations to choose from, or when a previously assigned configuration can no longer be found in the database. Use the drop-down menu to select an existing authentication configuration or press symbologyAdd Create a new authentication configuration to create a configuration you could use. More details at Autentisering.

../../../_images/authentication-selector-set.png

Fig. 21.19 Konfigurationsväljare för autentisering med vald konfiguration

21.1.8. Python-bindningar

All classes and public functions have sip bindings, except QgsAuthCrypto, since management of the master password hashing and auth database encryption should be handled by the main app, and not via Python.

När huvudlösenordet har angetts är API:et öppet för åtkomst till autentiseringskonfigurationer i autentiseringsdatabasen, på samma sätt som Firefox fungerar. Ingen mur mot PyQGIS-åtkomst har dock definierats. Detta kan leda till problem där en användare laddar ner/installerar ett skadligt PyQGIS-plugin eller en fristående app som får tillgång till autentiseringsuppgifter.