22.2. Werkstromen voor authenticatie van gebruikers

../../../_images/auth-user-usage.png

Fig. 22.19 Algemene werkstroom voor gerbuikers

22.2.1. HTTP(S)-authenticatie

Een van de meest voorkomende verbindingen naar bronnen is via HTTP(S), bijv. servers voor webkaarten, en plug-ins voor methoden van authenticatie werken vaak met deze typen verbindingen. Plug-ins voor methoden hebben toegang tot het object HTTP request en kunnen zowel het request als de kopteksten daarvan manipuleren. Dit maakt vele vormen van authenticatie op basis van internet mogelijk. Wanneer wordt verbonden via HTTP(S) met behulp van de standaardmethode authenticatie gebruikersnaam/wachtwoord zal bij het verbinden authenticatie HTTP BASIC worden geprobeerd.

../../../_images/auth-http-basic-wms.png

Fig. 22.20 Een WMS-verbinding voor HTTP BASIC configureren

22.2.2. Database authenticatie

Verbindingen naar databasebronnen worden over het algemeen opgeslagen als paren sleutels=waarde, die gebruikersnamen en (optioneel) wachtwoorden laten zien, indien geen configuratie voor authenticatie wordt gebruikt. Bij het configureren met het systeem voor authenticatie, zal de sleutel=waarde een abstracte weergave zijn van de inloggegevens, bijv. authfg=81t21b9.

../../../_images/auth-db-ssl-pki.png

Fig. 22.21 Configureren van een verbinding Postgres SSL-met-PKI

22.2.3. PKI-authenticatie

Bij het configureren van componenten van PKI in het systeem van authenticatie moet u de optie hebben om componenten te importeren in de database of te verwijzen naar opgeslagen bestanden voor componenten op uw bestandssysteem. Het laatste zou nuttig zijn als dergelijke componenten regelmatig wijzigen, of als de componenten zullen worden vervangen door een systeembeheerder. In elk geval zult u een wachtwoord moeten opslaan dat nodig is om toegang te krijgen tot private sleutels binnen de database.

../../../_images/auth-pki-config.png

Fig. 22.22 Werkstroom voor configuratie PKI

Alle componenten voor PKI kunnen in afzonderlijke bewerkers worden beheerd binnen Certificaten beheren, waar toegang toe kan worden verkregen via de tab Authenticatie in QGIS, dialoogvenster Opties (Extra ► Opties) door te klikken op de knop Certificaten beheren.

../../../_images/auth-open-Certificate-manager.png

Fig. 22.23 Certificaten beheren openen

In Certificaten beheren, staan bewerkers voor Identiteiten, Servers en Autoriteiten. Elk hiervan is opgenomen in zijn eigen tab, en ze worden hieronder beschreven in de volgorde waarin zij worden tegengekomen in de kaart voor de werkstroom hierboven. De volgorde van de tabs is relatief aan frequent gebruikte bewerkers als u eenmaal gewend bent aan de werkstroom.

Notitie

Het is niet noodzakelijk om in het dialoogvenster Opties op de knop OK te drukken voor het opslaan van de wijzigingen, omdat alle bewerkingen aan het systeem voor authenticatie direct naar de database voor authenticatie worden geschreven. Dit wijkt af van andere instellingen in het dialoogvenster Opties.

22.2.3.1. Autoriteiten

U kunt beschikbare Certificaat Autoriteiten (CA’s) beheren op de tab Autoriteiten in Certificaten beheren op de tab Authenticatie van het dialoogvenster Opties van QGIS.

Zoals weergegeven in de kaart voor de werkstroom hierboven is de eerste stap om een bestand van CA’s te importeren of naar te verwijzen. Deze stap is optioneel en zou niet nodig hoeven te zijn als uw vertrouwde ketens voor PKI hun origine vinden in bron-CA’s die al zijn geïnstalleerd op uw besturingssysteem (OS), zoals een certificaat van een commerciële verkoper van certificaten. Indien uw authenticerende bron-CA niet in de door het besturingssysteem vertrouwde bron-CA’s staat, zal het geïmporteerd moeten worden of een verwijzing moeten krijgen naar het pad van het bestandssysteem. (Neem contact op met uw systeembeheerder als u niet zeker bent.)

../../../_images/auth-editor-authorities.png

