Virtuelle Maschinen mit IAP sichern

Auf dieser Seite wird erläutert, wie Sie mit der IAP-TCP-Weiterleitung den Administratorzugriff auf VM-Instanzen ermöglichen, die keine externen IP-Adressen haben oder keinen direkten Zugriff über das Internet zulassen.

Mit der IAP-TCP-Weiterleitung können Sie einen verschlüsselten Tunnel einrichten, über den Sie SSH-, RDP- und anderen Traffic an VM-Instanzen weiterleiten können. Mit der IAP-TCP-Weiterleitung können Sie auch genau steuern, welche Nutzer Tunnel einrichten dürfen und zu welchen VM-Instanzen Nutzer eine Verbindung herstellen dürfen.

Weitere Informationen zur Funktionsweise der IAP-TCP-Weiterleitung finden Sie in der Übersicht zur TCP-Weiterleitung (nur auf Englisch verfügbar).

Projekt für die IAP-TCP-Weiterleitung vorbereiten

In diesem Abschnitt werden die Schritte beschrieben, mit denen Sie die IAP-TCP-Weiterleitung in Ihrem Google Cloud-Projekt aktivieren.

Firewallregel erstellen

Damit IAP eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel, die:

  • für alle VM-Instanzen, die über IAP zugänglich sein sollen, gilt.
  • Lässt eingehenden Traffic aus dem IP-Bereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
  • Verbindungen zu allen Ports zulässt, die über die IAP-TCP-Weiterleitung zugänglich sein sollen, z. B. Port 22 für SSH und Port 3389 für RDP.

Console

So gewähren Sie RDP- und SSH-Zugriff auf alle VM-Instanzen in Ihrem Netzwerk:

  • Öffnen Sie die Seite "Firewallregeln" und klicken Sie auf Firewallregel erstellen.

    Zur Seite "Firewallregeln"

  • Legen Sie folgende Einstellungen fest:

    • Name: allow-ingress-from-iap
    • Traffic-Richtung: Eingehend
    • Ziel: Alle Instanzen im Netzwerk.
    • Quellfilter: IP ranges
    • Quell-IP-Bereiche: 35.235.240.0/20
    • Protokolle und Ports: Wählen Sie TCP aus und geben Sie 22,3389 ein, um RDP und SSH zuzulassen.
  • Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um den RDP-Zugriff auf alle VM-Instanzen in Ihrem Netzwerk zuzulassen:

gcloud compute firewall-rules create allow-rdp-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:3389 \
  --source-ranges=35.235.240.0/20

Führen Sie für SSH-Zugriff Folgendes aus:

gcloud compute firewall-rules create allow-ssh-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:22 \
  --source-ranges=35.235.240.0/20

Für andere Protokolle führen Sie Folgendes aus:

gcloud compute firewall-rules create allow-ingress-from-iap \
  --direction=INGRESS \
  --action=allow \
  --rules=tcp:PORT \
  --source-ranges=35.235.240.0/20

wobei PORT der vom Protokoll verwendete Port ist.

Berechtigungen zur Verwendung der IAP-TCP-Weiterleitung erteilen

Sie konfigurieren die IAM-Berechtigungen (Identity and Access Management), um zu bestimmen, mit welchen Nutzern und Gruppen die IAP-TCP-Weiterleitung verwendet werden kann und zu welchen VM-Instanzen eine Verbindung hergestellt werden darf.

Wir empfehlen, vertrauenswürdigen Administratoren die folgenden Rollen zuzuweisen:

Wenn Sie OS Login verwenden (empfohlen), lesen Sie die Informationen unter OS Login-Rollen für Nutzerkonten konfigurieren. Wenn Sie Dienstkonten verwenden, lesen Sie diese Anleitung zum Einrichten der Rolle serviceAccountUser.

Sie können einem Nutzer oder einer Gruppe Zugriff auf alle VM-Instanzen in einem Projekt gewähren, indem Sie IAM-Berechtigungen auf Projektebene konfigurieren:

Console

  1. Öffnen Sie in der Cloud Console die Seite IAM & Verwaltung.

    Zur Seite "IAM & Verwaltung"

  2. Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:

    • Neue Mitglieder: Geben Sie den Nutzer oder die Gruppe an, dem bzw. der Sie Zugriff gewähren möchten.
    • Rolle auswählen Wählen Sie Cloud IAP > Nutzer IAP-gesicherter Tunnel aus.
  3. Klicken Sie optional auf Bedingung hinzufügen und konfigurieren Sie eine Mitgliedereinschränkung:

    • Titel: Geben Sie einen Namen für die Beschränkung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um IAP für die TCP-Weiterleitung nutzen zu können.

    Der folgende CEL-Ausdruck schränkt beispielsweise den Zugriff auf Port 22 ein:

    destination.port == 22
    

    Sie können den Zugriff auch durch die Zugriffsebene einschränken:

    destination.port == 22 && "FULL_ACCESS_LEVEL_NAME" in request.auth.access_levels
    

    Dabei ist FULL_ACCESS_LEVEL_NAME eine vorhandene Zugriffsebene und verwendet das Format accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME.

  4. Klicken Sie auf Weitere Rolle hinzufügen und konfigurieren Sie Folgendes:

    • Rolle auswählen: Wählen Sie Compute Engine > Compute-Instanzadministrator (Version 1) aus.
  5. Klicken Sie auf Speichern.

gcloud

Weisen Sie dem Nutzer die beiden Rollen zu, indem Sie die folgenden Befehle ausführen:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=user:EMAIL \
    --role=roles/iap.tunnelResourceAccessor
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=user:EMAIL \
    --role=roles/compute.instanceAdmin.v1

Dabei gilt:

  • PROJECT_ID: ID des Projekts.
  • EMAIL: E-Mail-Adresse des Nutzers, dem Sie Zugriff gewähren möchten, z. B. user@example.com.

Bei Bedarf können Sie stattdessen die Rolle iap.tunnelResourceAccessor nach VM konfigurieren. Die anderen Rollen müssen sich im Projekt befinden:

Console

  1. Öffnen Sie die IAP-Administratorseite und wählen Sie den Tab SSH- und TCP-Ressourcen aus.

    Zur Seite "BeyondCorp Enterprise-Verwaltung"

  2. Wählen Sie die VM-Instanzen aus, die Sie konfigurieren möchten.
  3. Falls das Infofeld nicht sichtbar ist, klicken Sie auf Infofeld ansehen.
  4. Klicken Sie auf Mitglied hinzufügen und konfigurieren Sie Folgendes:

    • Neue Mitglieder: Geben Sie den Nutzer oder die Gruppe an, dem bzw. der Sie Zugriff gewähren möchten.
    • Rolle auswählen Wählen Sie Cloud IAP > Nutzer IAP-gesicherter Tunnel aus.
  5. Klicken Sie optional auf Bedingung hinzufügen und konfigurieren Sie eine Mitgliedereinschränkung:

    • Titel: Geben Sie einen Namen für die Beschränkung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um IAP für die TCP-Weiterleitung nutzen zu können.

    Der folgende CEL-Ausdruck schränkt beispielsweise den Zugriff auf Port 22 ein:

    destination.port == 22
    

    Sie können den Zugriff auch durch die Zugriffsebene einschränken:

    destination.port == 22 && "FULL_ACCESS_LEVEL_NAME" in request.auth.access_levels
    

    Dabei ist FULL_ACCESS_LEVEL_NAME eine vorhandene Zugriffsebene und verwendet das Format accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME.

  6. Klicken Sie auf Speichern.

API

