PostgreSQL-Nutzer mit Standardauthentifizierung verwalten

Auf dieser Seite wird beschrieben, wie Sie PostgreSQL- und AlloyDB for PostgreSQL-Rollen, ‑Nutzer und ‑Gruppen mit den passwortbasierten PostgreSQL-Standardauthentifizierungsmethoden erstellen, verwalten und entfernen.

PostgreSQL-Nutzer in AlloyDB erstellen

Wenn Sie PostgreSQL-Nutzer erstellen, haben sie anfangs nur die Berechtigung LOGIN. Weitere Informationen zu diesen Berechtigungen finden Sie unter CREATE USER.

Mit dem Befehl ALTER ROLE können Sie die Berechtigungen jedes Nutzers ändern. Wenn Sie einen neuen Nutzer mit dem psql-Client erstellen, können Sie ihn mit einer anderen Rolle verknüpfen oder ihm andere Berechtigungen zuweisen.

Nutzer verwalten

Sie können AlloyDB-Nutzer mit der Google Cloud CLI oder mit PostgreSQL-Befehlen erstellen und verwalten. In den folgenden Abschnitten werden häufige Aufgaben zur Nutzerverwaltung mit beiden Methoden veranschaulicht.

Hinweise

Wenn Sie PostgreSQL-Befehle zum Verwalten von Nutzern in einem Cluster verwenden möchten, benötigen Sie Folgendes:

  • Zugriff auf den psql-Client
  • Zugriff auf den Datenbanknutzer postgres oder eine andere Nutzerrolle mit den entsprechenden Administratorberechtigungen

Wenn Sie die Google Cloud Console oder die Google Cloud CLI verwenden möchten, um Nutzer in einem Cluster zu verwalten, muss dieser Cluster eine primäre Instanz haben. Wenn Ihr Cluster keine primäre Instanz hat, müssen Sie eine erstellen, bevor Sie Nutzer verwalten können.

Datenbanknutzer erstellen

Wenn Sie einen Datenbanknutzer erstellen möchten, der sich mit einem Nutzernamen und einem Passwort direkt bei der Datenbank authentifiziert (auch als integrierte Authentifizierung bezeichnet), folgen Sie der Anleitung in diesem Abschnitt.

Wenn Sie stattdessen einen Datenbanknutzer erstellen möchten, der Identity and Access Management (IAM) zur Authentifizierung verwendet, lesen Sie den Abschnitt IAM-Authentifizierung verwalten.

Console

  1. Rufen Sie die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie auf den Namen des Clusters, dem Sie einen Nutzer hinzufügen möchten.

  3. Klicken Sie auf Nutzer.

  4. Klicken Sie auf Nutzerkonto hinzufügen.

  5. Lassen Sie Integrierte Authentifizierung ausgewählt.

    Wenn Sie IAM verwenden möchten, um sich bei Ihren Datenbankclustern zu authentifizieren und anzumelden, müssen Sie zusätzliche Schritte ausführen, um Ihr Projekt vorzubereiten und Ihrem neuen Nutzer die entsprechenden Berechtigungen zu gewähren. Weitere Informationen finden Sie unter IAM-Authentifizierung verwalten.

  6. Geben Sie einen Nutzernamen und ein Passwort für den neuen Nutzer ein.

  7. Klicken Sie auf Hinzufügen.

psql

CREATE USER USERNAME WITH PASSWORD PASSWORD;

Weitere Informationen zum Erstellen und Definieren von Datenbanknutzern finden Sie unter CREATE USER.

Nachdem Sie einen Nutzer erstellt haben, können Sie seine Berechtigungen mit dem Befehl ALTER ROLE im psql-Client ändern.

gcloud

Führen Sie den Befehl gcloud alloydb users create aus.

gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie die folgenden Variablen:

  • USERNAME: Nutzername des Nutzers. USERNAME muss den Regeln für SQL-Kennungen entsprechen: ohne Sonderzeichen oder in doppelte Anführungszeichen eingeschlossen. Beispiel: db_user_1

  • PASSWORD: Das Passwort des Nutzers. Wenn Sie den Nutzer ohne Passwort erstellen möchten, lassen Sie dieses Argument weg.

  • CLUSTER_ID: ID des Clusters, dem der Nutzer hinzugefügt werden soll.

  • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Nachdem Sie einen Nutzer erstellt haben, können Sie seine Berechtigungen mit dem Befehl gcloud alloydb users set-roles ändern.

Außerdem können Sie einem Nutzer beim Erstellen Rollen oder Superuser-Berechtigungen zuweisen. Fügen Sie dazu die Argumente --db-roles oder --superuser ein, wie im folgenden Abschnitt beschrieben.

Datenbanknutzer Rollen zuweisen

Console

Wenn Sie einem Datenbanknutzer Rollen zuweisen möchten, verwenden Sie psql oder die gcloud CLI anstelle der Google Cloud -Konsole.

psql

GRANT ROLE to USERNAME;

Ersetzen Sie die folgenden Variablen:

  • USERNAME: Nutzername des Nutzers.
  • ROLE: Rolle, die dem Nutzer zugewiesen werden soll. Wenn Sie dem Nutzer beispielsweise Superuser-Berechtigungen gewähren möchten, weisen Sie ihm alloydbsuperuser zu.

gcloud

Verwenden Sie den Befehl gcloud alloydb users set-roles, um alle Rollen anzugeben, die der Nutzer haben soll.

gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie die folgenden Variablen:

  • USERNAME: Nutzername des Nutzers.

  • ROLES: Durch Kommas getrennte Liste aller Rollen, die der Nutzer haben soll. Geben Sie alle Rollen an, sowohl vorhandene als auch neue.

    Führen Sie den folgenden Befehl aus, um die Liste der vorhandenen Rollen zu finden, die dem Nutzer zugewiesen sind:

    gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID

    Ersetzen Sie die folgenden Variablen:

    • CLUSTER_ID: ID des Clusters, der den Nutzer enthält.

    • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

    Wenn Sie einem Nutzer Superuser-Berechtigungen erteilen möchten, können Sie ihm entweder manuell die Rolle alloydbsuperuser mit psql zuweisen oder den Befehl gcloud alloydb users set-superuser mit dem Argument --superuser=true ausführen:

    gcloud alloydb users set-superuser USERNAME \
    --superuser=true \
    --cluster=CLUSTER_ID \
    --region=REGION_ID

    Ersetzen Sie die folgenden Variablen:

    • CLUSTER_ID: ID des Clusters, der den Nutzer enthält.

    • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Passwort eines Datenbanknutzers ändern

So legen Sie ein neues Passwort für einen Standard-PostgreSQL-Datenbanknutzer fest:

Sie können das Passwort eines IAM-basierten Nutzers nicht ändern oder festlegen, da IAM-Nutzer keine Passwörter zur Authentifizierung verwenden. Weitere Informationen finden Sie unter Mit einem IAM-Konto verbinden.

Console

  1. Rufen Sie die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie auf den Namen des Clusters, der den Datenbanknutzer enthält.

  3. Klicken Sie auf Nutzer.

  4. Klicken Sie in der Zeile für den Nutzer auf  Aktionen für diesen Nutzer öffnen.

  5. Wählen Sie Passwort ändern aus.

  6. Passwort angeben:

    • Wenn Sie ein neues Passwort für diesen Nutzer festlegen möchten, geben Sie es in das Feld Passwort ein.

    • Wenn Sie für diesen Nutzer kein Passwort festlegen möchten, setzen Sie ein Häkchen bei Kein Passwort.

  7. Klicken Sie auf OK.

psql

ALTER USER USERNAME WITH PASSWORD PASSWORD;

Weitere Informationen zum Ändern des Passworts eines Nutzers finden Sie unter ALTER ROLE.

gcloud

Führen Sie den Befehl gcloud alloydb users set-password aus:

gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie die folgenden Variablen:

  • USERNAME: Nutzername des Nutzers.

  • PASSWORD: Das neue Passwort, das dem Nutzer zugewiesen werden soll.

  • CLUSTER_ID: ID des Clusters, zu dem der Nutzer gehört.

  • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Rolle für einen Datenbanknutzer widerrufen

Console

Wenn Sie Rollen von einem Nutzer widerrufen möchten, verwenden Sie psql oder die gcloud CLI anstelle der Google Cloud Console.

psql

Sie können zuvor gewährte Berechtigungen für eine oder mehrere Rollen widerrufen oder die Mitgliedschaft eines Nutzers in einer Rolle widerrufen.

REVOKE ROLE FROM USERNAME;

Wenn Sie die Superuser-Berechtigungen eines Nutzers entfernen möchten, widerrufen Sie die Rolle alloydbsuperuser für diesen Nutzer.

gcloud

Wenn Sie eine Rolle mit der Google Cloud CLI widerrufen möchten, verwenden Sie den Befehl gcloud alloydb users set-roles, um alle Rollen anzugeben, die der Nutzer haben soll. Lassen Sie dabei die Rollen aus, die Sie für den Nutzer widerrufen möchten.

gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie die folgenden Variablen:

  • USERNAME: Nutzername des Nutzers.

  • ROLES: Durch Kommas getrennte Liste aller Rollen, die der Nutzer haben soll. Geben Sie alle Rollen an, sowohl vorhandene als auch neue.

    Führen Sie den folgenden Befehl aus, um die Liste der vorhandenen Rollen zu finden, die dem Nutzer zugewiesen sind:

    gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID
  • CLUSTER_ID: ID des Clusters, der den Nutzer enthält.

  • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Wenn Sie Superuser-Berechtigungen widerrufen möchten, können Sie entweder die alloydbsuperuser-Rolle eines Nutzers manuell mit psql entfernen oder den Befehl gcloud alloydb users set-superuser mit dem Argument --superuser=false ausführen.

Liste der Datenbanknutzer aufrufen

Console

  1. Rufen Sie die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie auf den Namen des Clusters, dessen Nutzer Sie aufrufen möchten.

  3. Klicken Sie auf Nutzer.

psql

Mit dem Befehl \du wird eine Tabelle mit allen Datenbanknutzern und ihren Gruppenzugehörigkeiten ausgegeben.

\du

gcloud

Führen Sie den Befehl gcloud alloydb users list aus.

gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie Folgendes:

  • CLUSTER_ID: ID des Clusters, der die Nutzer enthält.

  • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Datenbanknutzer löschen

Console

  1. Rufen Sie die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie auf den Namen des Clusters, der den Nutzer enthält.

  3. Klicken Sie auf Nutzer.

  4. Klicken Sie in der Zeile für den Nutzer auf  Aktionen für diesen Nutzer öffnen.

  5. Klicken Sie auf Entfernen.

  6. Klicken Sie im Dialogfeld Nutzerkonto entfernen? auf Entfernen.

psql

Bevor Sie einen Nutzer löschen, müssen Sie alle seine Objekte löschen oder neu zuweisen und alle Berechtigungen widerrufen, die dem Nutzer für andere Objekte gewährt wurden.

DROP ROLE USERNAME;

gcloud

Führen Sie den Befehl gcloud alloydb users delete aus.

gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ersetzen Sie Folgendes:

  • USERNAME: Nutzername des Nutzers.

  • CLUSTER_ID: ID des Clusters, zu dem der Nutzer gehört.

  • REGION_ID: ID der Region, in der sich der Cluster befindet. Beispiel: us-central1.

Nächste Schritte