Auf dieser Seite wird beschrieben, wie Sie PostgreSQL- und AlloyDB for PostgreSQL-Rollen, ‑Nutzer und ‑Gruppen mit den passwortbasierten integrierten PostgreSQL-Authentifizierungsmethoden erstellen, verwalten und entfernen.
PostgreSQL-Nutzer in AlloyDB erstellen
Wenn Sie PostgreSQL-Nutzer erstellen, haben sie nur die Berechtigung LOGIN.
Weitere Informationen zu diesen Berechtigungen finden Sie unter
CREATE USER.
Sie können die Berechtigungen eines beliebigen Nutzers mit dem
ALTER ROLE
Befehl ändern. Wenn Sie einen neuen Nutzer mit dem psql-Client erstellen, können Sie ihn einer anderen Rolle zuordnen 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 gängige Aufgaben der Nutzerverwaltung mit beiden Methoden beschrieben.
Hinweis
Wenn Sie PostgreSQL-Befehle zum Verwalten von Nutzern in einem Cluster verwenden möchten, benötigen Sie Folgendes:
- Zugriff auf den
psqlClient - Zugriff auf den Datenbanknutzer
postgresoder eine andere Nutzerrolle mit den entsprechenden Administratorberechtigungen
Wenn Sie die Google Cloud Console oder die Google Cloud CLI zum Verwalten von Nutzern in einem Cluster verwenden möchten, 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.
Einen 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.
Informationen zum Erstellen eines Datenbanknutzers, der sich mit Identity and Access Management (IAM) authentifiziert, finden Sie unter IAM-Authentifizierung verwalten.
Console
Zur Clusterseite.
Klicken Sie auf den Namen des Clusters, dem Sie einen Nutzer hinzufügen möchten.
Klicken Sie auf Nutzer.
Klicken Sie auf Nutzerkonto hinzufügen.
Lassen Sie Integrierte Authentifizierung ausgewählt.
Wenn Sie IAM zum Authentifizieren und Anmelden bei Ihren Datenbankclustern verwenden möchten, 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.
Geben Sie einen Nutzernamen und ein Passwort für den neuen Nutzer ein.
So weisen Sie dem Nutzer andere Rollen als die Standardrolle
alloydbsuperuserzu:- Geben Sie den Namen der Rolle unter Rollen ein.
- Drücken Sie die Eingabetaste oder die Tabulatortaste, um die Rolle hinzuzufügen.
Wählen Sie x für alle Rollen aus, die Sie für diesen Nutzer entfernen möchten.
Weitere Informationen finden Sie unter Vordefinierte Rollen.
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
ALTER ROLE
Befehl im psql Client ändern.
gcloud
Verwenden Sie den folgenden
gcloud alloydb users create Befehl:
gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen Sie die folgenden Variablen:
USERNAME: Nutzername des Nutzers.USERNAMEmuss den Regeln für SQL-Kennungen entsprechen: ohne Sonderzeichen oder in doppelten Anführungszeichen. Beispiel:db_user_1.PASSWORD: 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
gcloud alloydb users set-roles
Befehl ä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.
Datenbanknutzern Rollen zuweisen
Console
Verwenden Sie psql oder die gcloud CLI, um einem Datenbanknutzer Rollen zuzuweisen, anstatt die Google Cloud Console.
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 ihmalloydbsuperuserzu.
gcloud
Verwenden Sie den folgenden gcloud alloydb users set-roles
Befehl, um alle Rollen anzugeben, die der Nutzer haben soll:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen Sie die folgenden Variablen:
USERNAME: Nutzername des Nutzers.ROLES: Durch Kommas getrennte Liste aller Rollen, die der Nutzer haben soll. Achten Sie darauf, dass Sie alle Rollen auflisten, einschließlich vorhandener und neuer Rollen.Führen Sie den folgenden Befehl aus, um die Liste der vorhandenen Rollen aufzurufen, die dem Nutzer zugewiesen sind:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_IDErsetzen 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 gewähren möchten, können Sie ihm entweder manuell die Rolle
alloydbsuperusermitpsqlzuweisen oder dengcloud alloydb users set-superuserBefehl mit dem--superuser=trueArgument ausführen:gcloud alloydb users set-superuser USERNAME \ --superuser=true \ --cluster=CLUSTER_ID \ --region=REGION_IDErsetzen 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
Folgen Sie der Anleitung in diesem Abschnitt, um ein neues Passwort für einen Standard-PostgreSQL-Datenbanknutzer festzulegen.
Sie können das Passwort eines IAM-basierten Nutzers nicht ändern oder festlegen, da sich IAM-Nutzer nicht mit Passwörtern authentifizieren. Weitere Informationen finden Sie unter Mit einem IAM-Konto verbinden.
Console
Zur Clusterseite.
Klicken Sie auf den Namen des Clusters, der den Datenbanknutzer enthält.
Klicken Sie auf Nutzer.
Klicken Sie in der Zeile für den Nutzer auf Aktionen für diesen Nutzer öffnen.
Wählen Sie Passwort ändern aus.
Geben Sie ein Passwort an:
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, wählen Sie das Kästchen Kein Passwort aus.
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
Verwenden Sie den folgenden gcloud alloydb users set-password
Befehl:
gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen Sie die folgenden Variablen:
USERNAME: Nutzername des Nutzers.PASSWORD: Neues 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 eines Datenbanknutzers widerrufen
Console
Verwenden Sie psql oder die gcloud CLI, um Rollen von einem Nutzer zu widerrufen, anstatt die Google Cloud Console.
psql
Sie können zuvor gewährte Berechtigungen von einer oder mehreren Rollen widerrufen oder die Mitgliedschaft eines Nutzers in einer Rolle widerrufen, wie hier gezeigt:
REVOKE ROLE FROM USERNAME;
Wenn Sie die Superuser-Berechtigungen eines Nutzers entfernen möchten, widerrufen Sie ihm die Rolle alloydbsuperuser.
gcloud
Verwenden Sie den folgenden
gcloud alloydb users set-roles Befehl
mit der Google Cloud CLI, um alle Rollen anzugeben, die der Nutzer haben soll, und um
Rollen wegzulassen, die für den Nutzer widerrufen werden sollen:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen Sie die folgenden Variablen:
USERNAME: Nutzername des Nutzers.ROLES: Durch Kommas getrennte Liste aller Rollen, die der Nutzer haben soll. Achten Sie darauf, dass Sie alle Rollen auflisten, einschließlich vorhandener und neuer Rollen.Führen Sie den folgenden Befehl aus, um die Liste der vorhandenen Rollen aufzurufen, die dem Nutzer zugewiesen sind:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_IDCLUSTER_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 Rolle eines Nutzers
alloydbsuperuser manuell mit psql entfernen oder den
gcloud alloydb users set-superuser
Befehl mit dem --superuser=false Argument ausführen.
Liste der Datenbanknutzer aufrufen
Console
Zur Clusterseite.
Klicken Sie auf den Namen des Clusters, dessen Nutzer Sie aufrufen möchten.
Klicken Sie auf Nutzer.
psql
Verwenden Sie den folgenden Befehl \du, um eine Tabelle aller Datenbanknutzer auszugeben, einschließlich ihrer Gruppenzugehörigkeiten:
\du
gcloud
Verwenden Sie den folgenden gcloud alloydb users list
Befehl:
gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen 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
Zur Clusterseite.
Klicken Sie auf den Namen des Clusters, der den Nutzer enthält.
Klicken Sie auf Nutzer.
Klicken Sie in der Zeile für den Nutzer auf Aktionen für diesen Nutzer öffnen.
Klicken Sie auf Entfernen.
Klicken Sie im Dialogfeld Nutzerkonto entfernen? auf Entfernen.
psql
Bevor Sie einen Nutzer löschen, müssen Sie alle seine Objekte entfernen oder neu zuweisen und alle Berechtigungen widerrufen, die dem Nutzer für andere Objekte gewährt wurden. Verwenden Sie:
DROP ROLE USERNAME;
gcloud
Verwenden Sie den folgenden
gcloud alloydb users delete Befehl:
gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_IDErsetzen 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.