Belangrijk

Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen. Deze pagina is momenteel voor 100.00% vertaald.

21.1. Overzicht authenticatiesysteem

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

Fig. 21.1 Anatomie van het authenticatiesysteem

21.1.1. Authenticatie-database

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

21.1.2. Aangepaste authenticatie-databases

QGIS kan worden geconfigureerd om een aangepaste database voor authenticatie te gebruiken in plaats van de hierboven genoemde standaard van SQLite: elke database die wordt ondersteund door de module Qt SQL kan worden gebruikt (bijv. PostgreSQL, MySQL, etc), vooropgesteld dat het corresponderende stuurprogramma voor Qt SQL beschikbaar is op het systeem.

Dit kan nuttig zijn voor scenario’s waar een gebruiker dezelfde database voor authenticatie wil delen over meerdere installaties van QGIS, of als een gebruiker een andere database voor authenticatie wil gebruiken dan de standaard van SQLite of als een gecentraliseerde database voor authenticatie door QGIS server wordt gebruikt.

De enige manier om een aangepaste database voor authenticatie te configureren is door de omgevingsvariabele QGIS_AUTH_DB_URI in te stellen op de URI van de verbinding, de URI is in de vorm van driver://gebruikersnaam:wachtwoord@hostnaam:poort/database?opties.

Waar:
  • driver de naam is van het te gebruiken stuurprogramma van Qt SQL, bijv. QPSQL voor PostgreSQL, QMYSQL voor MySQL, etc.

  • gebruikersnaam is de gebruikersnaam om mee te verbinden met de database

  • wachtwoord is het wachtwoord om mee te verbinden met de database

  • hostnaam is de hostnaam van de server voor de database

  • poort is de poort van de server van de database

  • database is de naam van de te gebruiken database

  • opties zijn de opties om door te geven aan het stuurprogramma, bijv. sslmode=require voor PostgreSQL

Notitie

Het schema kan worden gespecificeerd in de opties van de URI, bijv. QPSQL://gebruikersnaam:wachtwoord@hostnaam:poort/database?schema=schema_naam

De database moet bestaan voordat QGIS wordt opgestart en de gebruiker moet de benodigde rechten hebben om met de database te mogen verbinden en om de vereiste tabellen te maken, als die nog niet bestaan.

Waarschuwing

Het wachtwoord wordt in de URI in platte tekst opgeslagen in de omgevingsvariabele, het wordt dus aanbevolen om een gebruiker zonder wachtwoord of een gebruiker met beperkte rechten te gebruiken om met de database te verbinden.

Waarschuwing

Elke database die niet is gebaseerd op SQLite wordt geacht alleen-lezen te zijn (dit kan, indien nodig, worden gewijzigd door plug-ins van Python).

Dit is een geavanceerde mogelijkheid, ontworpen om een of meer aangepaste databases voor authenticatie mogelijk te maken of zelfs aangepaste implementaties van Python voor het opslaan van inloggegevens te laten gebruiken door QGIS.

Het systeem is ook ontworpen om mogelijk te maken dat meerdere databases voor authenticatie worden gebruikt, maar er is momenteel geen op de gebruiker gerichte interface om meerdere opslag voor inloggegevens te beheren, dus het gebruiken ervan vereist handmatige configuratie en beheer, gewoonlijk vanuit een plug-in van Python.

21.1.3. 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. 21.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.

21.1.3.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. 21.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. 21.4 Na drie ongeldige pogingen wordt naar het wachtwoord gevraagd

21.1.4. Configuraties voor authenticatie

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

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

Fig. 21.5 Configuraties bewerken

Een nieuwe configuratie voor authenticatie maken:

  1. Druk op symbologyAdd Nieuwe configuratie voor authenticatie toevoegen

  2. Geef een Naam op en optioneel een URL Bron

  3. Een ID van zeven tekens zal worden toegewezen aan de configuratie teneinde die te kunnen identificeren. Die kan worden aangepast nadat u op de knop locked Ontsluiten om de ID te bewerken hebt gedrukt. Wees er van bewust dat het bijwerken van het ID dingen zou kunnen beschadigen.

  4. Selecteer de doelmethode en vul de corresponderende details voor de verbinding in

  5. Als dat gebeurt is, klik op Opslaan om de configuratie op te slaan. De opgeslagen configuratie verschijnt in de lijst met configuraties voor authenticatie en kan worden gebruikt met ondersteunde verbindingen.

De opgeslagen configuratie kan later worden bewerkt met symbologyEdit Geselecteerde configuratie bewerken of wordne verwijderd met symbologyRemove Geselecteerde configuratie verwijderen.

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

Fig. 21.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/add_connection_wms.png

Fig. 21.7 Dialoogvenster voor verbindingen van WMS dat de widget voor configuratie voor authenticatie 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).

21.1.5. 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. 21.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.

21.1.5.1. Authenticatie API Header

De methode voor authenticatie API Header stelt u in staat te verbinden met services die aangepaste HTTP-koppen vereisen, zoals API-sleutels. Als bijvoorbeeld een WMS-service een API-sleutel vereist die werd verzonden als een kop (bijv. X-API-KEY), kunt u deze methode gebruiken om die op te geven.

