Skip to content

Archives

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Categories

  • Geen categorieën
Trend RepositoryArticles and guides
Articles

Hoofdstuk 18. Database Rollen en Privileges

On oktober 25, 2021 by admin

Database rollen zijn conceptueel volledig gescheiden van operating systeem gebruikers. In de praktijk kan het handig zijn om een overeenkomst te handhaven, maar dit is niet vereist. Database rollen zijn globaal over een database cluster installatie (en niet per individuele database). Om een rol aan te maken gebruikt u het SQL commando CREATE ROLE:

CREATE ROLE name;

naam volgt de regels voor SQL-identifiers: ofwel onopgesmukt zonder speciale tekens, ofwel dubbel aanhalingstekens. (In de praktijk zult u meestal extra opties, zoals LOGIN, aan het commando willen toevoegen. Meer details volgen hieronder). Om een bestaande rol te verwijderen, gebruikt u het analoge DROP ROLE commando:

DROP ROLE name;

Voor het gemak worden de programma’s createuser en dropuser geleverd als wrappers rond deze SQL commando’s die kunnen worden aangeroepen vanaf de commandoregel in de commandoregel:

createuser namedropuser name

Om de set van bestaande rollen te bepalen, onderzoekt u de pg_roles systeemcatalogus, bijvoorbeeld

SELECT rolname FROM pg_roles;

Het psql programma’s meta-commando is ook nuttig om de bestaande rollen op te sommen.

Om het databasesysteem op te starten, bevat een pas geïnitialiseerd systeem altijd één voorgedefinieerde rol. Deze rol is altijd een “superuser”, en heeft standaard (tenzij gewijzigd bij het uitvoeren van initdb) dezelfde naam als de gebruiker van het besturingssysteem die het databasepluster heeft geïnitialiseerd. Gewoonlijk zal deze rol postgres heten. Om meer rollen te kunnen aanmaken, moet eerst verbinding worden gemaakt met deze initiële rol.

Elke verbinding met de databaseserver wordt gemaakt onder de naam van een bepaalde rol, en deze rol bepaalt de initiële toegangsrechten voor commando’s die via die verbinding worden uitgevoerd. De rolnaam die voor een bepaalde databaseverbinding moet worden gebruikt, wordt op een toepassingsspecifieke manier aangegeven door de cliënt die het verbindingsverzoek initieert. Het programma psql gebruikt bijvoorbeeld de opdrachtregeloptie -U om aan te geven met welke rol verbinding gemaakt moet worden. Veel applicaties nemen standaard de naam van de huidige gebruiker van het besturingssysteem aan (inclusief createuser en psql). Daarom is het vaak handig om een overeenkomst in naamgeving te handhaven tussen rollen en gebruikers van het besturingssysteem.

De set van database rollen waarmee een gegeven client verbinding kan maken wordt bepaald door de client authenticatie setup, zoals uitgelegd in Hoofdstuk 20. (Dus, een client is niet noodzakelijkerwijs beperkt tot verbinding te maken als de rol met dezelfde naam als zijn besturingssysteem gebruiker, net zoals een persoon login naam hoeft niet overeen te komen met haar echte naam). Omdat de rol-identiteit bepaalt welke rechten een aangesloten client heeft, is het belangrijk om dit zorgvuldig te configureren als je een omgeving met meerdere gebruikers opzet.

Geef een antwoord Antwoord annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Archieven

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Inloggen
  • Berichten feed
  • Reacties feed
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress