Beschreiben der in Azure Database for PostgreSQL integrierten Serverrollen
PostgreSQL verwaltet den Datenbankzugriff mithilfe von Rollen. Eine Rolle kann ein Datenbankbenutzer oder eine Gruppe von Benutzern sein. Rollen bieten diese Möglichkeiten:
- Fungieren als Besitzer von Datenbankobjekten wie Tabellen oder Funktionen
- Zuweisen von Berechtigungen für diese Objekte zu anderen Rollen
- Gewähren der Mitgliedschaft in einer anderen Rolle, sodass die Mitgliedsrolle deren Berechtigungen erhält
Ihr Azure Database for 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;
Hinweis
Azure Database for PostgreSQL ist ein verwalteter PaaS-Dienst, und nur Microsoft-Benutzer haben die Rolle azuresu (Superuser).
Als Sie Ihren Server erstellt haben, wurde auch ein Administratorbenutzer für den Server angelegt. Dieser Benutzer wurde automatisch Mitglied der Rolle azure_pg_admin. Der Administratorbenutzer des Azure Database for PostgreSQL-Servers hat die folgenden Berechtigungen: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION
Das Administratorbenutzerkonto für den Server, das Sie bei dessen Einrichtung erstellt haben, hat nun folgende Möglichkeiten:
- Erstellen weiterer Benutzer, denen Sie die Rolle azure_pg_admin gewähren
- Erstellen von Benutzern und Rollen mit weniger Berechtigungen, die Zugriff auf einzelne Datenbanken und Schemas haben
PostgreSQL bietet 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_read_server_files
- pg_execute_server_program
Es gibt noch weitere Spezialrollen:
- pg_monitor
- pg_read_all_stats
- pg_stat_scan_tables
- Replikation
Erstellen von Administratorbenutzern in Azure Database for PostgreSQL
- Stellen Sie in Azure Data Studio (oder Ihrem bevorzugten Clienttool) mit den Anmeldeinformationen des Administrators eine Verbindung mit Ihrem Azure Database for PostgreSQL-Server 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>;