Erstellen von Benutzern in Azure Database for PostgreSQL – Flexible Server

GILT FÜR: Azure Database for PostgreSQL – Flexibler Server

In diesem Artikel wird beschrieben, wie Sie Benutzer*innen in einer Azure Database for PostgreSQL – Flexible Server-Instanz erstellen können.

Angenommen, Sie möchten lernen, wie Sie Benutzer*innen von Azure-Abonnements sowie ihre Berechtigungen erstellen und verwalten. In diesem Fall können Sie den Artikel zur rollenbasierten Zugriffssteuerung in Azure (Azure RBAC) lesen oder sich mit dem Anpassen von Rollen beschäftigen.

Das Serveradministratorkonto

Beim ersten Erstellen Ihrer Azure Database for PostgreSQL – Flexible Server-Instanz haben Sie einen Serveradministrator-Benutzernamen und das zugehörige Kennwort angegeben. Weitere Informationen sowie eine Erläuterung der einzelnen Schritte finden Sie in der Schnellstartanleitung. Da es sich beim Serveradministrator-Benutzernamen um einen benutzerdefinierten Namen handelt, können Sie den ausgewählten Serveradministrator-Benutzernamen im Azure-Portal ermitteln.

Die Azure Database for PostgreSQL – Flexible Server-Instanz wird erstellt und verfügt über die drei definierten Standardrollen. Sie können diese Rollen durch Ausführung des folgenden Befehls anzeigen: SELECT rolname FROM pg_roles;.

  • azure_pg_admin
  • azuresu
  • Ihr Serveradministratorbenutzer

Der Serveradministratorbenutzer ist ein Mitglied der Rolle „azure_pg_admin“. Das Serveradministratorkonto ist jedoch nicht Teil der Rolle „azuresu“. Da dieser Dienst ein verwalteter PaaS-Dienst ist, ist nur Microsoft Mitglied der Administratorrolle.

Die PostgreSQL-Engine nutzt Berechtigungen zum Steuern des Zugriffs auf Datenbankobjekte, wie in der PostgreSQL-Produktdokumentation erläutert. In Azure Database for PostgreSQL – Flexible Server werden Serveradministrator*innen folgende Berechtigungen gewährt:

  • Anmelden, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

Mit dem Konto des Serveradministratorbenutzers können mehr Benutzer erstellt und der Rolle „azure_pg_admin“ zugeordnet werden. Außerdem kann das Serveradministratorkonto genutzt werden, um Benutzer und Rollen mit weniger Berechtigungen zu erstellen, die Zugriff auf einzelne Datenbanken und Schemas haben.

Erstellen von weiteren Administratorbenutzer*innen in Azure Database for PostgreSQL – Flexible Server

  1. Beschaffen Sie die Verbindungsinformationen und den Administratorbenutzernamen. Für das Herstellen einer Verbindung mit Ihrer Azure Database for PostgreSQL – Flexible Server-Instanz benötigen Sie den vollständigen Servernamen und die Administratoranmeldeinformationen. Der Servername und die Anmeldeinformationen sind auf der Seite Übersicht des Servers oder auf der Seite Eigenschaften im Azure-Portal leicht zu finden.

  2. Verwenden Sie das Administratorkonto und das zugehörige Kennwort zum Herstellen einer Verbindung mit der Azure Database for PostgreSQL – Flexible Server-Instanz. Verwenden Sie Ihr bevorzugtes Clienttool, etwa pgAdmin oder psql. Wenn Sie sich nicht sicher sind, wie Sie eine Verbindung herstellen sollen, lesen Sie den Schnellstart.

  3. Bearbeiten Sie den folgenden SQL-Code, und führen Sie ihn aus. Ersetzen Sie den Platzhalterwert <new_user> durch ihren neuen Benutzernamen und das Platzhalterkennwort Ihr eigenes sicheres Kennwort.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

Erstellen von Datenbankbenutzer*innen in Azure Database for PostgreSQL – Flexible Server

  1. Beschaffen Sie die Verbindungsinformationen und den Administratorbenutzernamen. Für das Herstellen einer Verbindung mit Ihrer Azure Database for PostgreSQL – Flexible Server-Instanz benötigen Sie den vollständigen Servernamen und die Administratoranmeldeinformationen. Der Servername und die Anmeldeinformationen sind auf der Seite Übersicht des Servers oder auf der Seite Eigenschaften im Azure-Portal leicht zu finden.

  2. Verwenden Sie das Administratorkonto und das zugehörige Kennwort zum Herstellen einer Verbindung mit der Azure Database for PostgreSQL – Flexible Server-Instanz. Verwenden Sie Ihr bevorzugtes Clienttool, etwa pgAdmin oder psql.

  3. Bearbeiten Sie den folgenden SQL-Code, und führen Sie ihn aus. Ersetzen Sie den Platzhalterwert <db_user> durch Ihren gewünschten neuen Benutzernamen und den Platzhalterwert <newdb> durch Ihren eigenen Datenbanknamen. Ersetzen Sie das Platzhalterkennwort durch Ihr eigenes sicheres Kennwort.

    Dieser nachstehende SQL-Code erstellt eine neue Datenbank, erstellt dann eine*n neue*n Benutzer*in in der Azure Database for PostgreSQL – Flexible Server-Instanz und gewährt diesem/dieser Benutzer*in Verbindungsberechtigung für die neue Datenbank.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Wenn Sie ein Administratorkonto verwenden, müssen Sie unter Umständen andere Berechtigungen erteilen, um die Objekte in der Datenbank zu schützen. Weitere Einzelheiten zu Datenbankrollen und Berechtigungen finden Sie in der PostgreSQL-Dokumentation. Beispiel:

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Wenn ein Benutzer eine Tabelle „Rolle“ erstellt, gehört die Tabelle diesem Benutzer. Wenn ein anderer Benutzer Zugriff auf die Tabelle benötigt, müssen Sie dem anderen Benutzer Berechtigungen auf Tabellenebene gewähren.

    Beispiel:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Melden Sie sich bei Ihrem Server an, und geben Sie unter Verwendung des neuen Benutzernamens und des Kennworts die designierte Datenbank an. In diesem Beispiel wird die psql-Befehlszeile gezeigt. Bei diesem Befehl werden Sie zum Eingeben des Kennworts für den Benutzernamen aufgefordert. Fügen Sie Ihren eigenen Servernamen, Datenbanknamen und Benutzernamen ein.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user --dbname=newdb
    

Nächste Schritte

Öffnen Sie die Firewall für die IP-Adressen der Computer der neuen Benutzer, um ihnen das Herstellen einer Verbindung zu ermöglichen: