Sichere Client-Server-Anwendungen

Client-Server-Anwendungen mit dem Client-Connector sichern

Auf dieser Seite erhalten Sie einen allgemeinen Überblick über den BeyondCorp Enterprise-Client-Connector. Außerdem erfahren Sie, wie Sie ihn aktivieren, um Ihre Client-Server-Anwendungen zu sichern.

Übersicht

BeyondCorp Enterprise ist die Zero-Trust-Lösung von Google Cloud, die einen sicheren Zugriff auf private Anwendungen mit integriertem Schutz vor Bedrohungen und Datenschutz bietet. BeyondCorp Enterprise bietet den sicheren Zugriff für alle webbasierten (HTTPS-)Anwendungen über Chrome.

Der BeyondCorp Enterprise-Client-Connector erweitert die Unterstützung für Nicht-Webanwendungen, indem eine sichere Verbindung zu Anwendungen hergestellt wird, die sowohl in Google Cloud- als auch in Nicht-Google Cloud-Umgebungen ausgeführt werden und vollen Kontext und identitätssensitiven Zugriff haben.

Funktionsweise

Das folgende Diagramm bietet eine allgemeine Architekturübersicht über den Client-Connector.

BeyondCorp Enterprise-Client-Connector-Komponenten

Die Clientkomponenten bestehen aus folgenden Komponenten:

Endpunktprüfung und Client-Agent: Der Client-Connector kann in die Endpunktprüfung eingebunden werden, eine Chrome-Erweiterung mit einem nativen schlanken Agent, der auf Nutzerlaptops oder -computern ausgeführt wird und Geräteinformationen meldet. Die Endpunktprüfung fungiert auch als Steuerungsebene für den Endnutzer, um Verbindungen zu Client-Gateways zu starten und zu beenden.

Client-Gateways: Regionale serverseitige Komponenten, zu denen Clients eine Verbindung herstellen können. Client-Gateways werden von Administratoren bereitgestellt. Die Gateways kommunizieren mit dem BeyondCorp Enterprise-Erzwingungssystem, um kontextsensitive Prüfungen zu erzwingen. Das BeyondCorp Enterprise-Erzwingungssystem verwendet Identity-Aware Proxy und Access Context Manager, eine flexible Zero-Trust-Richtlinien-Engine von BeyondCorp Enterprise.

Der Client-Connector sendet von einem Nutzer, Client oder Gerät über einen sicheren Kanal und ein Gateway Traffic an Ihre geschützten Anwendungen. Sie können eine Verbindung zu Web- und anderen Webanwendungen herstellen, die in Google Cloud oder außerhalb von Google Cloud ausgeführt werden. Sie können Cloud VPN oder Cloud Interconnect verwenden, um eine Verbindung zu Ihren Anwendungen herzustellen, die sich nicht in Google Cloud befinden.

Hinweis

Bevor Sie den BeyondCorp Enterprise-Client-Connector aktivieren, müssen folgende Voraussetzungen erfüllt sein:

BeyondCorp Enterprise-Client-Connector aktivieren

Zugriff auf private Dienste einrichten

Der Client-Connector verwendet privaten Zugriff auf Dienste, um die Verbindung zwischen dem von Google verwalteten VPC-Netzwerk und dem VPC-Netzwerk des Nutzers zu ermöglichen. Dadurch wird der Traffic von Nutzern an das Nutzer-VPC-Netzwerk weitergeleitet.

