Felhasználói eszközök

Eszközök a webhelyen


postgresql:szerepkorok

Ez a dokumentum egy előző változata!


PostgreSQL szerepkörök

Általános tulajdonságok

PostgreSQL az adatbázis-hozzáférési jogosultságokat a szerepkörök (role) alapján kezeli. Egy szerepkör felfogható adatbázis-felhasználóként vagy adatbázis-felhasználók csoportjaként, attól függően, hogyan van beállítva. A szerepkörök birtokolhatnak adatbázis-objektumokat (például táblákat és függvényeket), és jogosultságokat adhatnak ezekre az objektumokra más szerepköröknek annak szabályozására, hogy ki mely objektumokhoz férhet hozzá. Emellett lehetőség van arra is, hogy egy szerepkör tagságát egy másik szerepkörnek adjuk, így a tag szerepkör használhatja egy másik szerepkörhöz rendelt jogosultságokat.

A szerepkörök fogalma magába foglalja a „felhasználók” és „csoportok” korábbi fogalmait. A PostgreSQL 8.1 előtti verzióiban a felhasználók és csoportok különálló entitások voltak, de ma már csak szerepkörök léteznek. Bármely szerepkör működhet felhasználóként, csoportként, vagy akár mindkettőként. PostgreSQL szerverben.

Gyakorlati példák

Egyszerű „felhasználó” szerepkör létrehozása. Felhasználónak az a szerepkör tekinthető, amelynek van LOGIN tulajdonsága. A szerepkör létrehozása többféle módszerrel történhet.

[root@gepnev ~]# su - postgres

[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS


[postgres@gepnev ~]$ createuser test

[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS
 test      | 

[postgres@gepnev ~]$ dropuser test

[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS

Másik módszerrel ugyanez

[root@gepnev ~]# su - postgres

[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS

[postgres@gepnev ~]$ psql -c 'CREATE ROLE test LOGIN'
CREATE ROLE
[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS
 test      | 

[postgres@gepnev ~]$ psql -c 'DROP ROLE test'
DROP ROLE
[postgres@gepnev ~]$ psql -c '\du'
                             List of roles
 Role name |                         Attributes                         
-----------+------------------------------------------------------------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS

A CREATE USER name megegyezik a CREATE ROLE name LOGIN paranccsal, azzal a különbséggel, hogy automatikusan tartalmazza a LOGIN attribútumot.

postgresql/szerepkorok.1776728281.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan