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.

Eine neu erstellte Instanz hat eine postgres-Datenbank.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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

Cloud SQL verwendet ein Flag, um IAM-Nutzerverbindungen auf einer Instanz zu aktivieren und zu deaktivieren. In diesem Verfahren aktivieren Sie dieses Flag.

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

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  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 Root-Nutzer ein.
  6. Wählen Sie im Abschnitt 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 im Bereich 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 den Parameter -database-flags auf cloudsql.iam_authentication=on.

Dabei gilt:

  • 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 Anfragedaten:

  • 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://sqladmin.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://sqladmin.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://sqladmin.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. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Maximieren Sie im Bereich 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 finden Sie in der Cloud Shell-Dokumentation.

Verwenden Sie für dieses Verfahren gcloud sql instances patch.

Dabei gilt:

  • 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 Anfragedaten:

  • 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://sqladmin.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://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Nächste Schritte