Console

  1. Für den Zugriff auf private Dienste müssen Sie einen IP-Adressbereich reservieren, damit es zwischen Ihrem VPC-Netzwerk und dem von Google verwalteten VPC-Netzwerk zu keinen IP-Adresskonflikten kommt. Führen Sie die folgenden Schritte aus, um einen IP-Bereich zuzuweisen:

    1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
      Zur Seite "VPC-Netzwerke"

    2. Wählen Sie das VPC-Netzwerk aus, das mit Ihrer Anwendung verbunden ist.

    3. Wählen Sie den Tab Private Dienstverbindung aus.

    4. Wählen Sie auf dem Tab Private Dienstverbindung den Tab Diensten zugewiesene IP-Bereiche aus.

    5. Klicken Sie auf IP-Bereich zuweisen.

    6. Geben Sie einen Namen und eine Beschreibung für den zuzuweisenden IP-Bereich ein.

    7. Geben Sie einen IP-Bereich für die Zuweisung an:

      • Wenn Sie einen IP-Adressbereich festlegen möchten, wählen Sie Benutzerdefiniert aus und geben einen CIDR-Block ein, z. B. 192.168.0.0/16.
      • Wenn Sie eine Präfixlänge festlegen möchten und die Auswahl eines verfügbaren Bereichs durch Google erfolgen soll, wählen Sie Automatisch aus und geben eine Präfixlänge ein, beispielsweise 16.

      Geben Sie ein Netzwerk von mindestens /24 an.

    8. Klicken Sie auf Zuweisen, um den zugewiesenen Bereich zu erstellen.

  2. So erstellen Sie eine VPC-Netzwerk-Peering-Verbindung:

    1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
      Zur Seite "VPC-Netzwerke"
    2. Wählen Sie das VPC-Netzwerk aus, das mit Ihrer Anwendung verbunden ist.
    3. Wählen Sie den Tab Private Dienstverbindung aus.
    4. Wählen Sie auf dem Tab Private Dienstverbindung den Tab Private Verbindungen zu Diensten aus.
    5. Klicken Sie auf Verbindung erstellen, um eine private Verbindung zwischen Ihrem Netzwerk und dem Client-Connector-Dienst zu erstellen.
    6. Übernehmen Sie im angezeigten Fenster die Standardeinstellung für Connected Service Producer. Wählen Sie für Zugewiesene Bereiche den zugewiesenen Bereich aus, den Sie im vorherigen Schritt erstellt haben.
    7. Klicken Sie auf Verbinden, um die Verbindung zu erstellen.
  3. Erstellen Sie eine Firewallregel.

    1. Rufen Sie in der Google Cloud Console die Seite Firewall auf.
      Zur Seite "Firewall"
    2. Klicken Sie auf Firewallregel erstellen.
    3. Geben Sie einen Namen für die Firewallregel ein.
      Dieser Name muss für das Projekt eindeutig sein.
    4. Optional: Sie können das Logging von Firewallregeln aktivieren:
      • Klicken Sie auf Logs > Ein.
      • Wenn Sie Metadaten weglassen möchten, maximieren Sie Logdetails und entfernen Sie das Häkchen bei Metadaten einschließen.
    5. Geben Sie das Netzwerk an, das mit Ihrer Anwendung verbunden ist.
    6. Legen Sie die Priorität der Regel fest. Je kleiner die Zahl, desto höher die Priorität.
    7. Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    8. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    9. Wählen Sie für Ziele die Option Alle Instanzen im Netzwerk aus.
    10. Wählen Sie für Quellfilter die Option IPv4-Bereiche aus und geben Sie dann die Werte address und prefixLength aus Schritt 1 ein, um den zugewiesenen IP-Bereich im CIDR-Format darzustellen. Verwenden Sie für jede IPv4-Quelle das Format 0.0.0.0/0.
    11. Wählen Sie unter Protokolle und Ports die Option Alle zulassen aus, um die Regel auf alle Protokolle und Zielports anzuwenden.
    12. Klicken Sie auf ERSTELLEN.

