20.2. Werkstromen voor authenticatie van gebruikers¶
20.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.
20.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 nieuwe systeem voor authenticatie, zal de sleutel=waarde
een abstracte weergave zijn van de inloggegevens, bijv. authfg=81t21b9
20.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.
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 ( ) door te klikken op de knop Certificaten beheren.
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.
20.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.)
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 Informatie over certificaat weergeven om de door QGIS te ontdekken te vertrouwen keten voor een certificaat te bekijken.
U kunt Vertrouwensbeleid 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 Wijziging van certificaat vertrouwensbeleid in database opslaan is geklikt per geselecteerd certificaat. Sluiten van het dialoogvenster zal de wijzigingen in het beleid niet doorvoeren.
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 Opties.
Waarschuwing
Wijzigen van het standaardbeleid voor vertrouwen zou kunnen resulteren in problemen met beveiligde verbindingen.
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.
Notitie
Indien u informatie over het certificaat plakt in het veld PEM-tekst, onthoud dan dat versleutelde certificaten niet worden ondersteund.
20.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.
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.
20.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.
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.
20.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.
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.
20.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 ~/.qgis2/
van 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
20.2.7. SSL server uitzonderingen¶
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 . 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):
Als een SSL-configuratie eenmaal is opgeslagen in de database, kan die worden bewerkt of verwijderd.
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.