Führen Sie zum Bearbeiten der Datei policy.json Ihrer Anwendung die im Folgenden aufgeführten Schritte aus. Weitere Informationen zum Verwenden der IAM API für das Verwalten von Zugriffsrichtlinien finden Sie unter Zugriff auf Ressourcen verwalten, die mit BeyondCorp Enterprise gesichert sind.

  1. Laden Sie die Datei mit den Anmeldedaten für Ihr Dienstkonto herunter.

    1. Rufen Sie die Seite Dienstkonten auf.
      Zur Seite "Dienstkonten"

    2. Klicken Sie auf die E-Mail-Adresse des Dienstkontos.

    3. Klicken Sie auf Bearbeiten.

    4. Klicken Sie auf Schlüssel erstellen.

    5. Wählen Sie JSON als Schlüsseltyp aus.

    6. Erstellen Sie einen neuen Schlüssel. Klicken Sie dafür auf Erstellen und schließen Sie das angezeigte Bestätigungsfenster.

    Die JSON-Datei mit den Anmeldedaten wurde jetzt heruntergeladen.

  2. Exportieren Sie die folgenden Variablen.

    export IAP_BASE_URL=https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_tunnel
    # Replace with the path to your local service account's downloaded JSON file
    export JSON_CREDS=EXAMPLE.IAM.GSERVICEACCOUNT.COM.JSON
    # Replace POLICY_FILE.JSON with the name of JSON file to use for setIamPolicy
    export JSON_NEW_POLICY=POLICY_FILE.JSON
    

  3. Konvertieren Sie die JSON-Datei mit den Anmeldedaten für das Dienstkonto mithilfe von Oauth2l in einen OAuth-Zugriffstoken. Führen Sie hierzu den folgenden Befehl aus:

    oauth2l header --json ${JSON_CREDS} cloud-platform

  4. Führen Sie, wenn Sie den obigen Befehl das erste Mal ausführen, bei entsprechender Aufforderung die folgenden Schritte aus:

    1. Rufen Sie den Bestätigungscode ab. Klicken Sie hierzu auf den angezeigten Link und kopieren Sie den Code.
    2. Fügen Sie den Bestätigungscode in die Eingabeaufforderung der Anwendung ein.
    3. Kopieren Sie das zurückgegebene Inhabertoken.
    4. Exportieren Sie eine neue Variable, die dem Wert des zurückgegebenen Inhabertokens zugewiesen ist.
      export CLOUD_OAUTH_TOKEN=AUTHORIZATION_BEARER_TOKEN
  5. Exportieren Sie, wenn Sie diesen Befehl bereits zuvor ausgeführt haben, die im Folgenden aufgeführte Variable.

    export CLOUD_OAUTH_TOKEN="$(oauth2l header --json ${JSON_CREDS} cloud-platform)"

  6. Rufen Sie die IAM-Richtlinie für die Compute Engine-Instanz mit der Methode getIamPolicy ab. Das leere Datenbit am Ende wandelt die curl-Anfrage in POST anstelle von GET um.

    curl -i -H "${CLOUD_OAUTH_TOKEN}" \
         ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:getIamPolicy \
         -d ''

  7. Weisen Sie Ihren Mitgliedern die Rolle iap.tunnelResourceAccessor zu und ändern Sie dafür die JSON-Datei der Cloud IAM-Richtlinie.

  8. Fügen Sie optional Mitgliederbeschränkungen hinzu, die auf Cloud-IAM-Bedingungen und Zugriffsebenen basieren.

    Im Folgenden finden Sie ein Beispiel für eine bearbeitete policy.json-Datei, die die Rolle iap.tunnelResourceAccessor an eine Gruppe von VM-Instanzadministratoren bindet und ihnen Zugriff auf durch BeyondCorp Enterprise gesicherte Tunnelressourcen gewährt. Es wurde eine IAM-Bedingung hinzugefügt, um die Ressourcen nur für Mitglieder der Gruppe der VM-Instanzadministratoren mit der privaten IP-Adresse 10.0.0.1 an Port 22 zugänglich zu machen. Dazu wurden die IAM Conditions destination.ip und destination.port verwendet. Sie müssen auch die Anforderungen der Zugriffsebene ACCESS_LEVEL_NAME erfüllen.

    Beachten Sie, dass ein Mitglied mit der Rolle Inhaber die Berechtigung hat, IAP für die TCP-Weiterleitung zu verwenden.


    Beispieldatei policy.json

    {
      "policy": {
        "bindings": [
          {
            "role": "roles/iap.tunnelResourceAccessor",
            "members": ["group:instance-admins@example.com"],
            "condition": {
              "expression": "\"accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME\" in request.auth.access_levels && destination.ip == \"10.0.0.1\" && destination.port == 22",
              "title": "CONDITION_NAME"
            }
          }
        ]
      }
    }

    Zur Suche nach einem Richtliniennamen rufen Sie accessPolicies.list auf:

    GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
    
  9. Legen Sie die neue Datei policy.json mit der Methode setIamPolicy fest.

    curl -i -H "Content-Type:application/json" \
              -H "$(oauth2l header --json ${JSON_CREDS} cloud-platform)" \
              ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:setIamPolicy \
              -d @${JSON_NEW_POLICY}
    

