Verwalten von Benutzern in Azure HorizonDB (Vorschau)

In diesem Artikel wird beschrieben, wie Sie Benutzer innerhalb eines Azure HorizonDB-Clusters erstellen.

Informationen zum Erstellen und Verwalten von Azure Abonnementbenutzern und deren Berechtigungen finden Sie in Azure rollenbasierten Zugriffssteuerungsartikel (Azure RBAC), oder überprüfen Sie, wie Sie Rollen anpassen.

Das Serveradministratorkonto

Wenn Sie ihren Azure HorizonDB-Cluster zum ersten Mal erstellen, geben Sie einen Namen und ein Kennwort für die Clusteradministratorauthentifizierung an. Weitere Informationen finden Sie unter Erstellen eines Azure HorizonDB-Clusters, um eine schrittweise Anleitung zu erhalten. Da der Name der Clusteradministratorauthentifizierung ein benutzerdefinierter Name ist, finden Sie den ausgewählten Serveradministratorbenutzernamen im Azure-Portal.

Der Azure HorizonDB-Cluster wird mit drei 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

Ihre Administratorauthentifizierung ist ein Mitglied der Rolle azure_pg_admin. Das Administratorkonto 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 HorizonDB erhält der Serveradministratorbenutzer folgende Berechtigungen: LOGIN, NOSUPERUSER, INHERIT, CREATEDB und CREATEROLE.

Die Clusteradministratorauthentifizierung kann mehr Benutzer erstellen und diesen Benutzern die azure_pg_admin Rolle gewähren. Außerdem kann die Clusteradministratorauthentifizierung weniger privilegierte Benutzer und Rollen erstellen, die Zugriff auf einzelne Datenbanken und Schemas haben.

So erstellen Sie weitere Administratorbenutzer in Azure HorizonDB

  1. Beschaffen Sie die Verbindungsinformationen und den Administratorbenutzernamen. Sie benötigen den vollständigen Servernamen und die Anmeldeinformationen des Administrators, um eine Verbindung mit Ihrem Azure HorizonDB-Cluster 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 Ihrem Azure HorizonDB-Cluster herzustellen. Verwenden Sie Ihr bevorzugtes Clienttool, z. B. pgAdmin oder psql. Wenn Sie nicht sicher sind, wie Sie eine Verbindung herstellen, lesen Sie Create an Azure HorizonDB cluster.

  3. Bearbeiten Sie den folgenden SQL-Code, und führen Sie ihn 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 HorizonDB

Note

Fügen Sie keine persönlichen, sensiblen oder vertraulichen Informationen in Ressourcennamen (zum Beispiel Tabellenname, Datenbankname) und Ressourcen-Tags hinzu. Die Daten, die Sie in diese Felder eingeben, gelten nicht als Kundendaten.

  1. Beschaffen Sie die Verbindungsinformationen und den Administratorbenutzernamen. Sie benötigen den vollständigen Servernamen und die Anmeldeinformationen des Administrators, um eine Verbindung mit Ihrem Azure HorizonDB-Cluster 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 Ihrem Azure HorizonDB-Cluster herzustellen. Verwenden Sie Ihr bevorzugtes Clienttool, z. B. PostgreSQL für Visual Studio Code, pgAdmin oder psql.

  3. Bearbeiten Sie den folgenden SQL-Code, und führen Sie ihn 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 erstellt eine neue Datenbank, erstellt dann einen neuen Benutzer im Azure HorizonDB-Cluster 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 finden Sie in der PostgreSQL-Dokumentation für weitere Details zu Datenbankrollen und Berechtigungen. 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 mit dem neuen Benutzernamen und Kennwort bei Ihrem Server an und geben Sie dabei die vorgesehene Datenbank 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="{clustername}.{clusteridentifier}.{region}.horizondb.azure.com" --port=5432 --username=db_user --dbname=newdb