U kunt een of meer koppen toevoegen met de knop symbologyAdd; een Sleutel kop opgeven en Waarde kop voor elk item. Gebruik symbologyRemove om de geselecteerde kop te verwijderen of de knop Leegmaken om alle items te verwijderen.

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

Fig. 21.9 API Header configuraties voor authenticatie

21.1.5.2. AWS S3-authenticatie

De methode voor authenticatie AWS S3 stelt u in staat te verbinden met bronnen van Amazon S3 door een Naam, Bron, Gebruikersnaam, Wachtwoord en Regio op te geven.

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

Fig. 21.10 AWS S3 configuraties voor authenticatie

21.1.5.3. Basic-authenticatie

De methode voor authenticatie Basic stelt u in staat te verbinden met services die standaard authenticatie met HTTP vereisen met een Gebruikersnaam, Wachtwoord en Melding.

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

Fig. 21.11 Configuraties voor basis HTTP-authenticatie

21.1.5.4. ESRI-token authenticatie

De methode voor authenticatie ESRI-token wordt gebruikt door ArcGIS REST Servers die op tokens gebaseerde authenticatie vereisen.

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

Fig. 21.12 Configuraties authenticatie voor tokens van ESRI

21.1.5.5. Authenticatie met identiteitscertificaat

De methode voor authenticatie Identity certificate stelt u in staat te verbinden met een cliënt identiteitscertificaat.

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

Fig. 21.13 Identity-certificate configuraties voor authenticatie

21.1.5.6. MapTiler HMAC-SHA256-authenticatie

De methode voor authenticatie MapTiler HMAC-SHA256 wordt gebruikt om te verbinden met services van MapTiler die autorisatie met HMAC-SHA256 vereisen.

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

Fig. 21.14 MapTiler HmacSha256 configuraties voor authenticatie

21.1.5.7. OAuth2-authenticatie

De methode voor authenticatie OAuth2 wordt gebruikt om te verbinden met services die autorisatie met OAuth2 2.0 vereisen, wat beveiligde toegang mogelijk maakt met cliënt inloggegevens en op tokens gebaseerde authenticatie.

Het ondersteunt localhost als de host voor verwijzingen, wat compatibiliteit verschaft met services die geen verwijzingen naar http://127.0.0.1 accepteren (bijvoorbeeld Microsoft SharePoint).

Een geavanceerde optie voor de configuratie van OAuth2, Extra token header(s), maakt het mogelijk extra tokens toe te voegen, die zijn teruggegeven door het eindpunt van het token OAuth2, als HTTP(S)-koppen voor verzoeken.

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

Fig. 21.15 Configuraties voor authenticatie voor OAuth2

21.1.5.8. PKI-Paths-authenticatie

De methode voor authenticatie PKI-Paths stelt u in staat te verbinden met afzonderlijke certificaat- en sleutelbestanden die op uw systeem zijn opgeslagen.

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

Fig. 21.16 Configuraties voor authenticatie PKI-paden

21.1.5.9. PKI-PKCS#12-authenticatie

De methode voor authenticatie PKI-PKCS#12 stelt u in staat te verbinden met een enkel bundelbestand dat zowel het certificaat als de privé-sleutel bevat, met een optionele wachtwoordfrase voor de sleutel.

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

Fig. 21.17 Configuraties voor authenticatie PKI PKCS#12 bestandspaden

21.1.6. 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. 21.18 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 Wachtwoordbeheerder…: voegt het hoofdwachtwoord toe aan uw persoonlijke Wachtwoordbeheerder

  • Verwijder het hoofdwachtwoord uit uw Wachtwoordbeheerder…: verwijdert het hoofdwachtwoord uit uw Wachtwoordbeheerder

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

  • Configuraties voor authenticatie importeren uit bestand…: importeert vanuit een .XML-bestand de details voor het maken van aangepaste configuraties voor authenticatie.

  • Configuraties voor authenticatie exporteren naar bestand…: exporteert de geselecteerde items naar een mogelijk versleuteld .XML-bestand.

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

21.1.7. Configuratie voor authenticatie gebruiken

Gewoonlijk wordt een configuratie voor authenticatie geselecteerd in een dialoogvenster voor configuratie van een netwerkservice (zoals WMS). Echter, de 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. Gebruik het keuzemenu om een bestaande configuratie voor authenticatie te selecteren of druk op symbologyAdd Nieuwe configuratie voor authenticatie maken om een configuratie te maken die u zou kunnen gebruiken. Meer details op Authenticatie.

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

Fig. 21.19 Selectie voor configuratie voor authenticatie met geselecteerde configuratie

21.1.8. 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 zou moeten worden afgehandeld via de hoofdtoepassing en niet via Python.

Als het hoofdwachtwoord eenmaal is ingevoerd, is de API geopend om toegang te verkrijgen voor de configuraties voor authenticatie in de database voor authenticatie, soortgelijk aan de manier waarop Firefox werkt. Er is echter geen muur tegen toegang door PyQGIS gedefinieerd. Dit kan leiden tot problemen als een gebruiker een schadelijke plug-in of zelfstandige toepassing voor PyQGIS downloadt/installeert, die toegang verkrijgt tot gegevens voor authenticatie.