- Vytvoření nového uživatele
- Zobrazení stávajících uživatelských oprávnění
- Změna stávajících uživatelských oprávnění
- Přiřazení
SUPERUSERPovolení - Odvolání oprávnění
- Přiřazení
Úprava uživatelských oprávnění v rámci PostgreSQL se může pohybovat od poměrně jednoduchých až po extrémně složité, v závislosti na tolerantní granularitě, která je skutečně vyžadována. Ve většině případů je to však mocný ALTER USER příkaz, který by měl být použit k provádění všeho, od umožnění uživatelům přihlásit se, vytvářet databáze, spravovat role a dokonce se stát SUPERUSER účet.
Krátce prozkoumáme sílu ALTER USER tak můžete snadno provádět různá přiřazení a odebírání oprávnění podle potřeby.
Vytvoření nového uživatele
Než se pustíme do změn uživatelských oprávnění, měli bychom založit nový uživatelský účet (běžně označovaný jako ROLE ), se kterým si můžete pohrát.
Nejprve uvedeme seznam všech stávajících uživatelů:
=# SELECT usename FROM pg_user;
usename
----------
postgres
(1 row)
Ve výchozím nastavení postgres je obvykle jediným uživatelem, který existuje, takže chceme vytvořit nového uživatele librarian k ovládání naší library databáze. To lze provést pomocí CREATE USER příkaz:
=# CREATE USER librarian;
CREATE ROLE
=# SELECT usename FROM pg_user;
usename
-----------
postgres
librarian
(2 rows)
Zobrazení stávajících uživatelských oprávnění
Často může být užitečné prozkoumat stávající oprávnění přiřazená uživatelům v systému. To lze snadno provést pomocí \du příkaz z psql výzva:
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | | {}
postgres | Superuser, Create role, Create DB, Replication | {}
Jasně to vidíme, i když jsme nyní přidali nového librarian uživateli, musíme mu přidělit nějaká oprávnění.
Změna stávajících uživatelských oprávnění
Nyní náš librarian uživatel existuje, můžeme začít používat ALTER USER upravit oprávnění udělená librarian .
Základní formát ALTER USER obsahuje jméno uživatele (nebo ROLE ) následuje řada options informovat PostgreSQL, které povolující změny provést:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Tyto možnosti se pohybují od CREATEDB , CREATEROLE , CREATEUSER a dokonce SUPERUSER . Kromě toho má většina možností také negativní protějšek, který informuje systém, že chcete zamítnout uživateli toto konkrétní oprávnění. Tyto názvy voleb jsou stejné jako jejich protějšek přiřazení, ale mají předponu NO (např. NOCREATEDB , NOCREATEROLE , NOSUPERUSER ).
Přidělování SUPERUSER Povolení
Nyní, když rozumíme základům vytváření uživatelů a používání ALTER USER pro úpravu oprávnění můžeme docela jednoduše použít SUPERUSER možnost přiřadit našeho librarian uživatel SUPERUSER povolení:
=# ALTER USER librarian WITH SUPERUSER;
ALTER ROLE
Jistě, pokud nyní zobrazíme náš seznam oprávnění, uvidíme librarian má nového SUPERUSER povolení, které chceme:
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | Superuser | {}
postgres | Superuser, Create role, Create DB, Replication | {}
Zrušení oprávnění
V případě, že uděláme chybu a přidělíme oprávnění, které si později přejeme zrušit, jednoduše zadejte stejné ALTER USER ale přidejte NO prefix před možnostmi povolení, které mají být odvolány.
Můžeme například odstranit SUPERUSER od našeho librarian uživatel takto:
=# ALTER USER librarian WITH NOSUPERUSER;
ALTER ROLE
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | | {}
postgres | Superuser, Create role, Create DB, Replication | {}