Auf dieser Seite wird beschrieben, wie Sie PostgreSQL- und AlloyDB for PostgreSQL-Rollen, ‑Nutzer und ‑Gruppen mithilfe der passwortbasierten Standardauthentifizierungsmethoden von PostgreSQL erstellen, verwalten und entfernen.
PostgreSQL-Nutzer in AlloyDB erstellen
Wenn Sie PostgreSQL-Nutzer erstellen, haben sie nur das LOGIN
-Berechtigung.
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 gängige Aufgaben zur Nutzerverwaltung mit beiden Methoden veranschaulicht.
Hinweise
Wenn Sie Nutzer in einem Cluster mit PostgreSQL-Befehlen verwalten möchten, benötigen Sie Folgendes:
- Zugriff auf den
psql
-Client - Zugriff auf den
postgres
-Datenbanknutzer oder eine andere Nutzerrolle mit den entsprechenden Administratorberechtigungen
Wenn Sie Nutzer in einem Cluster über die Google Cloud Console oder die Google Cloud CLI verwalten 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.
Datenbanknutzer erstellen
Wenn Sie einen Datenbanknutzer erstellen möchten, der sich direkt mit einem Nutzernamen und Passwort 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
Rufen Sie die Seite Cluster auf.
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 verwenden möchten, um sich in Ihren Datenbankclustern zu authentifizieren und anzumelden, müssen Sie zusätzliche Schritte ausführen, um Ihr Projekt vorzubereiten und dem 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.
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-Kennzeichnungen 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
: Die 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.
Datenbanknutzern Rollen zuweisen
Console
Wenn Sie einem Datenbanknutzer Rollen zuweisen möchten, verwenden Sie psql
oder die gcloud CLI anstelle der Google Cloud Console.
psql
GRANT ROLE to USERNAME;
Ersetzen Sie die folgenden Variablen:
USERNAME
: Nutzername des Nutzers.ROLE
: Rolle, die dem Nutzer gewährt werden soll. Wenn Sie dem Nutzer beispielsweise Superuser-Berechtigungen zuweisen möchten, gewähren Sie ihmalloydbsuperuser
.
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, einschließlich vorhandener und neuer Rollen.Führen Sie den folgenden Befehl aus, um eine Liste der vorhandenen Rollen aufzurufen, die dem Nutzer zugewiesen sind:
gcloud alloydb list users --cluster=CLUSTER_ID --region=REGION_ID
Ersetzen Sie die folgenden Variablen:
CLUSTER_ID
: ID des Clusters, der den Nutzer enthält.REGION_ID
: Die 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
mitpsql
zuweisen oder den Befehlgcloud 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
: Die ID der Region, in der sich der Cluster befindet. Beispiel:us-central1
.
Passwort eines Datenbanknutzers ändern
Wenn Sie ein neues Passwort für einen Standardnutzer der PostgreSQL-Datenbank festlegen möchten, folgen Sie der Anleitung in diesem Abschnitt.
Sie können das Passwort eines IAM-basierten Nutzers nicht ändern oder festlegen, da IAM-Nutzer sich nicht mit Passwörtern authentifizieren. Weitere Informationen finden Sie unter Über ein IAM-Konto eine Verbindung herstellen.
Console
Rufen Sie die Seite Cluster auf.
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, klicken Sie das Kästchen Kein Passwort an.
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
: Neues Passwort, das dem Nutzer zugewiesen werden soll.CLUSTER_ID
: ID des Clusters, zu dem der Nutzer gehört.REGION_ID
: Die ID der Region, in der sich der Cluster befindet. Beispiel:us-central1
.
Rolle für einen Datenbanknutzer widerrufen
Console
Wenn Sie einem Nutzer Rollen entziehen 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. Rollen, die widerrufen werden sollen, müssen Sie weglassen.
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, einschließlich vorhandener und neuer Rollen.Führen Sie den folgenden Befehl aus, um eine Liste der vorhandenen Rollen aufzurufen, die dem Nutzer zugewiesen sind:
gcloud alloydb list users --cluster=CLUSTER_ID --region=REGION_ID
CLUSTER_ID
: ID des Clusters, der den Nutzer enthält.REGION_ID
: Die ID der Region, in der sich der Cluster befindet. Beispiel:us-central1
.
Wenn Sie Superuser-Berechtigungen widerrufen möchten, können Sie die alloydbsuperuser
-Rolle eines Nutzers entweder manuell mit psql
entfernen oder den Befehl gcloud alloydb users set-superuser
mit dem Argument --superuser=false
ausführen.
Liste der Datenbanknutzer aufrufen
Console
Rufen Sie die Seite Cluster auf.
Klicken Sie auf den Namen des Clusters, dessen Nutzer Sie aufrufen möchten.
Klicken Sie auf Nutzer.
psql
Der Befehl \du
gibt eine Tabelle mit allen Datenbanknutzern aus, einschließlich ihrer Gruppenmitgliedschaften.
\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
: Die ID der Region, in der sich der Cluster befindet. Beispiel:us-central1
.
Datenbanknutzer löschen
Console
Rufen Sie die Seite Cluster auf.
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 deren Inhaberschaft neu zuweisen. Alle Berechtigungen, die dem Nutzer für andere Objekte gewährt wurden, müssen aufgehoben werden.
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
: Die ID der Region, in der sich der Cluster befindet. Beispiel:us-central1
.