gcloud

  1. Für den Zugriff auf private Dienste müssen Sie einen IP-Adressbereich reservieren, damit es zwischen Ihrem VPC-Netzwerk und dem von Google verwalteten VPC-Netzwerk zu keinen IP-Adresskonflikten kommt. Führen Sie den folgenden Befehl aus, um einen IP-Bereich zuzuweisen:

    gcloud compute addresses create RESERVED_RANGE \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --prefix-length=16 \
      --purpose=VPC_PEERING \
      --global
    

    Dabei gilt:

    • RESERVED_RANGE: Der Name des IP-Adressbereichs, der für VPC-Peering reserviert werden soll. Der Name darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.
    • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerks, das mit der Anwendung verbunden ist.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  2. Erstellen Sie die VPC-Peering-Verbindung.

    gcloud services vpc-peerings connect \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --ranges=RESERVED_RANGE \
      --service="servicenetworking.googleapis.com"
    

    Dabei gilt:

    • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerks, das mit der Anwendung verbunden ist.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • RESERVED_RANGE: Der Name Ihres reservierten Bereichs für VPC-Peering.
  3. Rufen Sie die Details des zugewiesenen IP-Bereichs ab.

    gcloud compute addresses describe RESERVED_RANGE \
      --global \
      --project=CONSUMER_PROJECT
    

    Dabei gilt:

    • RESERVED_RANGE: Der Name Ihres reservierten Bereichs für VPC-Peering.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  4. Verwenden Sie die Werte address und prefixLength aus der Ausgabe im vorherigen Schritt, um den zugewiesenen IP-Bereich im CIDR-Format darzustellen. Erstellen Sie dann eine Firewallregel.

    gcloud compute firewall-rules create "allow-peered-ingress" \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --direction ingress \
      --action allow \
      --source-ranges={Allocated IP range in CIDR format i.e. address/prefixLength} \
      --rules=all
    

    Dabei gilt:

    • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerks, das mit der Anwendung verbunden ist.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.

Informationen zum Konfigurieren von Firewallregeln finden Sie unter VPC-Firewallregeln verwenden.

Client-Connector-Ressourcen einrichten

Sie müssen zwei Arten von Ressourcen einrichten:

  • Client-Connector-Dienst: Definiert eine gemeinsame Konfiguration für eine Gruppe von Client-Gateways.
  • Client-Gateway: Bezieht sich auf den Client-Connector-Dienst und steuert die Regionen, in denen Sie Nutzer-Traffic verwalten möchten.

Es ist nur ein Client-Connector-Dienst pro Domain und ein Client-Gateway pro Region pro Client-Connector-Dienst zulässig. Außerdem können Sie nur die folgenden Regionen zum Hosten des Client-Connector-Dienstes und der Gateway-Ressourcen verwenden: asia-east1, europe-west1, us-east1 und us-central1.

Client-Connector-Dienst erstellen

Console

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf Connectors > CLIENT-Connector AKTIVIEREN.

  3. Geben Sie das VPC-Netzwerk ein, das Traffic von verwalteten Clients empfangen soll.

  4. Wählen Sie die Regionen aus, zu denen Ihre Kunden eine Verbindung herstellen können. In diesem Schritt werden die Client-Gateways erstellt. Sie müssen die Gateways also nicht im Verfahren Client-Gateways erstellen, überprüfen oder entfernen erstellen.

  5. Geben Sie den IP-Adressbereich für die Anwendungen ein, die der Client-Connector erreichen soll.

  6. Klicken Sie auf CLIENT-Connector AKTIVIEREN. Das Erstellen des Connectors kann einige Minuten dauern.

gcloud

Führen Sie dazu diesen Befehl aus:

gcloud beta beyondcorp client-connector services create CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

Dabei ist config.json:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Dabei gilt:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der der Client-Connector-Dienst erstellt werden soll. Sie können eine der folgenden Regionen angeben: asia-east1, europe-west1, us-east1 und us-central1.
  • DESTINATION_ADDRESS: Die Hostadresse des Zielsubnetzes, in dem die Anwendung gehostet wird. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, lautet die Adresse 10.0.0.0.
  • DESTINATION_MASK: Die Netzwerkmaske des Zielsubnetzes, in dem die Anwendung gehostet wird. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, ist die Maske 255.255.255.240.
  • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerks, das mit der Anwendung verbunden ist.

API

Führen Sie dazu diesen Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @config.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices?client_connector_service_id=CLIENT_CONNECTOR_SERVICE_NAME

