Beskriva inbyggda Azure Database for PostgreSQL-serverroller

Slutförd

PostgreSQL hanterar databasåtkomst med hjälp av roller. En roll kan vara en databasanvändare eller en grupp användare. Roller kan:

  • Egna databasobjekt, till exempel tabeller eller funktioner.
  • Tilldela behörigheter för dessa objekt till andra roller.
  • Bevilja medlemskap till en annan roll, så att medlemsrollen kan ha sina privilegier.

Din Azure Database for PostgreSQL-server skapas med tre standardroller:

  • azure_pg_admin
  • azuresu
  • din serveradministratörsanvändare – en del av azure_pg_admin-rollen

Visa alla serverroller genom att köra följande fråga:

SELECT * FROM pg_roles;

Kommentar

Azure Database for PostgreSQL är en hanterad PaaS-tjänst och endast Microsoft-användare har rollen azuresu (superanvändare).

När du skapade servern skapades även en serveradministratörsanvändare. Den här användaren blev automatiskt medlem i den azure_pg_admin rollen. Azure Database for PostgreSQL-serveradministratörsanvändaren har följande behörigheter: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Nu kan det serveradministratörsanvändarkonto som du skapade när servern skapades:

  • Skapa fler användare och ge dessa användare rollen azure_pg_admin .
  • Skapa mindre privilegierade användare och roller som har åtkomst till enskilda databaser och scheman.

PostgreSQL innehåller några standardroller som kan tilldelas till användare. Dessa omfattar vanliga behörigheter för åtkomst:

  • pg_read_all_settings
  • pg_signal_backend
  • pg_read_server_files
  • pg_write_server_files
  • pg_execute_server_program

Det finns också fler specialistroller:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • replikering

Skapa administratörsanvändare i Azure Database for PostgreSQL

  1. I Azure Data Studio (eller önskat klientverktyg) ansluter du till din Azure Database for PostgreSQL-server med autentiseringsuppgifterna för administratörsinloggning.
  2. Redigera följande SQL-kod genom att ersätta platshållarna med ditt användarnamn och lösenord:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;