Fig. 22.24 Bewerker voor autoriteiten

Standaard zijn de bron-CA’s van uw besturingssysteem beschikbaar; echter, hun instellingen voor vertrouwen worden niet geërfd. U zou de instellingen van het beleid voor het vertrouwen van certificaten opnieuw moeten bekijken, in het bijzonder als het beleid van de bron-CA’s van uw besturingssysteem is aangepast. Elk certificaat dat is verlopen zal worden ingesteld op niet te vertrouwen en zal niet worden gebruikt in verbindingen naar een beveiligde server, tenzij u specifiek het beleid voor vertrouwen overschrijft. Selecteer het en klik op metadata Informatie over certificaat weergeven om de door QGIS te ontdekken te vertrouwen keten voor een certificaat te bekijken.

../../../_images/auth-authority-imported_cert-info-chain.png

Fig. 22.25 Dialoogvenster Informatie over certificaat

U kunt Vertrouwensbeleid selectString voor elk geselecteerd certificaat binnen de keten bewerken. Elke wijziging in het beleid voor vertrouwen voor een geselecteerd certificaat zal niet in de database worden opgeslagen, tenzij op de knop fileSave Wijziging van certificaat vertrouwensbeleid in database opslaan is geklikt per geselecteerd certificaat. Sluiten van het dialoogvenster zal de wijzigingen in het beleid niet doorvoeren.

../../../_images/auth-authority-edit-trust_save-not-close.png

Fig. 22.26 De wijzigingen van vertrouwensbeleid opslaan

U kunt de gefilterde CA’s bekijken, zowel tussenliggende als broncertificaten, die zullen worden vertrouwd voor beveiligde verbindingen of het standaard beleid voor vertrouwen wijzigen door te klikken op de knop transformSettings Opties.

Waarschuwing

Wijzigen van het standaardbeleid voor vertrouwen zou kunnen resulteren in problemen met beveiligde verbindingen.

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

Fig. 22.27 Menu Opties voor autoriteiten

U kunt CA’s importeren of een pad voor het bestandssysteem opslaan naar een bestand dat meerdere CA’s bevat, of individuele CA’s importeren. De standaardindeling PEM voor bestanden die meerdere keten certificaten voor meerdere CA’s bevatten heeft het broncertificaat onder in het bestand staan en alle opvolgende ondertekende kindcertificaten daarboven, naar het begin van het bestand.

Het dialoogvenster voor het importeren van certificaten van CA’s zal alle CA-certificaten in het bestand vinden, ongeacht de volgorde, en ook de optie bieden om certificaten te importeren die als ongeldig worden beschouwd (voor het geval u hun beleid voor vertrouwen wilt overschrijven). U kunt het beleid voor vertrouwen overschrijven bij het importeren, of dat later doen met de bewerker voor Autoriteiten.

../../../_images/auth-authority-import.png

Fig. 22.28 Dialoogvenster Certificaten importeren

Notitie

Indien u informatie over het certificaat plakt in het veld PEM-tekst, onthoud dan dat versleutelde certificaten niet worden ondersteund.

22.2.3.2. Identiteiten

U kunt de beschikbare bundels met identiteiten voor cliënten beheren vanaf de tab Identiteiten in Certificaten beheren op de tab Authenticatie van het dialoogvenster Opties van QGIS. Een identiteit is wat u authenticeert voor een PKI-ingeschakelde service en bestaat gewoonlijk uit een certificaat voor een cliënt en een persoonlijke sleutel, ofwel als afzonderlijke bestanden of gecombineerd in één enkel “gebundeld” bestand. De bundel of persoonlijke sleutel is vaak beveiligd met een wachtwoord.

Als u eenmaal enkele Certificaat Autoriteiten (CA’s) hebt geïmporteerd kunt u optioneel enige identiteitsbundels in de database voor authenticatie importeren. Als u de identiteiten niet wilt opslaan, kunt u naar de paden voor het bestandssysteem voor hun componenten verwijzen met een individuele configuratie voor authenticatie.

../../../_images/auth-editor-identities.png

Fig. 22.29 Bewerker Identiteiten

Bij het importeren van een identiteitsbundel, mag die beveiligd zijn met een wachtwoord of niet beveiligd, en mag CA-certificaten bevatten die een keten van vertrouwen vormen. Vertrouwde ketencertificaten zullen hier niet geïmporteerd worden; zij kunnen afzonderlijk worden toegevoegd onder de tab Autoriteiten.