Dabei ist config.json:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Dabei gilt:

  • DESTINATION_ADDRESS: Die Hostadresse des Zielsubnetzes, in dem die Anwendung gehostet wird. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, lautet die Adresse 10.0.0.0.
  • DESTINATION_MASK: Die Netzwerkmaske des Zielsubnetzes, in dem die Anwendung gehostet wird. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, ist die Maske 255.255.255.240.
  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerks, das mit der Anwendung verbunden ist.
  • SERVICE_LOCATION: Die Region, in der der Client-Connector-Dienst erstellt werden soll.
  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.

Prüfen Sie, ob der Client-Connector-Dienst erstellt wurde, indem Sie den Dienst auflisten

Console

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf Connectors. Der Connector sollte im Abschnitt Client-Connector aufgeführt sein und mit einem grünen Häkchen für den Status versehen werden.

gcloud

Führen Sie den folgenden Befehl aus:

gcloud beta beyondcorp client-connector services list \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION

Dabei gilt:

  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der der Client-Connector-Dienst erstellt werden soll.

API

Führen Sie dazu diesen Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices

Dabei gilt:

  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.

Optional: Client-Connector-Dienst aktualisieren

Console

So aktualisieren Sie die Zielrouten:

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf Connectors.

  3. Klicken Sie im Abschnitt Client-Connector auf das Stiftsymbol neben dem Client-Connector, den Sie aktualisieren möchten.

  4. Geben Sie die neuen Hostadressen und Netzwerkmasken der Zielsubnetze ein, in denen die Anwendungen gehostet werden, und klicken Sie dann auf CLIENT TOOL AKTUALISIEREN.

gcloud

Aktualisieren Sie die Zielrouten mit dem folgenden Befehl:

gcloud beta beyondcorp client-connector services update CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

Dabei ist config.json:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Dabei gilt:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Die neuen Hostadressen der Zielsubnetze, auf denen die Anwendungen gehostet werden.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Die neuen Netzwerkmasken für die Zielsubnetze.

API

Führen Sie den folgenden Befehl aus, um die Zielrouten zu aktualisieren:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @update.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME?update_mask=ingress.config.destinationRoutes

Wo update.json Folgendes ist:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Dabei gilt:

  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Die neuen Hostadressen der Zielsubnetze, auf denen die Anwendungen gehostet werden.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Die neuen Netzwerkmasken für die Zielsubnetze.

Optional: Client-Connector-Dienst entfernen

Console

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf Connectors.

  3. Klicken Sie im Abschnitt Client-Connector auf das Papierkorbsymbol, um den Client-Connector-Dienst und die Gateways zu entfernen. Dieser Vorgang kann einige Minuten dauern.

gcloud

Führen Sie den folgenden Befehl aus:

gcloud beta beyondcorp client-connector services delete CLIENT_CONNECTOR_SERVICE_NAME \
  --project CONSUMER_PROJECT \
  --location SERVICE_LOCATION

Dabei gilt:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.

API

Führen Sie den folgenden Befehl aus:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME

Dabei gilt:

  • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.

Client-Gateways erstellen, bestätigen oder entfernen

Console

  1. Wenn Sie die Konsole verwenden, um den Client-Connector einzurichten, werden die Client-Gateways beim Erstellten des Client-Connector-Dienstes in einem vorherigen Schritt erstellt.

  2. So prüfen Sie, ob die Client-Gateways aktiv sind:

    1. Rufen Sie die IAP-Administratorseite auf.

      Zu IAP

    2. Klicken Sie auf Connectors. Der Connector und die zugehörigen Gateways sollten im Abschnitt Client-Connector aufgeführt sein und mit einem grünen Häkchen für den Status versehen werden.
  3. Optional: Führen Sie die folgenden Schritte aus, um ein Clientgateway zu entfernen.

    1. Rufen Sie die IAP-Administratorseite auf.

      Zu IAP

    2. Klicken Sie auf Connectors.

    3. Klicken Sie im Abschnitt Client-Connector auf das Stiftsymbol neben dem Client-Connector, aus dem Sie ein Gateway entfernen möchten.

    4. Entfernen Sie eine Region aus dem Connector-Dienst, indem Sie in der Drop-down-Liste Gateway regions (Gateway-Regionen) das Häkchen aus dem Kästchen für die Region entfernen, und klicken Sie dann auf CLIENT Connector AKTUALISIEREN.

