21.1. Overzicht authenticatiesysteem
21.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
.
21.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.
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.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.
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.
21.1.3. Configuraties voor authenticatie
U kunt configuraties voor authenticatie beheren vanuit Configuraties op de tab Authenticatie van het dialoogvenster QGIS Opties ( ).
Gebruik de knop om een nieuwe configuratie toe te voegen, de knop om configuraties te verwijderen, en de knop om bestaande aan te passen.
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.
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.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 Authenticatie, klik op de knop Geïnstalleerde plug-ins.
en, op de tabPlug-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.
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.
21.1.5. Gereedschappen voor hoofdwachtwoord en configuratie voor authenticatie
In het menu Opties (Authenticatie, staan verschillende acties voor gereedschappen om de authenticatiedatabase en de configuraties te beheren:
) op de tabHoofdwachtwoord 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.
21.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.
21.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.