Bij het importeren zullen het certificaat van de bundel en de persoonlijke sleutel worden opgeslagen in de database, met de opslag van de sleutel versleuteld met behulp van het hoofdwachtwoord van QGIS. Volgend gebruik van de opgeslagen bundel uit de database zal alleen het invoeren van het hoofdwachtwoord vergen.

Persoonlijke identiteitsbundels, bestaande uit PEM/DER (.pem/.der) en PKCS#12 (.p12/.pfx) componenten, worden ondersteund. Als een sleutel of bundel met een wachtwoord is beveiligd, zal het wachtwoord nodig zijn om, voorafgaande aan het importeren, de component te valideren. Idem, als het certificaat van de cliënt in de bundel ongeldig is (bijvoorbeeld omdat de geldigheidsdatum nog niet is begonnen of is verlopen) kan de bundel niet worden geïmporteerd.

../../../_images/auth-identity-import_paths.png

Fig. 22.30 PEM/DER identiteit importeren

../../../_images/auth-identity-import_bundle-valid.png

Fig. 22.31 PKCS#12 identiteit importeren

22.2.4. Probleemlagen afhandelen

Af en toe komt het voor dat de ID voor de configuratie voor de authenticatie, die werd opgeslagen in een projectbestand, niet langer geldig is, mogelijk omdat de huidige database voor authenticatie anders is dan toen het project voor het laatst werd opgeslagen, of vanwege het niet overeenkomen van de inloggegevens. In dergelijke gevallen zal het dialoogvenster Probleemlagen afhandelen worden weergegeven bij het opstarten van QGIS.

../../../_images/auth-handle-bad-layers.png

Fig. 22.32 Probleemlagen met authenticatie afhandelen

Als een gegevensbron wordt gevonden met daaraan een ID voor een configuratie voor authenticatie geassocieerd, zult u in staat zijn het te bewerken. Door dat te doen zal automatisch de tekenreeks van de gegevensbron worden bewerkt, nagenoeg op dezelfde manier als het openen van het projectbestand in een tekstverwerker en de tekenreeks te bewerken.

../../../_images/auth-handle-bad-layers-edit.png

Fig. 22.33 Probleemlagen ID voor configuratie van authenticatie bewerken

22.2.5. Configuratie voor authenticatie ID wijzigen

Af en toe zult u het ID voor de configuratie van authenticatie die is geassocieerd met toegang tot een bron moeten wijzigen. Er zijn gevallen wanneer dit nuttig is:

  • Bron voor ID configuratie van authenticatie is niet langer geldig: Dit kan voorkomen als u gewisseld bent van database voor authenticatie en een nieuwe configuratie voor de ID moet uitlijnen voor de ID die al geassocieerd is met een bron.

  • Gedeelde projectbestanden: Als u van plan bent projecten te delen met andere gebruikers, bijv. via een server met gedeelde bestanden, kunt u een tekenreeks met 7 tekens vooraf definiëren (die a-z en/of 0-9 bevat) die is geassocieerd met de bron. Daarna wijzigen individuele gebruikers de ID van een configuratie van authenticatie die specifiek is voor hun inloggegevens. Als het project wordt geopend, wordt de ID gevonden in de database voor authenticatie, maar de inloggegevens verschillen per gebruiker.

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

Fig. 22.34 Een ID voor configuratie voor authenticatie wijzigen (niet vastgezet geel tekstveld)

Waarschuwing

Wijzigen van de ID voor configuratie van authenticatie wordt beschouwd als een geavanceerde bewerking en zou alleen moeten worden uitgevoerd als de volledige kennis aanwezig is voor het waarom het nodig is. Dat is waarom er een knop voor vastzetten is waarop moet worden geklikt, om het tekstveld van de ID los te maken, voorafgaande aan het bewerken van de ID.

22.2.6. QGIS Server ondersteuning

Bij het gebruiken van een projectbestand, met lagen die configuraties voor authenticatie hebben, als basis voor een kaart in QGIS Server, zijn er een aantal aanvullende stappen voor instellen noodzakelijk voor QGIS om de bronnen te laden:

  • Database voor authenticatie moet beschikbaar zijn

  • Hoofdwachtwoord voor database voor authenticatie moet beschikbaar zijn