gcloud

  1. Erstellen Sie ein Clientgateway.

    gcloud beta beyondcorp client-connector gateways create CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION \
      --client-connector-service \
      projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME
    

    Dabei gilt:

    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • GATEWAY_LOCATION: Region, in der das Clientgateway erstellt werden soll.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  2. Prüfen Sie, ob die Client-Gateways aktiv sind.

    gcloud beta beyondcorp client-connector gateways list \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • GATEWAY_LOCATION: Die Region, in der sich das Clientgateway befindet.
  3. Optional: Entfernen Sie ein Clientgateway.

    gcloud beta beyondcorp client-connector gateways delete CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Dabei gilt:

    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • GATEWAY_LOCATION: Die Region, in der sich das Clientgateway befindet.

API

  1. Führen Sie den folgenden Befehl aus:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d "{client_connector_service: \"projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME\"}" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways?client_gateway_id=CLIENT_GATEWAY_NAME
    

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
    • GATEWAY_LOCATION: Die Region, in der das Clientgateway erstellt werden soll.
    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.

    Dieser Schritt kann mehrere Minuten dauern.

  2. Prüfen Sie, ob die Client-Gateways aktiv sind.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways
    

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • GATEWAY_LOCATION: Die Region, in der sich das Clientgateway befindet.
  3. Optional: Entfernen Sie ein Clientgateway.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways/CLIENT_GATEWAY_NAME
    

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • GATEWAY_LOCATION: Die Region, in der sich das Client-Connector-Gateway befindet.
    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.

Richtlinien für den kontextsensitiven Zugriff einrichten

  1. Ermitteln Sie die Hauptkonten oder erstellen Sie eine Nutzergruppe. Identifizieren Sie die Nutzer, die Zugriff auf die geschützten Nicht-Webanwendungen benötigen. Alternativ können Sie eine Nutzergruppe erstellen, um die Konfiguration und Verwaltung zu vereinfachen.

  2. Optional: Erstellen Sie eine Zugriffsebene in Access Context Manager, um eine kontextsensitive Regel zu definieren, mit der Sie den Zugriff auf Ihre Anwendung einschränken können.

  3. Konfigurieren Sie eine IAM-Richtlinie für die Client-Connector-Dienstressource und gewähren Sie dem Hauptkonto oder der Nutzergruppe die Rolle „Cloud BeyondCorp Client Connector-Dienstnutzer“ (roles/beyondcorp.clientConnectorServiceUser), die für den Zugriff auf Nicht-Webanwendungen erforderlich ist. Optional können Sie eine IAM-Bedingung angeben, um die Rolle nur bereitzustellen, wenn eine Zugriffsebene erfüllt ist. Sie können die IAM-Richtlinie für eine Ressource über die Console oder die API aktualisieren.

    Führen Sie in der Konsole die folgenden Schritte aus:

    1. Rufen Sie die IAP-Administratorseite auf.

      Zu IAP

    2. Klicken Sie auf ANWENDUNGEN.
    3. Wenn Sie noch keinen OAuth-Zustimmungsbildschirm konfiguriert haben, müssen Sie das tun, um diesen Schritt abzuschließen. Wählen Sie im Abschnitt NEUE ANWENDUNG VERKNÜPFEN Ihren Connector unter Andere Webanwendungen aus.
    4. Klicken Sie im angezeigten Fenster auf HAUPTKONTO HINZUFÜGEN.
    5. Weisen Sie dem Hauptkonto oder der Nutzergruppe die Rolle Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser) zu, die für den Zugriff auf Nicht-Web-Apps erforderlich ist. Optional können Sie eine Zugriffsebene angeben, um die Rolle nur bereitzustellen, wenn die Zugriffsebene erfüllt ist. Sie müssen ein Administrator der Organisation sein oder die Berechtigungen view und edit für die Zugriffsebenen der Organisation haben, um eine Zugriffsebene anzugeben.
    6. Klicken Sie auf SPEICHERN.

IAM-Richtlinie aktualisieren

