Popis předdefinovaných rolí serveru Azure Database for PostgreSQL

Dokončeno

PostgreSQL spravuje přístup k databázi pomocí rolí. Role může být uživatel databáze nebo skupina uživatelů. Role mohou:

  • Vlastní databázové objekty, jako jsou tabulky nebo funkce.
  • Přiřaďte oprávnění k těmto objektům jiným rolím.
  • Udělte členství jiné roli, což umožní této členské roli získat její oprávnění.

Váš server Azure Database for PostgreSQL se vytvoří se třemi výchozími rolemi:

  • azure_pg_admin
  • azuresu
  • uživatel správce serveru – součást role azure_pg_admin

Zobrazte všechny role serveru spuštěním následujícího dotazu:

SELECT * FROM pg_roles;

Poznámka

Azure Database for PostgreSQL je spravovaná služba PaaS a role Azuresu (superuživatel) mají jenom uživatelé Microsoftu.

Když jste vytvořili server, vytvořil se také uživatel správce serveru. Tento uživatel se automaticky stal členem role azure_pg_admin. Uživatel s administrátorským oprávněním serveru Azure Database for PostgreSQL má následující oprávnění: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Uživatelský účet správce serveru, který jste vytvořili při vytváření serveru, teď může:

  • Vytvořte více uživatelů a udělte těmto uživatelům azure_pg_admin roli.
  • Vytvořte méně privilegované uživatele a role, které mají přístup k jednotlivým databázím a schématům.

PostgreSQL obsahuje některé výchozí role, které je možné přiřadit uživatelům. Patří mezi ně běžně potřebná oprávnění pro přístup:

  • pg_read_all_settings
  • pg_signal_backend
  • číst soubory serveru (pg_read_server_files)
  • pg_write_server_files
  • pg_execute_server_program

Existují také další specializované role:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • replikace

Vytváření uživatelů správců ve službě Azure Database for PostgreSQL

  1. V Nástroji Azure Data Studio (nebo preferovaném klientském nástroji) se připojte k serveru Azure Database for PostgreSQL pomocí přihlašovacích údajů správce.
  2. Upravte následující kód SQL nahrazením zástupných symbolů uživatelským jménem a heslem:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;