Beschreiben der integrierten Azure-Datenbank für PostgreSQL-Serverrollen
PostgreSQL verwaltet den Datenbankzugriff mithilfe von Rollen. Eine Rolle kann ein Datenbankbenutzer oder eine Gruppe von Benutzern sein. Rollen können:
- Eigene Datenbankobjekte wie Tabellen oder Funktionen.
- Weisen Sie anderen Rollen Berechtigungen für diese Objekte zu.
- Weisen Sie einer Rolle die Mitgliedschaft zu, damit die Rolle über die entsprechenden Berechtigungen verfügt.
Ihr Azure-Datenbank für PostgreSQL-Server wird mit drei Standardrollen erstellt:
- azure_pg_admin
- azuresu
- Ihr Serveradministratorbenutzer – Teil der rolle azure_pg_admin
Zeigen Sie alle Serverrollen an, indem Sie die folgende Abfrage ausführen:
SELECT * FROM pg_roles;
Anmerkung
Azure Database for PostgreSQL ist ein verwalteter PaaS-Dienst, und nur Microsoft-Benutzer haben die Azuresu-Rolle (Superbenutzer).
Wenn Sie Ihren Server erstellt haben, wurde auch ein Serveradministratorbenutzer erstellt. Dieser Benutzer wurde automatisch Mitglied der Rolle azure_pg_admin. Der Administratorbenutzer der Azure-Datenbank für PostgreSQL-Server verfügt über die folgenden Berechtigungen: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION
Jetzt kann das Serveradministratorbenutzerkonto, das Sie beim Erstellen des Servers erstellt haben, folgende Aktionen ausführen:
- Erstellen Sie weitere Benutzer, und gewähren Sie diesen Benutzern die azure_pg_admin Rolle.
- Erstellen Sie weniger privilegierte Benutzer und Rollen, die Zugriff auf einzelne Datenbanken und Schemas haben.
PostgreSQL enthält einige Standardrollen, die Benutzern zugewiesen werden können. Dazu gehören häufig erforderliche Berechtigungen für den Zugriff:
- pg_read_all_settings
- pg_signal_backend
- pg_read_server_files
- pg_write_server_files
- pg_execute_server_program
Es gibt auch weitere Fachrollen:
- pg_monitor
- pg_read_all_stats
- pg_stat_scan_tables
- Replikation
Erstellen von Administratorbenutzern in der Azure-Datenbank für PostgreSQL
- Stellen Sie in Azure Data Studio (oder Ihrem bevorzugten Clienttool) eine Verbindung mit Ihrer Azure-Datenbank für PostgreSQL-Server mit den Anmeldeinformationen des Administrators her.
- Bearbeiten Sie den folgenden SQL-Code, indem Sie die Platzhalter durch Ihren Benutzernamen und Ihr Kennwort ersetzen:
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;