Freigeben über


Verwalten von Benutzern in der Azure-Datenbank für PostgreSQL

In diesem Artikel wird beschrieben, wie Sie Benutzer innerhalb einer Azure-Datenbank für flexible Serverinstanz von PostgreSQL erstellen können.

Angenommen, Sie möchten erfahren, wie Sie Azure-Abonnementbenutzer und ihre Berechtigungen erstellen und verwalten. In diesem Fall können Sie den Artikel zur rollenbasierten Zugriffssteuerung (Azure RBAC) besuchen oder überprüfen, wie Sie Rollen anpassen.

Das Serveradministratorkonto

Wenn Sie ihre Azure-Datenbank für die flexible Serverinstanz von PostgreSQL zum ersten Mal erstellt haben, haben Sie einen Benutzernamen und ein Kennwort für den Serveradministrator bereitgestellt. Weitere Informationen finden Sie unter Erstellen einer Azure-Datenbank für PostgreSQL , um den schrittweisen Ansatz anzuzeigen. Da der Serveradministratorbenutzername ein benutzerdefinierter Name ist, können Sie den ausgewählten Serveradministratorbenutzernamen aus dem Azure-Portal suchen.

Die flexible Serverinstanz von Azure Database für PostgreSQL wird mit den drei definierten Standardrollen erstellt. Sie können diese Rollen anzeigen, indem Sie den Befehl ausführen: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • Ihr Serveradministratorbenutzer

Ihr Serveradministratorbenutzer ist Mitglied der rolle azure_pg_admin. Das Serveradministratorkonto ist jedoch nicht Teil der Azuresu-Rolle. Da dieser Dienst ein verwalteter PaaS-Dienst ist, ist nur Microsoft Teil der Superbenutzerrolle.

Das PostgreSQL-Modul verwendet Berechtigungen, um den Zugriff auf Datenbankobjekte zu steuern, wie in der Produktdokumentation von PostgreSQL erläutert. In Azure Database for PostgreSQL erhält der Serveradministratorbenutzer die folgenden Berechtigungen:

  • Anmelden, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

Das Serveradministratorbenutzerkonto kann verwendet werden, um weitere Benutzer zu erstellen und diesen Benutzern die rolle azure_pg_admin zu gewähren. Außerdem kann das Serveradministratorkonto verwendet werden, um weniger privilegierte Benutzer und Rollen zu erstellen, die Zugriff auf einzelne Datenbanken und Schemas haben.

So erstellen Sie weitere Administratorbenutzer in der Azure-Datenbank für PostgreSQL

  1. Rufen Sie die Verbindungsinformationen und den Administratorbenutzernamen ab. Sie benötigen den vollständigen Servernamen und die Anmeldeinformationen des Administrators, um eine Verbindung mit Ihrer Azure-Datenbank für flexible Serverinstanz von PostgreSQL herzustellen. Sie können den Servernamen und Anmeldeinformationen ganz einfach auf der Seite " Serverübersicht" oder auf der Seite "Eigenschaften " im Azure-Portal finden.

  2. Verwenden Sie das Administratorkonto und das Kennwort, um eine Verbindung mit Ihrer Azure-Datenbank für flexible Serverinstanz von PostgreSQL herzustellen. Verwenden Sie Ihr bevorzugtes Clienttool, z. B. pgAdmin oder psql. Wenn Sie sich nicht sicher sind, wie Sie eine Verbindung herstellen, lesen Sie "Erstellen einer Azure-Datenbank für PostgreSQL".

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

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

Erstellen von Datenbankbenutzern in Azure-Datenbank für PostgreSQL

  1. Rufen Sie die Verbindungsinformationen und den Administratorbenutzernamen ab. Sie benötigen den vollständigen Servernamen und die Anmeldeinformationen des Administrators, um eine Verbindung mit Ihrer Azure-Datenbank für flexible Serverinstanz von PostgreSQL herzustellen. Sie können den Servernamen und Anmeldeinformationen ganz einfach auf der Seite " Serverübersicht" oder auf der Seite "Eigenschaften " im Azure-Portal finden.

  2. Verwenden Sie das Administratorkonto und das Kennwort, um eine Verbindung mit Ihrer Azure-Datenbank für flexible Serverinstanz von PostgreSQL herzustellen. Verwenden Sie Ihr bevorzugtes Clienttool, z. B. pgAdmin oder psql.

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

    Dieser sql-Code unten erstellt eine neue Datenbank und erstellt dann einen neuen Benutzer in der Azure-Datenbank für PostgreSQL flexible Serverinstanz und gewährt verbindungsberechtigungen für die neue Datenbank für diesen Benutzer.

    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 möglicherweise anderen Berechtigungen erteilen, um die Objekte in der Datenbank zu schützen. Weitere Informationen 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 zu diesem Benutzer. Wenn ein anderer Benutzer Zugriff auf die Tabelle benötigt, müssen Sie dem anderen Benutzer auf Tabellenebene Berechtigungen erteilen.

    Beispiel:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Melden Sie sich bei Ihrem Server an, und geben Sie die angegebene Datenbank mithilfe des neuen Benutzernamens und Kennworts an. Dieses Beispiel zeigt die psql-Befehlszeile. Mit diesem Befehl werden Sie aufgefordert, das Kennwort für den Benutzernamen einzugeben. Ersetzen Sie Ihren eigenen Servernamen, Datenbanknamen und Benutzernamen.

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