Console

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf den Tab ANWENDUNGEN und maximieren Sie in der Liste Ressource die Option Nicht-Webanwendungen.
  3. Wählen Sie den Client-Connector aus. Ein Abschnitt mit den mit dem Connector verknüpften IAM-Berechtigungen wird geöffnet.
  4. Im Abschnitt, der geöffnet wird, können Sie die IAM-Richtlinien aktualisieren, die mit Ihrem Client-Connector verknüpft sind.

gcloud

  1. Lesen Sie die vorhandene Richtlinie. Die Methode getIamPolicy() liest die vorhandene IAM-Richtlinie für die Dienstressource des Client-Connectors in policy.json.

    gcloud beta beyondcorp client-connector services get-iam-policy CLIENT_CONNECTOR_SERVICE_NAME \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION > policy.json
    

    Dabei gilt:

    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  2. Bearbeiten Sie die zurückgegebene Richtlinie. Aktualisieren Sie die Bindungen in policy.json, um die neue IAM-Rollenzuweisung aufzunehmen. Sie können dies in einem Texteditor oder programmatisch tun. Beispiel:

    {
                "bindings": [
                  {
                    "role": "roles/beyondcorp.clientConnectorServiceUser",
                    "members": [
                      "user:EXAMPLE_USER@EXAMPLE.COM",
                      "group:EXAMPLE_GROUP@EXAMPLE.COM",
                    ],
                    "condition":
                     {
                       "expression":
            "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
            request.auth.access_levels",
                      "title": "CONDITION_NAME"
                    }
                  }
                ]
    }
    

    Dabei gilt:

    • POLICY_NAME: Der numerische Name Ihrer Access Context Manager-Zugriffsrichtlinie.
    • LEVEL_NAME: Der Name Ihrer Zugriffsebene für Access Context Manager.
    • CONDITION_NAME: Der Titeltext für die IAM-Bedingung.
  3. Schreiben Sie die aktualisierte Richtlinie. Mit der Methode setIamPolicy() können Sie die aktualisierte IAM-Richtlinie schreiben. Beispiel:

    gcloud beta beyondcorp client-connector services set-iam-policy CLIENT_CONNECTOR_SERVICE_NAME policy.json \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION

    Dabei gilt:

    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.

API

  1. Lesen Sie die vorhandene Richtlinie. Die Methode getIamPolicy() liest die vorhandene IAM-Richtlinie für die Dienstressource des Client-Connectors in policy.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:getIamPolicy > policy.json
    

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  2. Bearbeiten Sie die zurückgegebene Richtlinie. Aktualisieren Sie die Bindungen in policy.json, um die neue IAM-Rollenzuweisung aufzunehmen. Sie können dies in einem Texteditor oder programmatisch tun. Beispiel:

     {
       "policy": {
          "bindings": [
            {
              "role": "roles/beyondcorp.clientConnectorServiceUser",
              "members": [
                "user:EXAMPLE_USER@EXAMPLE.COM",
                "group:EXAMPLE_GROUP@EXAMPLE.COM",
             ],
             "condition":
              {
                "expression":
     "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
     request.auth.access_levels",
                "title": "CONDITION_NAME"
              }
           }
         ]
       }
     }
     

    Dabei gilt:

    • POLICY_NAME: Der numerische Name Ihrer Access Context Manager-Zugriffsrichtlinie.
    • LEVEL_NAME: Der Name Ihrer Zugriffsebene für Access Context Manager.
    • CONDITION_NAME: Der Titeltext für die IAM-Bedingung.
  3. Schreiben Sie die aktualisierte Richtlinie. Mit der Methode setIamPolicy() können Sie die aktualisierte IAM-Richtlinie schreiben. Beispiel:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @policy.json \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:setIamPolicy
     

    Dabei gilt:

    • CONSUMER_PROJECT: Die ID Ihres Projekts, in dem CONSUMER_NETWORK gehostet wird.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.

