Descrivere i ruoli del server predefiniti di Database di Azure per PostgreSQL

Completato

PostgreSQL gestisce l'accesso al database usando i ruoli. Un ruolo può essere un utente del database o un gruppo di utenti. I ruoli possono:

  • Oggetti di database personalizzati, ad esempio tabelle o funzioni.
  • Assegnare ad altri ruoli privilegi su tali oggetti.
  • Concedere l'appartenenza a un altro ruolo, consentendo al ruolo membro di avere i propri privilegi.

Il server di Database di Azure per PostgreSQL viene creato con tre ruoli predefiniti:

  • azure_pg_admin
  • azuresu
  • utente amministratore del server - parte del ruolo di azure_pg_admin

Visualizzare tutti i ruoli del server eseguendo la query seguente:

SELECT * FROM pg_roles;

Nota

Database di Azure per PostgreSQL è un servizio PaaS gestito e solo gli utenti Microsoft hanno il ruolo azuresu (utente con privilegi avanzati).

Quando è stato creato il server, è stato creato anche un utente amministratore del server. Questo utente è diventato automaticamente membro del ruolo azure_pg_admin. L'utente amministratore del server di Database di Azure per PostgreSQL ha i privilegi seguenti: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

A questo momento, l'account utente amministratore del server creato al momento della creazione del server può:

  • Creare più utenti e concedere a tali utenti il ruolo di azure_pg_admin.
  • Creare utenti e ruoli con privilegi inferiori che hanno accesso a singoli database e schemi.

PostgreSQL include alcuni ruoli predefiniti che possono essere assegnati agli utenti. Questi includono i privilegi più comuni necessari per l'accesso:

  • pg_read_all_settings
  • pg_signal_backend
  • pg_read_server_files
  • pg_write_server_files
  • pg_execute_server_program

Esistono anche ruoli più specializzati:

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • replicazione

Creare utenti amministratori in Database di Azure per PostgreSQL

  1. In Azure Data Studio (o nello strumento client preferito) connettersi al server di Database di Azure per PostgreSQL con le credenziali di accesso amministratore.
  2. Modificare il codice SQL seguente sostituendo i segnaposto con il nome utente e la password:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;