Overzicht authenticatiesysteem

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

Anatomie van het authenticatiesysteem

Authenticatie-database

Het nieuwe authenticatiesysteem slaat configuraties voor authenticatie standaard op in een databasebestand van SQLite, <user home>/.qgis3/qgis-auth.db.

Deze authenticatie-database kan worden verplaatst tussen installaties van QGIS zonder andere huidige instellingen van de gebruikers voor QGIS te beïnvloeden, omdat hij volledig afgezonderd is van de normale instellingen voor QGIS. Een ID voor configuratie (een willekeurige 7-tekens lange alfanumerieke tekenreeks) wordt gegenereerd bij het initieel opslaan van een configuratie in de database. Die vertegenwoordigt de configuratie, waarbij het wordt toegestaan de ID op te slaan in platte tekst componenten van de toepassing, (zoals project-, plug-in, of instellingsbestanden) zonder de daarmee geassocieerde gegevens prijs te geven.

Notitie

De bovenliggende map van de qgis-auth.db kan worden ingesteld met behulp van de volgende omgevingsvariabele, QGIS_AUTH_DB_DIR_PATH, of worden ingesteld op de opdrachtregel bij het opstarten met behulp van de optie --authdbdirectory.

Hoofdwachtwoord

Een gebruiker moet een hoofdwachtwoord definiëren om gevoelige informatie in de database op te slaan of er toegang tot te verkrijgen. Een nieuw hoofdwachtwoord wordt verzocht en geverifieerd bij het initieel opslaan van versleutelde informatie in de database. Alleen wanneer toegang wordt gezocht tot gevoelige informatie wordt de gebruiker gevraagd het hoofdwachtwoord in te voeren, dat dan wordt opgeslagen voor de rest van die sessie (totdat de toepassing wordt afgesloten), tenzij de gebruiker handmatig een actie kiest om de opgeslagen waarde te verwijderen. Sommige instances van het gebruik van het authenticatiesysteem vereisen geen invoer van het hoofdwachtwoord, zoals bij het kiezen van een bestaande configuratie voor authenticatie, of het toepassen van een configuratie op een configuratie voor een server (zoals bij het toevoegen van een WMS-laag).

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

Nieuw hoofdwachtwoord invoeren

Notitie

Een pad naar een bestand dat het hoofdwachtwoord bevat kan worden ingesteld met behulp van de volgende omgevingsvariabele, QGIS_AUTH_PASSWORD_FILE.

Hoofdwachtwoord beheren

Eenmaal ingesteld kan het hoofdwachtwoord worden hersteld; het huidige hoofdwachtwoord is voorafgaand aan het herstellen nodig. Gedurende dit proces bestaat er een optie om een volledige back-up van de huidige database te genereren.

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

Hoofdwachtwoord opnieuw instellen

Als de gebruiker het hoofdwachtwoord vergeet, bestaat er geen manier om het terug te vinden of te overschrijven. Er bestaat ook geen manier om versleutelde informatie terug te halen zonder het hoofdwachtwoord te kennen.

Als een gebruiker zijn bestaande hoofdwachtwoord drie keer foutief invoert, zal een dialoogvenster aanbieden om de database te wissen.

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

Na drie ongeldige pogingen wordt naar het wachtwoord gevraagd

Configuraties voor authenticatie

U kunt configuraties voor authenticatie beheren vanuit Configuraties op de tab Authenticatie van het dialoogvenster QGIS Opties (Extra ‣ Opties).

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

Configuraties bewerken

Gebruik de knop signPlus om een nieuwe configuratie toe te voegen, de knop signMinus om configuraties te verwijderen, en de knop symbologyEdit om bestaande aan te passen.

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

Configuraties vanuit de bewerker voor Configuraties toevoegen

Hetzelfde type bewerkingen voor het beheren van configuraties voor authenticatie (Toevoegen, Bewerken en Verwijderen) kan ook worden uitgevoerd bij het configureren van een bepaalde serviceverbinding, zoals het configureren van een serviceverbinding voor OWS. Daarvoor zijn er binnen de configuratieselectie actieknoppen voor het volledig beheren van configuraties die kunnen worden gevonden in de authenticatie-database. In dat geval is er geen noodzaak om te gaan naar de Configuraties op de tab Authenticatie van Opties van QGIS, tenzij u meer uitgebreid beheer van de configuraties wilt uitvoeren.

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

Dialoogvenster WMS-verbinding dat de knoppen voor configuratie voor authenticatie Toevoegen, Bewerken, en Verwijderen weergeeft

Bij het maken of bewerken van een configuratie voor authenticatie, is de info die wordt vereist een naam, een authenticatiemethode en elke andere info die nodig is voor de authenticatiemethode (vind meer over de beschikbare typen authenticatie in Authenticatiemethoden).

Authenticatiemethoden

Beschikbare authenticaties worden verschaft door plug-ins voor C++ op nagenoeg dezelfde manier als dat plug-ins voor gegevensproviders worden ondersteund door QGIS. De methode van authenticatie die kan worden geselecteerd is relatief aan de toegang die wordt verleend voor de bron/provider, bijv. HTTP(S) of database, en of er ondersteuning is in zowel de code voor QGIS als een plug-in. Daarom zouden sommige plug-ins voor authenticatiemethoden niet overal toegepast kunnen worden waar een selectie voor een configuratie voor authenticatie wordt weergegeven. Een lijst van beschikbare plug-ins voor authenticatiemethoden en hun compatibele bron/providers kan worden bereikt via Extra ‣ Opties en, op de tab Authenticatie, klik op de knop options Geïnstalleerde plug-ins.

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

Lijst met beschikbare plug-ins voor methoden

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

Configuraties voor basis HTTP-authenticatie

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

Configuraties authenticatie voor tokens van ESRI

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

Configuraties voor authenticatie voor OAuth2

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

Configuraties voor authenticatie PKI-paden

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

Configuraties voor authenticatie PKI PKCS#12 bestandspaden

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

Opgeslagen identiteit configuraties voor authenticatie

Notitie

De Bron-URL is momenteel een niet geïmplementeerde mogelijkheid die er uiteindelijk toe moet leiden dat een bepaalde configuratie automatisch wordt gekozen bij het verbinden met bronnen op een opgegeven URL.

Gereedschappen voor hoofdwachtwoord en configuratie voor authenticatie

In het menu Opties (Extra ‣ Opties) op de tab Authenticatie, staan verschillende acties voor gereedschappen om de authenticatiedatabase en de configuraties te beheren:

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

menu Gereedschappen

  • Hoofdwachtwoord invoeren:

    • Opent het dialoogvenster voor het invoeren van het hoofdwachtwoord, onafhankelijk van een opdracht voor de database voor authenticatie.

  • Hoofdwachtwoord uit cache verwijderen.

    • Verwijdert het hoofdwachtwoord als dat is ingesteld via het dialoogvenster voor invoer.

  • Hoofdwachtwoord opnieuw instellen

    • Opent een dialoogvenster om het hoofdwachtwoord te wijzigen (het huidige hoofdwachtwoord moet bekend zijn) en optioneel een back-up te maken van de huidige database.

  • Opgeslagen configuraties voor authenticatie verwijderen: Leegt de interne cache voor opzoeken van configuraties gebruikt om netwerkverbindingen te versnellen. Dit schoont niet de beheerscache van het bronnetwerk van QGIS op, die een herstart van QGIS vereist.

  • Hoofdwachtwoord opnieuw instellen: Vervangt het huidige hoofdwachtwoord door een nieuw. Het huidige hoofdwachtwoord is, voorafgaand aan het herstellen, nodig voor het herstellen en een back-up van de database kan worden uitgevoerd.

  • Alle configuraties voor authenticatie verwijderen: Schoont de database van alle records voor configuratie, zonder andere opgeslagen records te verwijderen.

  • Authenticatiedatabase wissen: Maakt een taak aan voor een volledige back-up van de huidige database en een volledige herbouw van de tabelstructuur van de database. Deze acties worden later gepland, zodat andere bewerkingen, zoals het laden van een project, de bewerking niet onderbreken of fouten veroorzaken door een tijdelijk ontbrekende database.

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

    Verificatiemenu Database wissen

Configuratie voor authenticatie gebruiken

Gewoonlijk wordt een configuratie voor authenticatie geselecteerd in een dialoogvenster voor configuratie van een netwerkservice (zoals WMS). Echter, het widget voor selectie van de configuratie kan overal worden ingebed waar authenticatie nodig is of in niet-bron functionaliteit, zoals in derde-partij PyQGIS of plug-ins voor C++.

Bij het gebruiken van de selectiemogelijkheid wordt Geen authenticatie weergegeven in het besturingselement van het pop-upmenu als niets is geselecteerd, wanneer er geen configuraties zijn om uit te kiezen, of wanneer een eerder toegewezen configuratie niet kan worden gevonden in de database. De velden Type en ID zijn alleen-lezen en geven respectievelijk een beschrijving van de authenticatiemethode en de ID van de configuratie.

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

Selectie voor configuratie voor authenticatie zonder authenticatie

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

Selectie voor configuratie voor authenticatie met geselecteerde configuratie

Python-bindingen

Alle klassen en publieke functies hebben sip-bindingen, uitgezonderd QgsAuthCrypto, omdat beheer van het hashen van het hoofdwachtwoord en encryptie van de authenticatiedatabase zouden moeten worden afgehandeld via de hoofdtoepassing en niet via Python. Bekijk Overwegingen voor beveiliging met betrekking tot toegang tot Python.