Virtuelle Maschinen mit IAP sichern

Auf dieser Seite wird erläutert, wie Sie die TCP-Weiterleitung von Identity-Aware Proxy (IAP) zu Administratorzugriff auf VM-Instanzen ohne externe IP-Adresse aktivieren oder den direkten Zugriff über das Internet nicht gestatten.

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 gilt, die über IAP zugänglich sein sollen.
  • 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.
  • Lässt Verbindungen zu allen Ports zu, 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:

  1. Öffnen Sie die Seite „Firewallregeln“.

    Zur Seite „Firewallregeln“

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Wählen Sie ein Google Cloud-Projekt aus. Einblenden
  3. Klicken Sie auf der Seite „Firewallregeln“ auf Firewallregel erstellen.
  4. Legen Sie folgende Einstellungen fest:
    • Name: allow-ingress-from-iap
    • Trafficrichtung: Eingehend
    • Ziel: Alle Instanzen im Netzwerk
    • Quellfilter: IP-Bereiche
    • 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.
  5. 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.

Rollen für die IAP-TCP-Weiterleitung gewähren

Festlegen, welche Nutzer und Gruppen IAP TCP verwenden dürfen und zu welchen VM-Instanzen sie eine Verbindung herstellen dürfen, geeignete IAM-Rollen (Identity and Access Management) für das Projekt erstellen.

In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, die Sie gewähren müssen Vertrauenswürdige Administratoren für die TCP-Weiterleitung und zugehörige Aufgaben:

Aufgabe Rollen Weitere Informationen
TCP-Weiterleitung Nutzer IAP-gesicherter Tunnel (roles/iap.tunnelResourceAccessor) Weitere Informationen finden Sie unter Zugriff auf alle VM-Instanzen in einem Projekt gewähren. oder Zugriff auf eine bestimmte VM gewähren.
SSH-Zugriff Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1)
OS Login (empfohlen) Verschiedene Weitere Informationen finden Sie unter . OS Login-Rollen für Nutzerkonten konfigurieren
Dienstkonto verwenden Dienstkontonutzer (roles/iam.serviceAccountUser) Weitere Informationen finden Sie unter . Rolle „serviceAccountUser“.

Wenn Sie benutzerdefinierte Rollen nur mit den erforderlichen Berechtigungen erstellen möchten finden Sie unter Berechtigungsdetails.

Sie können einem Nutzer oder einer Gruppe Zugriff auf alle VM-Instanzen in einem Projekt gewähren oder eine bestimmte VM, je nachdem, wie Sie die erforderlichen Rollen gewähren.

Tags werden nicht unterstützt

Berechtigungen mithilfe von Tags für Die IAP-TCP-Weiterleitung wird derzeit nicht unterstützt.

Zugriff auf alle VM-Instanzen in einem Projekt gewähren

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

Console

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

    Öffnen Sie die IAM- und Seite „Verwaltung“

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Klicken Sie auf der Seite IAM und Verwaltung auf Hinzufügen und konfigurieren Sie Folgendes:
    • Neue Hauptkonten: Geben Sie den Nutzer oder die Gruppe an, 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 Bedingung:
    • Titel: Geben Sie einen Namen für die Bedingung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um die Berechtigungen in der Rolle „Nutzer IAP-gesicherter Tunnel“ zu erhalten.

    Der folgende CEL-Ausdruck gewährt beispielsweise nur Zugriff auf Port 22:

    destination.port == 22

    Sie können den Zugriff auch basierend auf der Zugriffsebene gewähren:

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

    Wo FULL_ACCESS_LEVEL_NAME bereits vorhanden ist Zugriffsebene und verwendet die folgendes 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.

Zugriff auf eine bestimmte VM gewähren

Um einem Nutzer oder einer Gruppe Zugriff auf eine bestimmte VM zu gewähren, gewähren Sie den roles/iap.tunnelResourceAccessor auf dieser VM. Die anderen Rollen müssen für das Projekt gewährt wird.

