Instanzen für die IAM-Datenbankauthentifizierung konfigurieren

Auf dieser Seite finden Sie Verfahren zum Erstellen oder Bearbeiten von Cloud SQL-Instanzen, um Nutzern oder Dienstkonten zuzulassen, die für die Verwendung der Cloud SQL-IAM-Datenbankauthentifizierung konfiguriert sind. Weitere Informationen zur Cloud SQL-IAM-Integration finden Sie unter Cloud SQL-IAM-Datenbankauthentifizierung.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Installieren und initialisieren Sie das Cloud SDK.
  5. Achten Sie darauf, dass Sie für Ihr Nutzerkonto die Rollen "Cloud SQL-Administrator" und "Compute-Betrachter" haben.

    Zur IAM-Seite

    Weitere Informationen zu Rollen und Berechtigungen

Neue Instanzen für die IAM-Datenbankauthentifizierung konfigurieren

So konfigurieren Sie eine neue Instanz, die die Cloud SQL-IAM-Datenbankauthentifizierung verwendet:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf Instanz erstellen.
  3. Wählen Sie PostgreSQL aus und klicken Sie auf Weiter.
  4. Geben Sie einen Namen für die Instanz-ID ein. Der Instanzname sollte keine vertraulichen Informationen oder personenbezogenen Daten enthalten, da er extern sichtbar ist. Die Projekt-ID muss im Instanznamen nicht angegeben werden. Die Projekt-ID wird an gegebener Stelle automatisch eingefügt, z. B. in den Logdateien. Hinweis: Sie können einen Instanznamen nach dem Löschen der Instanz maximal eine Woche lang nicht wiederverwenden.
  5. Geben Sie ein Passwort für den Nutzer postgres ein.
  6. Wählen Sie unter Standort die Region und die Zone für Ihre Instanz aus. Platzieren Sie die Instanz in der Region, in der sich auch die Ressourcen befinden, die darauf zugreifen. Die ausgewählte Region kann später nicht mehr geändert werden. Normalerweise müssen Sie keine Zone angeben.
  7. Wählen Sie eine Datenbankversion aus.
  8. Maximieren Sie unter Konfigurationsoptionen den Eintrag Flags.
  9. Wählen Sie + Hinzufügen aus.
  10. Geben Sie als Flag-Namen cloudsql.iam_authentication ein. Achten Sie darauf, dass für dieses Flag An ausgewählt ist.
  11. Konfigurieren Sie bei Bedarf weitere Instanzeinstellungen. Weitere Informationen zu Einstellungen finden Sie unter Einstellungen.
  12. Klicken Sie auf Erstellen.

gcloud

Führen Sie gcloud sql instances create aus und setzen Sie das Datenbank-Flag cloudsql.iam_authentication auf on.

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der neuen Instanz.
  • POSTGRES_VERSION: die PosgreSQL-Version (z. B. POSTGRES_9_6, POSTGRES_10, POSTGRES_11 oder POSTGRES_12).
  • NUMBER_OF_CORES: die Anzahl der Kerne in der Maschine.
  • AMOUNT_OF_MEMORY: die Größe des Arbeitsspeichers in der Maschine. Es sollte eine Größen angegeben werden (z. B. 3072MiB oder 9GiB).
  • ZONE: bevorzugte Compute Engine-Zone, z. B. us-central1-a oder us-central1-b.
  • PASSWORD: von Ihnen erstelltes Passwort für den Root-Nutzer.
gcloud sql instances create INSTANCE_NAME
--database-version=POSTGRES_VERSION --cpu=NUMBER_OF_CORES
--memory=AMOUNT_OF_MEMORY --zone=ZONE_NAME
--root-password=PASSWORD --database-flags cloudsql.iam_authentication=on

REST v1beta4

Der Instanzname sollte keine vertraulichen Informationen oder personenbezogenen Daten enthalten, da er extern sichtbar ist.

Die Projekt-ID muss im Instanznamen nicht angegeben werden. Die Projekt-ID wird an gegebener Stelle automatisch eingefügt, z. B. in den Logdateien.

Ersetzen Sie diese Werte in den folgenden Anweisungen:

  • instance-id: die gewünschte Instanz-ID
  • region: die gewünschte Region, z. B. us-east-1
  • project-id: Ihre Projekt-ID
  • location-id: die Standort-ID
  • database-version: Enum-String der Datenbankversion Beispiel: POSTGRES_12
  • password: das Passwort für den Root-Nutzer
  • machine-type: Enum-String des Maschinentyps (Stufe), z. B.: db-custom-[CPUS]-[MEMORY_MBS]

HTTP-Methode und URL:

POST https://www.googleapis.com/sql/v1beta4/projects/project-id/locations/location-id/instances

JSON-Text anfordern:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "enabled": true
    },
    "databaseFlags": [
      {
        "name": "cloudsql.iam_authentication",
        "value": "on"
      }
    ]
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}
Informationen zum Aufbau der zugrunde liegenden REST API-Anfrage für diese Aufgabe finden Sie im APIs Explorer auf der Seite instances:insert.

Vorhandene Instanzen für die Cloud SQL-IAM-Datenbankauthentifizierung konfigurieren

So konfigurieren Sie die IAM-Datenbankauthentifizierung für eine vorhandene Instanz:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf den Namen der Instanz, die Sie bearbeiten möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Maximieren Sie unter Konfigurationsoptionen den Eintrag Flags.
  5. Wählen Sie + Hinzufügen aus.
  6. Geben Sie als Flag-Namen cloudsql.iam_authentication ein. Achten Sie darauf, dass für dieses Flag An ausgewählt ist.
  7. Konfigurieren Sie bei Bedarf weitere Instanzeinstellungen. Weitere Informationen zu Einstellungen finden Sie unter Einstellungen.
  8. Klicken Sie auf Speichern.

gcloud

Informationen zur Installation des gcloud-Befehlszeilentools und zu ersten Schritten mit dem Tool finden Sie unter Cloud SDK installieren. Informationen zum Starten von Cloud Shell erhalten Sie in der Cloud Shell-Dokumentation.

Führen Sie gcloud sql instances patch aus und setzen Sie das Datenbank-Flag cloudsql.iam_authentication auf on.

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der neuen Instanz.
gcloud sql instances patch INSTANCE_NAME --database-flags
    cloudsql.iam_authentication=on

REST v1beta4

Ersetzen Sie diese Werte in den folgenden Anweisungen:

  • project-id: Ihre Projekt-ID
  • location-id: die Standort-ID
  • instance-id: die gewünschte Instanz-ID
  • region: die gewünschte Region
  • database-version: Enum-String der Datenbankversion Beispiel: POSTGRES_12
  • password: das Passwort für den Root-Nutzer
  • machine-type: Enum-String des Maschinentyps (Stufe), z. B.: db-custom-[CPUS]-[MEMORY_MBS]

HTTP-Methode und URL:

POST https://www.googleapis.com/sql/v1beta4/projects/project-id/locations/location-id/instances

JSON-Text anfordern:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "enabled": true
    }
    "databaseFlags":
    [
      {
        "name": "cloudsql.iam_authentication",
        "value": "on"
      }
    ]
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Nächste Schritte