Ingebouwde Azure Database for PostgreSQL-serverfuncties beschrijven
PostgreSQL beheert databasetoegang met behulp van rollen. Een rol kan een databasegebruiker of een groep gebruikers zijn. Rollen kunnen:
- Eigen databaseobjecten, zoals tabellen of functies.
- Wijs bevoegdheden voor deze objecten toe aan andere rollen.
- Verdeel lidmaatschap aan een andere rol, zodat de lidrol zijn bevoegdheden heeft.
Uw Azure Database for PostgreSQL-server wordt gemaakt met drie standaardrollen:
- azure_pg_admin
- azuresu
- de gebruiker van de serverbeheerder - onderdeel van de azure_pg_admin-rol
Bekijk alle serverfuncties door de volgende query uit te voeren:
SELECT * FROM pg_roles;
Notitie
Azure Database for PostgreSQL is een beheerde PaaS-service en alleen Microsoft-gebruikers hebben de rol azuresu (supergebruiker).
Toen u de server hebt gemaakt, is er ook een serverbeheerder gemaakt. Deze gebruiker is automatisch lid geworden van de rol azure_pg_admin . De beheerder van de Azure Database for PostgreSQL-server heeft de volgende bevoegdheden: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION
Nu kan het gebruikersaccount van de serverbeheerder dat u hebt gemaakt toen de server werd gemaakt, het volgende doen:
- Maak meer gebruikers en verdeel deze gebruikers aan de rol azure_pg_admin .
- Maak minder bevoorrechte gebruikers en rollen die toegang hebben tot afzonderlijke databases en schema's.
PostgreSQL bevat enkele standaardrollen die kunnen worden toegewezen aan gebruikers. Deze omvatten vaak benodigde bevoegdheden voor toegang:
- pg_read_all_settings
- pg_signal_backend
- pg_read_server_files
- pg_write_server_files
- pg_execute_server_program
Er zijn ook meer gespecialiseerde rollen:
- pg_monitor
- pg_read_all_stats
- pg_stat_scan_tables
- replicatie
Beheerdersgebruikers maken in Azure Database for PostgreSQL
- Maak in Azure Data Studio (of het clienthulpprogramma van uw voorkeur) verbinding met uw Azure Database for PostgreSQL-server met de aanmeldingsreferenties van de beheerder.
- Bewerk de volgende SQL-code door de tijdelijke aanduidingen te vervangen door uw gebruikersnaam en wachtwoord:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;