Beskriva inbyggda Azure Database for PostgreSQL-serverroller
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
- I Azure Data Studio (eller önskat klientverktyg) ansluter du till din Azure Database for PostgreSQL-server med autentiseringsuppgifterna för administratörsinloggning.
- 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>;