Berechtigungsdetails

Die erforderlichen Berechtigungen hängen davon ab, wie ein Nutzer die IAP-TCP-Weiterleitung verwendet:

Szenarien Erforderliche Berechtigungen
Alle
  • iap.tunnelInstances.accessViaIAP
gcloud compute [start-iap-tunnel, ssh, scp] verwenden
  • compute.instances.get
  • compute.instances.list
gcloud compute [ssh, scp] verwenden
  • compute.projects.get
VM mit OS Login Weitere Informationen finden Sie in dieser Anleitung.
Ohne Verwendung von OS Login
  • compute.instances.setMetadata
  • compute.projects.setCommonInstanceMetadata
  • compute.globalOperations.get
SSH-Verbindung zur VM über ein Dienstkonto
  • iam.serviceAccounts.actAs
SSH über den Browser Weitere Informationen finden Sie in dieser Anleitung.

Wenn ein Nutzer beispielsweise über gcloud compute ssh eine Verbindung zu einer VM herstellen möchte, die zwar nicht OS Login, aber ein Dienstkonto verwendet, benötigt er folgende Berechtigungen:

  • iap.tunnelInstances.accessViaIAP
  • compute.instances.get
  • compute.instances.list
  • compute.projects.get
  • compute.instances.setMetadata
  • compute.projects.setCommonInstanceMetadata
  • compute.globalOperations.get
  • iam.serviceAccounts.actAs

Tunneling von SSH-Verbindungen

Sie können eine Verbindung zu Linux-Instanzen herstellen, die keine externe IP-Adresse haben. Verwenden Sie dazu Tunneling von SSH-Traffic über IAP:

Wenn Sie das IAP-Tunneling verwenden, stellen die IAP-Proxys eine Verbindung zur primären internen IPv4-Adresse von nic0 auf der VM her.

Console

Für das Herstellen einer Verbindung zu Ihrer Instanz verwenden Sie die SSH-Schaltfläche in der Cloud Console. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

gcloud

Zum Herstellen einer Verbindung zu Ihrer Instanz verwenden Sie den Befehl gcloud compute ssh. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

gcloud compute ssh INSTANCE_NAME

Ersetzen Sie INSTANCE_NAME durch den Namen der Instanz, in der eine SSH-Verbindung hergestellt werden soll.

Wenn die Instanz keine externe IP-Adresse hat, verwendet die Verbindung automatisch das IAP-TCP-Tunneling. Hat die Instanz eine externe IP-Adresse, so nutzt die Verbindung anstelle des IAP-TCP-Tunnelings die externe IP-Adresse.

Sie können das Flag --tunnel-through-iap verwenden, damit gcloud compute ssh immer IAP-TCP-Tunneling verwendet.

Verwenden Sie das Flag --internal-ip, damit gcloud compute ssh nie TCP-Tunneling von IAP verwendet und stattdessen direkt eine Verbindung zur internen IP-Adresse der VM herstellt. Dies ist nützlich für Clients, die mit demselben VPC-Netzwerk wie die Ziel-VM verbunden sind.

IAP Desktop

Sie können IAP Desktop verwenden, um mithilfe von SSH und der IAP-TCP-Weiterleitung eine Verbindung zu einer VM-Instanz herzustellen.

  1. Wählen Sie in der Anwendung File > Add Google Cloud project aus.

  2. Geben Sie die ID oder den Namen Ihres Projekts ein und klicken Sie auf OK.

  3. Klicken Sie im Fenster Project Explorer mit der rechten Maustaste auf die VM-Instanz, zu der Sie eine Verbindung herstellen möchten, und wählen Sie Connect aus.

IAP Desktop

Weitere Informationen zu IAP Desktop finden Sie auf der GitHub-Projektseite.

PuTTY

