Mit autorisierten Netzwerken autorisieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite wird gezeigt, wie Sie mithilfe der Einstellungen für autorisierte Netzwerke eine Verbindung zu Cloud SQL-Instanzen herstellen, die IP-Adressen verwenden.

Autorisierte Netzwerke konfigurieren

Die IP-Adresse oder der Adressbereich Ihrer Clientanwendung muss für die folgenden Szenarien als authorized networks konfiguriert sein:

  • Die Clientanwendung stellt über ihre öffentliche IP-Adresse eine direkte Verbindung zu einer Cloud SQL-Instanz her.
  • Ihre Clientanwendung stellt eine direkte Verbindung zu einer Cloud SQL-Instanz über ihre private IP-Adresse her und die IP-Adresse Ihres Clients ist eine Adresse außerhalb des RFC 1918-Bereichs.

Die IP-Adresse kann entweder ein einzelner Endpunkt oder ein Bereich in CIDR-Notation sein.

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 Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  4. Wählen Sie das Kästchen Öffentliche IP-Adressen aus.
  5. Klicken Sie auf Netzwerk hinzufügen.
  6. Geben Sie im Feld Name einen Namen für Neues Netzwerk ein.
  7. Geben Sie im Feld Netzwerk die IP-Adresse oder den Adressbereich ein, von dem aus Sie Verbindungen zulassen möchten.

    Verwenden Sie die CIDR-Notation.

  8. Klicken Sie auf Fertig.
  9. Klicken Sie auf Speichern, um die Instanz zu aktualisieren.

gcloud

Die Konfiguration autorisierter Netzwerke ersetzt die vorhandene Liste autorisierter Netzwerke.

gcloud sql instances patch INSTANCE_ID \
--authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
    

Terraform

Verwenden Sie eine Terraform-Ressource, um autorisierte Netzwerke zu konfigurieren.

resource "google_sql_database_instance" "default" {
  name = "sqlserver-instance-with-authorized-network"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      authorized_networks {
        name = "Network Name"
        value = "192.0.2.0/24"
        expiration_time = "3021-11-15T16:19:00.094Z"
      }
    }
  }
  deletion_protection = false # set to true to prevent destruction of the instance
}

Änderungen anwenden

Führen Sie die folgenden Schritte aus, um Ihre Terraform-Konfiguration in einem Google Cloud-Projekt anzuwenden:

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud-Projekt fest, auf das Sie die Terraform-Konfiguration anwenden möchten:
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Erstellen Sie ein Verzeichnis und öffnen Sie eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf:
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Kopieren Sie das Beispiel in main.tf.
  5. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  6. Speichern Sie die Änderungen, indem Sie Ctrl-x und dann y drücken.
  7. Initialisieren Sie Terraform:
    terraform init
  8. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  9. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  10. Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Änderungen löschen

So löschen Sie das Projekt:

  1. Um den Löschschutz zu deaktivieren, setzen Sie in der Terraform-Konfigurationsdatei das Argument deletion_protection auf false.
    deletion_protection =  "false"
  2. Wenden Sie die aktualisierte Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply
  1. Entfernen Sie Ressourcen, die zuvor mit Ihrer Terraform-Konfiguration angewendet wurden, indem Sie den folgenden Befehl ausführen und yes an der Eingabeaufforderung eingeben:

    terraform destroy

REST Version 1

Die Konfiguration autorisierter Netzwerke ersetzt die vorhandene Liste autorisierter Netzwerke.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • network_range_1: eine autorisierte IP-Adresse oder ein autorisierter IP-Bereich
  • network_range_2: eine weitere autorisierte IP-Adresse oder ein weiterer autorisierter IP-Bereich

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON-Text anfordern:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": network_range_2"}]
    }
  }
}

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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

Die Konfiguration autorisierter Netzwerke ersetzt die vorhandene Liste autorisierter Netzwerke.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • network_range_1: eine autorisierte IP-Adresse oder ein autorisierter IP-Bereich
  • network_range_2: eine weitere autorisierte IP-Adresse oder ein weiterer autorisierter IP-Bereich

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON-Text anfordern:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": network_range_2"}]
    }
  }
}

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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Beschränkungen

Einige IP-Adressbereiche können nicht als autorisierte Netzwerke hinzugefügt werden.

Adressbereich Hinweise
127.0.0.0/8 Loopback-Adressbereich
10.0.0.0/8 RFC 1918-Adressbereich. Diese Adressen werden von Cloud SQL automatisch und implizit in die autorisierten Netzwerke aufgenommen.
172.16.0.0/12 RFC 1918-Adressbereich. Diese Adressen werden von Cloud SQL automatisch und implizit in die autorisierten Netzwerke aufgenommen.
192.168.0.0/16 RFC 1918-Adressbereich. Diese Adressen werden von Cloud SQL automatisch und implizit in die autorisierten Netzwerke aufgenommen.
0.0.0.0/8 RFC 3330-Null-Netzwerk
169.254.0.0/16 RFC 3927 und RFC 2373, Link-Local-Netzwerke
192.0.2.0/24 RFC 3330 und RFC 3849, Dokumentationsnetzwerke
224.0.0.0/4 RFC 3330, Multicast-Netzwerke
240.0.0.0/4 Dieser Block, der früher als Class-E-Adressbereich bezeichnet wurde, ist für die zukünftige Verwendung reserviert. Weitere Informationen finden Sie unter RFC 1112, Abschnitt 4.

Nächste Schritte