Client-Connector-Agent auf Endpunktgeräten installieren (Windows oder macOS)

  1. Führen Sie die Schritte unter Endpunktprüfung auf Ihren Geräten einrichten aus, um die Erweiterung „Endpunktprüfung“ zu aktivieren.

  2. Wenn die Endpunktprüfung eingerichtet ist und ausgeführt wird, zeigt die Erweiterung „Endpunktprüfung“ für den aktualisierten Nutzer die Schaltfläche VERBINDUNG STARTEN an. Nutzer können auf die Schaltfläche VERBINDUNG STARTEN klicken, um auf die geschützte Nicht-Webanwendung zuzugreifen.

Wenn ein Nutzer zum ersten Mal eine Verbindung initiiert, wird er von der Endpunktprüfung aufgefordert, die Binärdateien des Client-Connectors herunterzuladen und zu installieren. Alternativ können Sie die Binärprogramme der Client-Connectors unter den folgenden URLs herunterladen:

Nachdem eine Verbindung hergestellt wurde, kann ein Nutzer auf die geschützte Ressource zugreifen. Nutzer können die Verbindung beenden, indem sie auf die Schaltfläche VERBINDUNG ENDEN klicken.

Fehlerbehebung

Wenn bei der Verwendung des Client-Connectors Probleme auftreten, finden Sie in den folgenden Informationen Schritte zur Fehlerbehebung.

Sie können nicht auf Ihre App zugreifen.

Das Client-Connector-Gateway wird ausgeführt und die Verbindung wurde hergestellt. Sie können Ihre Anwendung aber trotzdem nicht erreichen.

Im Folgenden sind die häufigsten Gründe und möglichen Lösungen für dieses Problem aufgeführt:

  • Sie haben den zugewiesenen IP-Bereich auf Cloud VPN nicht beworben. Wenn Sie Cloud VPN verwenden, um eine Verbindung zur Nicht-Google Cloud-Anwendung herzustellen, sollten Sie auch den zugewiesenen IP-Bereich für den privaten Zugriff auf den Peer-Router über das Border Gateway Protocol (BGP) anbieten. Weitere Informationen dazu finden Sie unter Werbung auf einem Cloud Router angeben.

  • Sie haben eine falsche Adresse und Maske in den Zielrouten angegeben. Achten Sie bei der Adresseingabe darauf, dass die maskierten Bits null sind. Beispiel: 10.0.10.1 ist eine ungültige Adresse, die mit einer 255.255.255.0 (/24)-Netzwerkmaske angegeben werden soll. Die richtige Adresse ist 10.0.10.0.

  • Mögliche IP-Konflikte zwischen dem zugewiesenen IP-Bereich für den privaten Dienstzugriff und den IP-Subnetzen, die vom Netzwerk verwendet werden, das die Anwendung hostet. Achten Sie darauf, dass sich diese Bereiche gegenseitig ausschließen. Dieses Problem tritt am häufigsten auf, wenn die Anwendung in einem Nicht-Google Cloud-Netzwerk gehostet wird.

Sie erhalten die Nachricht Unable to connect to the network

Wenn Sie die Meldung Unable to connect to the network. Check your network connection and try again. erhalten, ist die Internetverbindung auf Ihrem Gerät nicht aktiv.

Lösung: Prüfe, ob deine Internetverbindung aktiv ist, und versuche dann noch einmal, eine Verbindung herzustellen.

Audit-Logs

Als Administrator können Sie BeyondCorp Enterprise-Audit-Logs, einschließlich der Client-Connector-Audit-Logs, auf der Seite Logging der Google Cloud Console aufrufen. Weitere Informationen finden Sie unter Audit-Logging für BeyondCorp Enterprise-Dienste.

Als Endnutzer können Sie mit folgenden Schritten auf Verbindungslogs zugreifen:

  1. Klicken Sie im Browser mit der rechten Maustaste auf die Erweiterung „Endpunktprüfung“.
  2. Klicken Sie auf Optionen.
  3. Wählen Sie den Detaillierungsgrad für die Protokollebene aus. Der Detaillierungsgrad ist standardmäßig auf Info festgelegt.
  4. Klicken Sie auf Protokoll anzeigen.

Nächste Schritte