Sie können PuTTY so einrichten, dass eine Verbindung zu einer VM-Instanz über die IAP-TCP-Weiterleitung hergestellt wird. Die Zugriffskonfiguration Ihrer Instanz (definiert mit IAM-Berechtigungen) muss das TCP-Tunneling über IAP zulassen.

Bevor Sie PuTTY konfigurieren, verwenden Sie den Befehl gcloud compute ssh einmal, um zu gewährleisten, dass Sie auf Ihrem lokalen Computer einen privaten SSH-Schlüssel haben und dieser in Compute Engine veröffentlicht wird:

  1. Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus, um eine Verbindung zur VM-Instanz herzustellen:

    gcloud compute ssh INSTANCE_NAME `
      --tunnel-through-iap `
      --project PROJECT_ID `
      --zone ZONE
    

    Dabei gilt:

    • INSTANCE_NAME: Name der Datenbank, zu der eine Verbindung hergestellt werden soll
    • PROJECT_ID: Projekt-ID des Projekts, in dem sich die VM-Instanz befindet
    • ZONE: Zone, in der sich die VM-Instanz befindet

    Bestätigen Sie gegebenenfalls, dass Sie SSH-Schlüssel generieren möchten, indem Sie Y drücken.

  2. Führen Sie den folgenden Befehl auf der VM aus, um Ihren Nutzernamen zu ermitteln:

    whoami
    

    Sie benötigen diesen Nutzernamen später.

Sie können jetzt PuTTY für die Verwendung der IAP-TCP-Weiterleitung konfigurieren:

  1. Öffnen Sie PuTTY und wählen Sie die Kategorie Verbindung > Proxy aus.
  2. Konfigurieren Sie die folgenden Proxyeinstellungen:

    • Wählen Sie als Proxytyp die Option Lokal aus.
    • Geben Sie im Feld Telnet-Befehl oder lokaler Proxybefehl Folgendes ein:

      gcloud.cmd compute start-iap-tunnel %host %port --listen-on-stdin --project PROJECT_ID --zone ZONE
      

      Dabei gilt:

      • PROJECT_ID: Projekt-ID des Projekts, in dem sich die VM-Instanz befindet
      • ZONE: Zone, in der sich die VM-Instanz befindet
    • Wählen Sie für die Option Proxy-Diagnose im Terminalfenster drucken die Option Nur bis zum Start der Sitzung aus.

  3. Wählen Sie die Kategorie Verbindung > SSH > Auth aus.

  4. Klicken Sie auf Durchsuchen, fügen Sie den folgenden Dateinamen ein und klicken Sie auf Öffnen:

    %USERPROFILE%\.ssh\google_compute_engine.ppk
    
  5. Wählen Sie die Kategorie Sitzung aus.

  6. Konfigurieren Sie die folgenden Proxyeinstellungen:

    • Geben Sie im Feld Hostname (oder IP-Adresse) Folgendes ein:

      USERNAME@INSTANCE_NAME
      

      Dabei gilt:

      • USERNAME: Der zuvor ermittelte Linux-Nutzername
      • INSTANCE_NAME: Der Name der VM-Instanz, zu der Sie eine Verbindung herstellen möchten
    • Gespeicherte Sitzungen: Geben Sie einen Namen für die Sitzung ein.

  7. Klicken Sie auf Speichern.

  8. Klicken Sie auf Öffnen, um die SSH-Sitzung zu starten.

Tunneling von RDP-Verbindungen

Sie können eine Verbindung zu Windows-Instanzen herstellen, die keine externe IP-Adresse haben. Verwenden Sie dazu Tunneling von RDP-Traffic über IAP:

IAP Desktop

Sie können IAP Desktop verwenden, um mithilfe der IAP-TCP-Weiterleitung eine Verbindung zum Remote-Desktop einer oder mehrerer VM-Instanzen herzustellen.

  1. Wählen Sie in der Anwendung File > Add Google Cloud project aus.

  2. Geben Sie die ID oder den Namen Ihres Projekts ein und klicken Sie auf OK.

  3. Klicken Sie im Fenster Project Explorer mit der rechten Maustaste auf die VM-Instanz, zu der Sie eine Verbindung herstellen möchten, und wählen Sie Connect aus.

IAP Desktop

Weitere Informationen zu IAP Desktop finden Sie auf der GitHub-Projektseite.

gcloud

Erstellen Sie zuerst einen Tunnel, um eine Verbindung zum Remote-Desktop einer VM-Instanz herzustellen.

  1. Erstellen Sie mit dem Befehl gcloud compute start-iap-tunnel einen verschlüsselten Tunnel zum RDP-Port der VM-Instanz.

    gcloud compute start-iap-tunnel INSTANCE_NAME 3389 \
        --local-host-port=localhost:LOCAL_PORT \
        --zone=ZONE
    

    Ersetzen Sie INSTANCE_NAME durch den Namen der VM-Instanz, zu der Sie eine Verbindung herstellen möchten. Ersetzen Sie LOCAL_PORT localhost-Port, an den der Proxy gebunden werden soll, oder verwenden Sie 0, damit automatisch ein unbenutzter Port ausgewählt wird. Ersetzen Sie ZONE durch die Zone, in der sich die VM-Instanz befindet.

  2. gcloud führt einen Konnektivitätstest mit der VM-Instanz durch, öffnet dann einen Tunnel und zeigt eine Portnummer an.

    Listening on port [LOCAL_PORT].
    

    Der gesamte an localhost:LOCAL_PORT gesendete Traffic wird an die VM-Instanz weitergeleitet. Der Port ist nur für Anwendungen zugänglich, die auf Ihrem lokalen Computer ausgeführt werden.

  3. Lassen Sie gcloud ausgeführt und öffnen Sie die Microsoft Windows Anwendung "Remotedesktopverbindung".

  4. Geben Sie den Tunnel-Endpunkt als Computernamen ein:

    localhost:LOCAL_PORT
    

    Ersetzen Sie LOCAL_PORT durch die Portnummer, die beim Öffnen des Tunnels durch gcloud angezeigt wurde.

  5. Klicken Sie auf Verbinden.

Tunneling von anderen TCP-Verbindungen

Sie können die IAP-TCP-Weiterleitung für andere TCP-basierte Protokolle verwenden. Dazu verwenden Sie den Befehl gcloud compute start-iap-tunnel, um einen lokalen Port zuzuweisen. Der lokale Port leitet den Traffic in einem HTTPS-Stream vom lokalen Computer zum Remotecomputer. IAP empfängt dann die Daten, wendet die Zugriffssteuerungen an und leitet die unverpackten Daten an den Remote-Port weiter. Umgekehrt werden alle Daten vom Remoteport gepackt, bevor sie an den lokalen Port gesendet werden, an dem sie dann entpackt werden.

gcloud

Erstellen Sie einen verschlüsselten Tunnel zu einem Port der VM-Instanz:

gcloud compute start-iap-tunnel INSTANCE_NAME INSTANCE_PORT \
    --local-host-port=localhost:LOCAL_PORT \
    --zone=ZONE

Ersetzen Sie INSTANCE_NAME und INSTANCE_PORT durch den Namen und den Port der VM-Instanz, zu der Sie eine Verbindung herstellen möchten. Ersetzen Sie LOCAL_PORT durch den localhost-Port, an den der Proxy gebunden werden soll. Ersetzen Sie ZONE durch die Zone, in der sich die VM-Instanz befindet.

gcloud führt einen Konnektivitätstest mit der VM-Instanz durch, öffnet dann einen Tunnel und zeigt eine Portnummer an.

Listening on port [LOCAL_PORT].

Der gesamte an localhost:LOCAL_PORT gesendete Traffic wird an die VM-Instanz weitergeleitet. Der Port ist nur für Anwendungen zugänglich, die auf Ihrem lokalen Computer ausgeführt werden.

Bekannte Einschränkungen

Bandbreite: Das TCP-Weiterleitungs-Feature von Cloud IAP ist nicht für die Massenübertragung von Daten vorgesehen. IAP behält sich das Recht vor, Nutzer einzuschränken, die diesen Dienst missbrauchen.

Verbindungsdauer: IAP trennt automatisch Sitzungen nach einer Stunde Inaktivität. Wir empfehlen die Verwendung einer Logik in Anwendungen, mit der eine Tunnelverbindung nach einer Trennung wiederhergestellt wird.

Nächste Schritte