<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.webhuis.nl:443/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL_rollen_en_privileges</id>
	<title>PostgreSQL rollen en privileges - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.webhuis.nl:443/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL_rollen_en_privileges"/>
	<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;action=history"/>
	<updated>2026-09-02T16:49:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4297&amp;oldid=prev</id>
		<title>Martin: Generieke opzet voor het gestructureerd inrichten van rechten voor gebruikers in PostgreSQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4297&amp;oldid=prev"/>
		<updated>2022-06-01T20:59:32Z</updated>

		<summary type="html">&lt;p&gt;Generieke opzet voor het gestructureerd inrichten van rechten voor gebruikers in PostgreSQL&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:59, 1 June 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 299:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 299:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;revoke connect on database template1 from public;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;revoke connect on database template1 from public;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;hr/&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Terug naar: [[PostgreSQL]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-mediawiki-:diff:wikidiff2:1.12:old-4292:rev-4297:1.13.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4292&amp;oldid=prev</id>
		<title>Martin: Martin moved page Rollen en privileges to PostgreSQL rollen en privileges</title>
		<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4292&amp;oldid=prev"/>
		<updated>2022-06-01T20:48:17Z</updated>

		<summary type="html">&lt;p&gt;Martin moved page &lt;a href=&quot;/index.php?title=Rollen_en_privileges&quot; class=&quot;mw-redirect&quot; title=&quot;Rollen en privileges&quot;&gt;Rollen en privileges&lt;/a&gt; to &lt;a href=&quot;/index.php?title=PostgreSQL_rollen_en_privileges&quot; title=&quot;PostgreSQL rollen en privileges&quot;&gt;PostgreSQL rollen en privileges&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:48, 1 June 2022&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key mediawiki-mediawiki-:diff:wikidiff2:1.12:old-4291:rev-4292:1.13.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4291&amp;oldid=prev</id>
		<title>Martin: Created page with &quot;Binnen PostgreSQL verloopt de autorisatie via rollen en het toekennen van privileges op databases aan rollen. Dit stuk is tot stand gekomen door bijdragen van Frank Heijkens,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=PostgreSQL_rollen_en_privileges&amp;diff=4291&amp;oldid=prev"/>
		<updated>2022-06-01T20:47:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Binnen PostgreSQL verloopt de autorisatie via rollen en het toekennen van privileges op databases aan rollen. Dit stuk is tot stand gekomen door bijdragen van Frank Heijkens,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Binnen PostgreSQL verloopt de autorisatie via rollen en het toekennen van privileges op databases aan rollen. Dit stuk is tot stand gekomen door bijdragen van Frank Heijkens, Frans Koers en Martin Simons.&lt;br /&gt;
&lt;br /&gt;
Een ROLE geldt op databaseserver niveau, Privileges gelden op database niveau. Om de beheersbaarheid van de administratie van toegangsrechten te bevorderen verdient het aanbeveling om de rollen en gebruikers volgens een vaste structuur in te richten. De oude PostgreSQL term user is deprecated, de SQL standaard spreekt van ROLE.&lt;br /&gt;
&lt;br /&gt;
Rollen zijn te relateren aan de life cycle momenten in de database. Life cycles in de database:&lt;br /&gt;
&lt;br /&gt;
Het maken en onderhouden van de metastructuur, dit is het domein van de eigenaar. Door dit consequent te hanteren vallen alle objecten toe aan de eigenaar. Hieronder vallen het maken van tabellen, views, functies en stored procedures door de developers (in Dev dan eigenaar).&lt;br /&gt;
&lt;br /&gt;
Het uitvoeren van een Failover, fail back. Deze acties hangen nauw samen met het platform waarop de database draait en passen bij de rol van de superuser&lt;br /&gt;
&lt;br /&gt;
Repliceren en backup van de database kennen passende rollen &lt;br /&gt;
&lt;br /&gt;
Het beheren rollen voor het gebruik, dat is de rol van de beheerder die kent permissies toe aan rollen en attributen aan gebruikers.&lt;br /&gt;
&lt;br /&gt;
Een rol heeft de volgende kenmerken:&lt;br /&gt;
&lt;br /&gt;
De naam&lt;br /&gt;
&lt;br /&gt;
Attributen&lt;br /&gt;
&lt;br /&gt;
Erfgenaam van een andere rol&lt;br /&gt;
&lt;br /&gt;
Beschrijving&lt;br /&gt;
&lt;br /&gt;
Rechten.&lt;br /&gt;
&lt;br /&gt;
Attributen&lt;br /&gt;
&lt;br /&gt;
PostgreSQL kent de volgende attributen bij het creëren van rollen:&lt;br /&gt;
&lt;br /&gt;
LOGIN - De rol mag inloggen op  de database server, let op dit is een rol op server niveau en geldt voor alle databases in dat cluster. Dit staat los van het recht om een  connectie te maken met een  specifieke database. Iedere rol heeft dus een login en een grant nodig.&lt;br /&gt;
&lt;br /&gt;
SUPERUSER - De rol is een superuser&lt;br /&gt;
&lt;br /&gt;
CREATEDB - De rol mag databases creëren&lt;br /&gt;
&lt;br /&gt;
CREATEROLE - De rol mag rollen creëren&lt;br /&gt;
&lt;br /&gt;
INHERIT - De default is dat een role altijd mag overerven van andere rollen. We laten het attribuut weg tenzij we de inherit willen voorkomen, dan gebruiken we NOINHERIT&lt;br /&gt;
&lt;br /&gt;
REPLICATION - De rol mag streaming replication initieren&lt;br /&gt;
&lt;br /&gt;
PASSWORD - het password van de role, in het algemeen hebben alleen gebruikers een password. Gebruikers zijn: Individuen, applicaties en bijvoorbeeld de replicatie user. Vanaf de development omgeving voegen we het keyword ENCRYPTED aan PASSWORD toe.&lt;br /&gt;
&lt;br /&gt;
BYPASSRLS - De rol  mag een ‘bypass Row Level Security checks’ doen&lt;br /&gt;
&lt;br /&gt;
VALID UNTIL - Het password verloopt per deze datum&lt;br /&gt;
&lt;br /&gt;
De toevoeging ‘NO’ betekent het expliciet onthouden van het betreffende recht aan de rol. De beheerder moet attributen voor elke rol specificeren, omdat ze niet overerfbaar zijn.&lt;br /&gt;
&lt;br /&gt;
Host based access (pg_hba.conf)&lt;br /&gt;
&lt;br /&gt;
Het bestand pg_hba.conf biedt de mogelijkheid om per server of per database toegang te verlenen aan alle of specifieke gebruikers. In onze opzet gebruiken wij dit bestand vooral om de database in algemene zin beschikbaar te maken voor toegang, de aanscherping vindt plaats in de definitie van de rollen en de permissies.&lt;br /&gt;
&lt;br /&gt;
De rol van de replicator is belangrijk in een cluster, daarom regelen we deze toegang in pg_hba.conf.&lt;br /&gt;
&lt;br /&gt;
# TYPE  DATABASE        USER            ADDRESS                 METHOD&lt;br /&gt;
# &amp;quot;local&amp;quot; is for Unix domain socket connections only&lt;br /&gt;
local   all             all                                     peer&lt;br /&gt;
# IPv4 local connections:&lt;br /&gt;
host    all             all             127.0.0.1/32            scram-sha-256&lt;br /&gt;
# IPv6 local connections:&lt;br /&gt;
host    all             all             ::1/128                 scram-sha-256&lt;br /&gt;
# Allow replication connections from localhost, by a user with the&lt;br /&gt;
# replication privilege.&lt;br /&gt;
local   replication     all                                     peer&lt;br /&gt;
host    replication     all             127.0.0.1/32            scram-sha-256&lt;br /&gt;
host    replication     all             ::1/128                 scram-sha-256&lt;br /&gt;
local replication all peer&lt;br /&gt;
local all all peer&lt;br /&gt;
#host all pgpool 172.17.12.0/24 scram-sha-256&lt;br /&gt;
host all pgpool 172.17.12.0/24 md5&lt;br /&gt;
host all postgres 172.17.12.0/24 md5&lt;br /&gt;
host replication repuser 172.17.12.0/24 scram-sha-256&lt;br /&gt;
host replication all 127.0.0.1/32 scram-sha-256&lt;br /&gt;
host replication all ::1/128 scram-sha-256&lt;br /&gt;
&lt;br /&gt;
pg_hba.conf is dynamisch aan te passen en te activeren met pg_ctrl reload.&lt;br /&gt;
&lt;br /&gt;
Privileges&lt;br /&gt;
&lt;br /&gt;
PostgreSQL biedt de mogelijkheid om rollen te overerven, echter bovenstaande attributen vallen daarbuiten. Alles wat met een grant of revoke is ingesteld, dat zijn dus privileges, is overerfbaar.&lt;br /&gt;
&lt;br /&gt;
Overerven&lt;br /&gt;
&lt;br /&gt;
Als voorbeeld nemen we de rollen connect en applicatie. Elke rol, die een database connectie nodig heeft, heeft ten minste het attribuut login nodig en het privilege connect. Wij adviseren de volgende opzet.&lt;br /&gt;
&lt;br /&gt;
Wij maken gebruik van overerving door per database een rol connect te benoemen en vervolgens de andere te laten erven.&lt;br /&gt;
&lt;br /&gt;
CREATE ROLE bam_connect;&lt;br /&gt;
CREATE ROLE bam_app;&lt;br /&gt;
GRANT CONNECT ON DATABASE bam TO bam_connect;&lt;br /&gt;
GRANT bam_connect TO bam_app;&lt;br /&gt;
&lt;br /&gt;
Het voordeel van deze werkwijze is dat we het veerbinden met database op één plek beheren. Bijvoorbeeld de functie ‘noodrem’, in geval van een aanval of een database release. In dat geval doen we:&lt;br /&gt;
&lt;br /&gt;
REVOKE CONNECT ON DATABASE bam FROM bam_connect;&lt;br /&gt;
&lt;br /&gt;
In een database kennen wij verschillende soorten van gebruik en verschillende toepassingen. In deze structuur onderkennen wij de volgende types rollen:&lt;br /&gt;
&lt;br /&gt;
Eigenaar&lt;br /&gt;
&lt;br /&gt;
Beheer, superuser (incidenteel), replicator, admin, backup&lt;br /&gt;
&lt;br /&gt;
Gebruik&lt;br /&gt;
&lt;br /&gt;
De eigenaar&lt;br /&gt;
&lt;br /&gt;
De eigenaar, of de owner, is de eigenaar van de database en alle objecten die zich in de database bevinden. De eigenaar heeft de volledige beschikking over elk object in de database. Om redenen van beveiliging splitsen wij de eigendom af van het gebruik van objecten, de eigenaar mag niet inloggen. In de productie omgeving heeft de eigenaar alleen bij database wijzigingen tijdelijk login rechten. Dit draagt bij aan de beveiliging van de database. De eigenaar definieert de abstracte rollen.&lt;br /&gt;
&lt;br /&gt;
Alleen de eigenaar mag functies, tabellen, view, indexes, cast aanmaken. PostgreSQL maakt een object aan of manipuleert een object telkens als je een create, drop of alter gebruikt. De eigenaar doet ook de grant en revoke op:&lt;br /&gt;
&lt;br /&gt;
schema’s&lt;br /&gt;
&lt;br /&gt;
tabellen&lt;br /&gt;
&lt;br /&gt;
views&lt;br /&gt;
&lt;br /&gt;
functies&lt;br /&gt;
&lt;br /&gt;
stored procedures&lt;br /&gt;
&lt;br /&gt;
etcetera &lt;br /&gt;
&lt;br /&gt;
PostgreSQL laat de overerving van rollen toe, op die wijze implementeren wij een hierarchie. De beveiliging van de gegevens in de database staat bij het toekennen van rechten centraal. De eigenaar van de database is eigenaar, maar heeft verder geen enkel recht, dit geldt in TAP. In de development omgeving is de eigenaar nodig om het geheel vorm te geven.&lt;br /&gt;
&lt;br /&gt;
Beheer&lt;br /&gt;
&lt;br /&gt;
De beheerder beheert de rollen, &lt;br /&gt;
&lt;br /&gt;
We richten het bij Conclusion zo in, dat de rollen voor gebruikers aansluiten op RBAC uit Active Directory.&lt;br /&gt;
&lt;br /&gt;
Voorbeeld&lt;br /&gt;
&lt;br /&gt;
Voor NS hebben we de volgende opzet uitgewerkt:&lt;br /&gt;
&lt;br /&gt;
-- Deze rechten en rollen gelden in de dev omgeving&lt;br /&gt;
-- CREATE ROLE bam_owner;&lt;br /&gt;
CREATE ROLE bam_dev;&lt;br /&gt;
CREATE ROLE bam_devdba;&lt;br /&gt;
CREATE ROLE bam_beheer;&lt;br /&gt;
CREATE ROLE bam_app;&lt;br /&gt;
CREATE ROLE bam_rep WITH REPLICATION PASSWORD &amp;#039;bam_rep&amp;#039;;&lt;br /&gt;
CREATE ROLE bam_analist;&lt;br /&gt;
&lt;br /&gt;
-- Hierna koppelen we de rollen aan privileges op de database&lt;br /&gt;
GRANT ALL ON BAM_T1 to bam_devdba;&lt;br /&gt;
GRANT ALL ON BAM_T1 to bam_rep;&lt;br /&gt;
GRANT USAGE ON SCHEMA bam_kern to bam_app;&lt;br /&gt;
GRANT SELECT INSERT UPDATE DELETE ON ALL TABLES IN SCHEMA bam_kern to bam_app;&lt;br /&gt;
GRANT USAGE ON SCHEMA bam_kern to bam_analist;&lt;br /&gt;
GRANT SELECT ON ALL TABLES IN SCHEMA bam_kern to bam_analist;&lt;br /&gt;
&lt;br /&gt;
-- Hierna komen de specifieke rechten op tabellen views en dergelijke&lt;br /&gt;
CREATE ROLE harm WITH LOGIN PASSWORD &amp;#039;harm&amp;#039;;&lt;br /&gt;
GRANT bam_devdba to harm;&lt;br /&gt;
GRANT bam_beheer to harm;&lt;br /&gt;
&lt;br /&gt;
CREATE ROLE developer WITH LOGIN PASSWORD &amp;#039;developer&amp;#039;;&lt;br /&gt;
GRANT bam_dev to developer;&lt;br /&gt;
&lt;br /&gt;
CREATE ROLE analist WITH LOGIN PASSWORD &amp;#039;analist&amp;#039;;&lt;br /&gt;
GRANT bam_analist to analist;&lt;br /&gt;
&lt;br /&gt;
-- De bijzondere role bam_connect, voor elke database bestaat een aparte connect role&lt;br /&gt;
CREATE ROLE bam_connect;&lt;br /&gt;
GRANT CONNECT ON DATABASE BAM_T1 TO bam_connect;&lt;br /&gt;
GRANT CONNECT ON DATABASE BAM_T2 TO bam_connect;&lt;br /&gt;
&lt;br /&gt;
-- GRANT bam_connect to bam_owner;&lt;br /&gt;
GRANT bam_connect to bam_dev;&lt;br /&gt;
GRANT bam_connect to bam_devdba;&lt;br /&gt;
GRANT bam_connect to bam_beheer;&lt;br /&gt;
GRANT bam_connect to bam_app;&lt;br /&gt;
GRANT bam_connect to bam_rep;&lt;br /&gt;
GRANT bam_connect to bam_analist;&lt;br /&gt;
&lt;br /&gt;
Types rollen:&lt;br /&gt;
&lt;br /&gt;
Eigendom&lt;br /&gt;
&lt;br /&gt;
Beheer&lt;br /&gt;
&lt;br /&gt;
Gebruik, developer, tester en applicatie&lt;br /&gt;
&lt;br /&gt;
Schema&lt;br /&gt;
&lt;br /&gt;
Name&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
abstract_inzet&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
activiteit&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
beweging&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
databasechangelog&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
databasechangeloglock&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
dienst&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
inzet_op_beweging&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
materieel_claim&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
rit&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
rit_claim&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
werklijn&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
werklijn_begin&lt;br /&gt;
&lt;br /&gt;
bam_kern&lt;br /&gt;
&lt;br /&gt;
werklijn_eind&lt;br /&gt;
&lt;br /&gt;
Het is de opzet om de algemene rollen bij het inrichten van de database te implementeren. We maken bij het toekennen van rechten en beperkingen aan individuele gebruikers en applicaties gebruik van het mechanisme van overerving van rechten uit rollen. &lt;br /&gt;
&lt;br /&gt;
Overzicht RBAC rollen&lt;br /&gt;
&lt;br /&gt;
Dev&lt;br /&gt;
&lt;br /&gt;
Test&lt;br /&gt;
&lt;br /&gt;
Acc&lt;br /&gt;
&lt;br /&gt;
Prod&lt;br /&gt;
&lt;br /&gt;
Owner&lt;br /&gt;
&lt;br /&gt;
login&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
Connect&lt;br /&gt;
&lt;br /&gt;
login&lt;br /&gt;
&lt;br /&gt;
login&lt;br /&gt;
&lt;br /&gt;
login&lt;br /&gt;
&lt;br /&gt;
login&lt;br /&gt;
&lt;br /&gt;
Beheerder&lt;br /&gt;
&lt;br /&gt;
createrole&lt;br /&gt;
&lt;br /&gt;
createrole&lt;br /&gt;
&lt;br /&gt;
createrole&lt;br /&gt;
&lt;br /&gt;
createrole&lt;br /&gt;
&lt;br /&gt;
Applicatie&lt;br /&gt;
&lt;br /&gt;
Login CRUD&lt;br /&gt;
&lt;br /&gt;
Login CRUD&lt;br /&gt;
&lt;br /&gt;
Login CRUD&lt;br /&gt;
&lt;br /&gt;
Login CRUD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bij installatie&lt;br /&gt;
&lt;br /&gt;
Na installatie staan de privileges op het cluster te ruim. Het aanmaken van een database gaat altijd op basis van een template, default template1. Daarom voeren we voordat we de eerste database maken het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
revoke connect on database template1 from public;&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>