24.1. Overzicht authenticatiesysteem

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

Fig. 24.1 Anatomie van het authenticatiesysteem

24.1.1. Authenticatie-database

Het nieuwe authenticatiesysteem slaat configuraties voor authenticatie standaard op in een databasebestand van SQLite, <profile directory>/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.

24.1.2. 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. Wanneer toegang wordt gezocht tot gevoelige informatie wordt de gebruiker gevraagd het hoofdwachtwoord in te voeren. Het wachtwoord 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).

U kunt er voor kiezen het wachtwoord op te slaan in de Wallet/Keyring van uw computer.

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

Fig. 24.2 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.

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

Fig. 24.3 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

Fig. 24.4 Na drie ongeldige pogingen wordt naar het wachtwoord gevraagd

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

Fig. 24.5 Configuraties bewerken

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

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

Fig. 24.6 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

Fig. 24.7 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).

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

Fig. 24.8 Lijst met beschikbare plug-ins voor methoden

Plug-ins kunnen worden gemaakt voor nieuwe authenticatiemethoden die geen QGIS nodig hebben om opnieuw te worden gecompileerd. Omdat de ondersteuning voor plug-ins momenteel alleen C++ is, dient QGIS opnieuw te worden opgestart om de nieuw geïnstalleerde plug-in beschikbaar te maken voor de gebruiker. Zorg er voor dat uw plug-in is gecompileerd voor dezelfde doelversie van QGIS als u van plan bent om hem toe te voegen aan een bestaande doelinstallatie.

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

Fig. 24.9 Configuraties voor basis HTTP-authenticatie

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

Fig. 24.10 Configuraties authenticatie voor tokens van ESRI

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

Fig. 24.11 Configuraties voor authenticatie voor OAuth2

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

Fig. 24.12 Configuraties voor authenticatie PKI-paden

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

Fig. 24.13 Configuraties voor authenticatie PKI PKCS#12 bestandspaden

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

Fig. 24.14 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.

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

Fig. 24.15 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

  • 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

  • Cache voor toegang netwerk authenticatie leegmaken: leegt de cache voor authenticatie van alle verbindingen

  • Automatisch cache voor toegang netwerk authenticatie bij fouten in SSL leegmaken: de cache voor de verbinding slaat alle gegevens voor authenticatie voor verbindingen op, ook als de verbinding mislukt. Wanneer u configuraties voor authenticatie of autoriteiten voor certificaten wijzigt zou u de cache voor authenticatie leeg moeten maken of QGIS opnieuw moeten starten. Als deze optie is geselecteerd zal de cache voor authenticatie automatisch leeg worden gemaakt, elke keer als er een SSL-fout optreedt en u er voor kiest de verbinding af te breken

  • Hoofdwachtwoord integreren met uw Wallet/Keyring: voegt het hoofdwachtwoord toe aan uw persoonlijke Wallet/Keyring

  • Het hoofdwachtwoord opslaan/bijwerken in uw Wallet/Keyring: werkt het gewijzigde hoofdwachtwoord bij in uw Wallet/Keyring

  • Verwijder het hoofdwachtwoord uit uw Wallet/Keyring: verwijdert het hoofdwachtwoord uit uw Wallet/Keyring

  • Log voor hulp bij debuggen van wachtwoord inschakelen: schakelt een gereedschap voor debuggen in dat alle informatie van het loggen zal bevatten van de methoden voor authenticatie

  • Gecachete 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 opnieuw starten van QGIS vereist.

  • 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. De acties worden later gepland om er voor te zorgen dat 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

    Fig. 24.16 Verificatiemenu Database wissen

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

Fig. 24.17 Selectie voor configuratie voor authenticatie zonder authenticatie

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

Fig. 24.18 Selectie voor configuratie voor authenticatie met geselecteerde configuratie

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