Bij het instantiëren van het systeem voor authenticatie zal Server het bestand qgis-auth.db in het actieve gebruikersprofiel; of de map die is gedefinieerd in de omgevingsvariabele QGIS_AUTH_DB_DIR_PATH, maken of gebruiken. Het kan zijn dat de gebruiker van Server geen map HOME heeft, in welk geval, de omgevingsvariabele wordt gebruikt om een map te definiëren waar de gebruiker lees/schrijf-rechten heeft en die niet is gelegen in de vanaf het web toegankelijke mappen.

Schrijf, om het hoofdwachtwoord door te kunnen geven aan Server, het in de eerste regel van een bestand op het pad van het bestandssysteem dat is te lezen door de gebruiker van de processen van Server en wordt gedefinieerd met behulp van de omgevingsvariabele QGIS_AUTH_PASSWORD_FILE. Zorg er voor het bestand te beperken tot alleen te lezen door de gebruiker van de processen van Server en sla het bestand niet op in mappen die toegankelijk zijn vanaf het web.

Notitie

De variabele QGIS_AUTH_PASSWORD_FILE wordt direct uit de omgeving van Server verwijderd nadat toegang is verleend

22.2.7. SSL server uitzonderingen

../../../_images/auth-ssl-config.png

Fig. 22.35 SSL server uitzondering

U kunt de configuraties en uitzonderingen van SSL-server beheren vanaf de tab Servers in het gedeelte Authenticatie van het dialoogvenster Opties in QGIS.

Soms, tijdens het verbinden met een SSL-server, zijn er fouten met de SSL “handshake” of het certificaat van de server. U kunt deze fouten negeren of een configuratie voor een SSL-server maken als uitzondering. Dit is soortgelijk aan hoe webbrowsers u toestaan fouten van SSL te overschrijven, maar met een meer fijner beheer.

Waarschuwing

U zou geen configuratie voor een SSL-server moeten maken, tenzij u de volledige kennis heeft van de gehele instelling van SSL tussen de server en de cliënt. Rapporteer in plaats daarvan het probleem bij de beheerder van de server.

Notitie

Sommige instellingen van PKI gebruiken een volledige andere keten van vertrouwen van CA’s dan de keten die wordt gebruikt om het certificaat van de SSL-server te valideren. Onder dergelijke omstandigheden zal niet elke gemaakte configuratie voor de verbindende server noodzakelijkerwijze een probleem met de validatie van de identiteit van uw cliënt oplossen, en alleen de uitgever van de identiteit van uw cliënt of de beheerder van de server kunnen het probleem oplossen.

U kunt vooraf een configuratie voor een SSL-server configureren door te klikken op de knop symbologyAdd. Als alternatief kunt u een configuratie toevoegen als een SSL-fout optreedt gedurende een verbinding en u wordt geconfronteerd met een dialoogvenster SSL Error (waar de fout tijdelijk kan worden genegeerd of kan worden opgeslagen naar de database en genegeerd):

../../../_images/auth-server-exception.png

Fig. 22.36 Handmatig configuratie toevoegen

../../../_images/auth-server-error-add-exception.png

Fig. 22.37 Configuratie gedurende SSL-fout toevoegen

Als een SSL-configuratie eenmaal is opgeslagen in de database, kan die worden bewerkt of verwijderd.

../../../_images/auth-editor-servers.png

Fig. 22.38 Bestaande configuratie SSL

../../../_images/auth-server-edit.png

Fig. 22.39 Een bestaande SSL-configuratie bewerken

Als u vooraf een SSL-configuratie wilt configureren en het dialoogvenster voor importeren werkt niet voor de verbinding van uw server, kunt u handmatig een verbinding activeren via de Python Console door de volgende code uit te voeren (vervang https://bugreports.qt-project.org door de URL van uw server):

from qgis.PyQt.QtNetwork import QNetworkRequest
from qgis.PyQt.QtCore import QUrl
from qgis.core import QgsNetworkAccessManager

req = QNetworkRequest(QUrl('https://bugreports.qt-project.org'))
reply = QgsNetworkAccessManager.instance().get(req)

Dit zal een dialoogvenster voor SSL-fouten openen als er een fout optreedt, waar u er voor kunt kiezen de configuratie op te slaan naar de database.