Console

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

    Verwaltungsseite für Chrome Enterprise Premium öffnen

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Wählen Sie auf dem Tab SSH- und TCP-Ressourcen der IAP-Administratorseite 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 Hinzufügen und konfigurieren Sie Folgendes:

    • Neue Hauptkonten: Geben Sie den Nutzer oder die Gruppe an, 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 Bedingung:

    • Titel: Geben Sie einen Namen für die Bedingung ein.
    • Ausdruck: Geben Sie eine Bedingung ein, die ein Nutzer erfüllen muss, um die Berechtigungen in der Rolle „Nutzer IAP-gesicherter Tunnel“ zu erhalten.

    Der folgende CEL-Ausdruck gewährt beispielsweise nur Zugriff auf Port 22:

          destination.port == 22

    Sie können den Zugriff auch basierend auf der Zugriffsebene gewähren:

        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 finden Sie unter Zugriff auf Ressourcen verwalten, die mit Chrome Enterprise Premium gesichert sind. finden Sie weitere Informationen zum Verwalten Zugriffsrichtlinien.

  1. Exportieren Sie die folgenden Variablen.

    export IAP_BASE_URL=https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_tunnel
    # Replace POLICY_FILE.JSON with the name of JSON file to use for setIamPolicy
    export JSON_NEW_POLICY=POLICY_FILE.JSON
    

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

    curl -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:getIamPolicy \
         -d ''

  3. Gewähren Sie Ihren Hauptkonten die Rolle iap.tunnelResourceAccessor, indem Sie JSON-Datei der IAM-Richtlinie ändern

  4. Optional können Sie die Rolle nur Hauptkonten gewähren, die bestimmte Kriterien, basierend auf IAM Bedingungen und Zugriffsebenen.

    Im Folgenden finden Sie ein Beispiel für eine bearbeitete policy.json-Datei, die folgende Berechtigungen gewährt: die Rolle iap.tunnelResourceAccessor einer Gruppe von VM-Instanzadministratoren zuweisen, Zugriff auf mit Chrome Enterprise Premium gesicherte Tunnelressourcen erhalten. Eine IAM-Bedingung wurde hinzugefügt, um die Ressourcen Der Zugriff ist nur für Hauptkonten in der Gruppe der VM-Instanzadministratoren mit einem private IP-Adresse von 10.0.0.1 an Port 22 mithilfe der IAM-Bedingungen destination.ip und destination.port Sie müssen auch die Anforderungen der Zugriffsebene ACCESS_LEVEL_NAME erfüllen.

    Wenn ein Hauptkonto das Owner haben, sind berechtigt, IAP zu verwenden. für die TCP-Weiterleitung.


    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
    
  5. Legen Sie die neue policy.json-Datei mit der Methode setIamPolicy fest.

    curl -i -H "Content-Type:application/json" \
              -H "Authorization: Bearer $(gcloud auth print-access-token)" \
              ${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

Um eine Verbindung zu Ihrer Instanz herzustellen, verwenden Sie die SSH-Schaltfläche in der Google 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. über SSH und IAP TCP-Weiterleitung eine Verbindung zu einer VM-Instanz herstellen.

  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-Anwendung

Sie können die PuTTY Windows-Terminalemulator-App so einrichten, IAP-TCP-Weiterleitung zum Herstellen einer Verbindung zu einer VM-Instanz. Ihr Zugriffskonfiguration der Instanz (definiert über IAM-Berechtigungen) muss TCP-Tunneling über IAP zulassen.

Bevor Sie die PuTTY-App konfigurieren, verwenden Sie den Befehl gcloud compute ssh einmal um sicherzustellen, dass sich ein privater SSH-Schlüssel auf Ihrem lokalen Computer befindet und Ihr öffentlicher SSH-Schlüssel wurde in Compute Engine veröffentlicht:

  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 die PuTTY-App jetzt für die Verwendung der IAP-TCP-Weiterleitung konfigurieren:

  1. Öffnen Sie die PuTTY App und wählen Sie die Kategorie Verbindung > Proxy
  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.

<ph type="x-smartling-placeholder">
</ph>

ssh

Sie können den SSH-Befehl direkt mit einer ProxyCommand-Option verwenden, die gcloud verwendet um den Tunnel zu starten. Verwenden Sie dies, um den vollständigen ssh-Befehl zu generieren:

gcloud compute ssh INSTANCE_NAME --dry-run

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.

IAP-TCP-Uploadbandbreite erhöhen

Wenn Sie die IAP-TCP-Uploadbandbreite erhöhen möchten, sollten Sie NumPy auf derselben Maschine installieren, auf der die gcloud CLI installiert ist.

Linux

Um NumPy mit pip auf Unix-Plattformen zu installieren, führen Sie den folgenden Befehl in einer neuen Terminalinstanz aus:

$(gcloud info --format="value(basic.python_location)") -m pip install numpy
Weitere Informationen finden Sie unter: NumPy.org

Wenn die Fehlermeldung nach der Installation von NumPy weiterhin angezeigt wird, führen Sie den folgenden Schritt aus: Führen Sie den folgenden Befehl aus, damit gcloud auf externe Pakete zugreifen kann:

export CLOUDSDK_PYTHON_SITEPACKAGES=1

Windows

Führen Sie den folgenden Befehl in einer neuen PowerShell-Instanz aus, um NumPy mit pip auf Windows-Plattformen zu installieren:

start (gcloud info --format="value(basic.python_location)") "-m pip install numpy"
Weitere Informationen finden Sie unter: NumPy.org

Wenn die Meldung nach der Installation von NumPy weiterhin besteht, ist ein weiterer Schritt erforderlich. Führen Sie den folgenden Befehl aus, damit gcloud auf externe Pakete zugreifen kann:

$env:CLOUDSDK_PYTHON_SITEPACKAGES="1"

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 Sitzungen automatisch. nach einer Stunde Inaktivität. Derzeit versucht gcloud compute start-iap-tunnel, den Tunnel wiederherzustellen, wenn seine Verbindung getrennt wird.

Nächste Schritte