Client-Server-Anwendungen schützen

Client-Server-Anwendungen mit dem Client-Connector schützen

Überblick

BeyondCorp Enterprise ist die Zero-Trust-Lösung von Google Cloud, die sicheren Zugriff auf private Anwendungen mit integriertem Bedrohungs- und Datenschutz bietet. BeyondCorp Enterprise verwendet Chrome, um sicheren Zugriff für alle webbasierten Anwendungen (HTTPS) zu ermöglichen.

Der BeyondCorp Enterprise-Client-Connector dehnt die Unterstützung auf Anwendungen aus, die keine Webanwendungen sind. Er erstellt eine sichere Verbindung zu Anwendungen, die sowohl in Google Cloud- als auch in anderen Umgebungen ausgeführt werden, mit vollständigem kontext- und identitätssensitivem Zugriff.

Funktionsweise

Das folgende Diagramm bietet einen allgemeinen Überblick über die Architektur des Client-Connectors.

Komponenten des BeyondCorp Enterprise-Client-Connectors

Im Folgenden sind die Hauptkomponenten eines Client-Connectors aufgeführt:

Endpunktprüfung und Client-Agent: Der Client-Connector lässt sich in die Endpunktprüfung einbinden. Dies ist eine Chrome-Erweiterung mit einem nativen, einfachen Agent, der auf Laptops oder Desktops von Nutzern ausgeführt wird und Geräteinformationen meldet. Die Endpunktprüfung fungiert auch als Steuerungsebene für den Endnutzer, um Verbindungen zu Clientgateways zu starten und zu beenden.

Clientgateways: Regionale, serverseitige Komponenten, zu denen Clients eine Verbindung herstellen können. Clientgateways 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 für BeyondCorp Enterprise.

Der Client-Connector sendet Traffic von Endnutzern, Clients und Geräten über einen sicheren Kanal oder ein Gateway an Ihre geschützten Anwendungen. Sie können eine Verbindung zu Web- und Nicht-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 Anwendungen herzustellen, die sich nicht in Google Cloud befinden.

Hinweise

Bevor Sie den BeyondCorp Enterprise-Client-Connector aktivieren, benötigen Sie Folgendes:

BeyondCorp Enterprise-Client-Connector aktivieren

Zugriff auf private Dienste einrichten

Der Client-Connector verwendet den Zugriff auf private Dienste, um eine Verbindung zwischen dem von Google verwalteten VPC-Netzwerk und dem VPC-Netzwerk des Nutzers herzustellen. Dadurch wird der Traffic von Nutzern an das VPC-Netzwerk des Nutzers weitergeleitet.

Console

  1. Für den Zugriff auf private Dienste müssen Sie einen IP-Adressbereich reservieren, damit es keine IP-Adresskollisionen zwischen Ihrem VPC-Netzwerk und dem von Google verwalteten VPC-Netzwerk gibt. 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. Erstellen Sie mit den folgenden Schritten 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 herzustellen.
    6. Übernehmen Sie im angezeigten Fenster die Standardeinstellung für Connected Service Producer. Wählen Sie unter 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: So aktivieren Sie das Logging von Firewallregeln:
      • Klicken Sie auf Logs > Ein.
      • Wenn Sie Metadaten ausschließen möchten, maximieren Sie Logdetails und deaktivieren Sie dann Metadaten einschließen.
    5. Geben Sie das Netzwerk an, mit dem Ihre Anwendung verbunden ist.
    6. Legen Sie die Priorität der Regel fest. Je niedriger 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 für 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, damit die Regel auf alle Protokolle und Zielports angewendet wird.
    12. Klicken Sie auf ERSTELLEN.

gcloud

  1. Für den Zugriff auf private Dienste müssen Sie einen IP-Adressbereich reservieren, damit es keine IP-Adresskollisionen zwischen Ihrem VPC-Netzwerk und dem von Google verwalteten VPC-Netzwerk gibt. 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
    

    Ersetzen Sie Folgendes:

    • 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-Netzwerk, das mit der Anwendung verbunden ist.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  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"
    

    Ersetzen Sie Folgendes:

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

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

    Ersetzen Sie Folgendes:

    • RESERVED_RANGE: Der Name Ihres reservierten Bereichs für VPC-Peering.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  4. Verwenden Sie die Werte address und prefixLength aus der Ausgabe des vorherigen Schritts, 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
    

    Ersetzen Sie Folgendes:

    • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerk, das mit der Anwendung verbunden ist.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.

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

Ressourcen für Client-Connectors einrichten

Es gibt zwei Arten von Ressourcen, die Sie einrichten müssen:

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

Es ist nur ein Client-Connector-Dienst pro Domain und ein Clientgateway pro Region und Client-Connector-Dienst zulässig. Darüber hinaus können Sie nur die folgenden Regionen zum Hosten Ihres 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 an, das Traffic von verwalteten Clients erhalten soll.

  4. Wählen Sie die Regionen aus, zu denen Ihre Clients eine Verbindung herstellen können. Beachten Sie, dass die Clientgateways in diesem Schritt erstellt werden. Sie müssen die Gateways also nicht im Verfahren Clientgateways 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 steht config.json für:

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

Ersetzen Sie Folgendes:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • SERVICE_LOCATION: Die Region, in der der Client-Connector-Dienst erstellt werden soll. Sie können eine der folgenden unterstützten 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, das die Anwendung hostet. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, lautet die Maske 255.255.255.240.
  • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerk, 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 steht config.json für:

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

Ersetzen Sie Folgendes:

  • 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, das die Anwendung hostet. Wenn Ihre Anwendung beispielsweise 10.0.0.0/28 verwendet, lautet die Maske 255.255.255.240.
  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • CONSUMER_NETWORK: Der Name Ihres VPC-Netzwerk, 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.

Überprü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 für den Status ein grünes Häkchen aufweisen.

gcloud

Führen Sie den folgenden Befehl aus:

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

Ersetzen Sie Folgendes:

  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • 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

Ersetzen Sie Folgendes:

  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.

Optional: Client-Connector-Dienst aktualisieren

Console

Aktualisieren Sie die Zielrouten, indem Sie die folgenden Schritte ausführen:

  1. Rufen Sie die IAP-Administratorseite auf.

    Zu IAP

  2. Klicken Sie auf CONNECTORS.

  3. Klicken Sie im Bereich 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, auf denen die Anwendungen gehostet werden, und klicken Sie dann auf CLIENT-CONNECTOR 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 steht config.json für:

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

Ersetzen Sie Folgendes:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: die neuen Hostadressen der Zielsubnetze, in 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"
        }
      ]
    }
  }
}

Ersetzen Sie Folgendes:

  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • 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, in 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 Bereich 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

Ersetzen Sie Folgendes:

  • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
  • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
  • 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

Ersetzen Sie Folgendes:

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

Clientgateways erstellen, verifizieren oder entfernen

Console

  1. Wenn Sie den Client-Connector mit der Console einrichten, werden die Client-Gateways beim Erstellen des Client-Connector-Dienstes in einem vorherigen Schritt erstellt.

  2. So prüfen Sie, ob die Clientgateways ausgeführt werden:

    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 für den Status sollte ein grünes Häkchen angezeigt 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 Bereich Client-Connector auf das Stiftsymbol neben dem Client-Connector, bei dem Sie ein Gateway entfernen möchten.

    4. Entfernen Sie eine Region aus dem Connector-Dienst, indem Sie das Kästchen für die Region in der Drop-down-Liste Gateway-Regionen deaktivieren und dann auf UPDATE CLIENT CONNECTOR klicken.

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
    

    Ersetzen Sie Folgendes:

    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • GATEWAY_LOCATION: Die 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 Clientgateways ausgeführt werden.

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

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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
    

    Ersetzen Sie Folgendes:

    • CLIENT_GATEWAY_NAME: Der Name Ihres Clientgateways.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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
    

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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 Clientgateways ausgeführt werden.

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

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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
    

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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. Bestimmen Sie die Hauptkonten oder erstellen Sie eine Nutzergruppe. Ermitteln Sie die Nutzer, die Zugriff auf die geschützten Anwendungen benötigen, die keine Webanwendungen sind. 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 „Nutzer des Cloud BeyondCorp Client Connector-Dienstes“ (roles/beyondcorp.clientConnectorServiceUser), die für den Zugriff auf Nicht-Webanwendungen erforderlich ist. Optional können Sie eine IAM-Bedingung angeben, damit die Rolle nur dann bereitgestellt wird, wenn eine Zugriffsebene erfüllt ist. Zum Aktualisieren der IAM-Richtlinie für eine Ressource können Sie die Console oder die API verwenden.

    Führen Sie in der Console 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 dies tun, um diesen Schritt auszuführen. Wählen Sie im Abschnitt NEUE ANWENDUNG VERBINDEN unter Nicht-Webanwendungen den Connector aus.
    4. Klicken Sie im Fenster, das geöffnet wird, 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-Webanwendungen erforderlich ist. Optional können Sie eine Zugriffsebene angeben, um die Rolle nur dann bereitzustellen, wenn die Zugriffsebene erfüllt ist. Um eine Zugriffsebene anzugeben, müssen Sie Organisationsadministrator sein oder die Berechtigungen view und edit für die Zugriffsebenen der Organisation haben.
    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 Ihren Client-Connector aus. Ein Bereich mit den IAM-Berechtigungen, die Ihrem Connector zugeordnet sind, wird geöffnet.
  4. Im angezeigten Abschnitt können Sie die IAM-Richtlinien aktualisieren, die mit Ihrem Client-Connector verknüpft sind.

gcloud

  1. Lesen Sie die vorhandene Richtlinie. Mit der Methode getIamPolicy() wird die vorhandene IAM-Richtlinie für die Client-Connector-Dienstressource in policy.json gelesen.

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

    Ersetzen Sie Folgendes:

    • CLIENT_CONNECTOR_SERVICE_NAME: Der Name Ihres Client-Connector-Dienstes.
    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • SERVICE_LOCATION: Die Region, in der sich der Client-Connector-Dienst befindet.
  2. Bearbeiten Sie die Rückgaberichtlinie. 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"
                    }
                  }
                ]
    }
    

    Ersetzen Sie Folgendes:

    • POLICY_NAME: Der numerische Name Ihrer Zugriffsrichtlinie für Access Context Manager
    • LEVEL_NAME: Der Name Ihrer Access Context Manager-Zugriffsebene.
    • 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

    Ersetzen Sie Folgendes:

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

API

  1. Lesen Sie die vorhandene Richtlinie. Mit der Methode getIamPolicy() wird die vorhandene IAM-Richtlinie für die Client-Connector-Dienstressource in policy.json gelesen.

    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
    

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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 Rückgaberichtlinie. 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"
              }
           }
         ]
       }
     }
     

    Ersetzen Sie Folgendes:

    • POLICY_NAME: Der numerische Name Ihrer Zugriffsrichtlinie für Access Context Manager
    • LEVEL_NAME: Der Name Ihrer Access Context Manager-Zugriffsebene.
    • 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
     

    Ersetzen Sie Folgendes:

    • CONSUMER_PROJECT: Die ID des Projekts, das CONSUMER_NETWORK hostet.
    • 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 Endgeräten installieren (Windows oder macOS)

  1. Aktivieren Sie die Erweiterung „Endpunktprüfung“. Folgen Sie dazu der Anleitung unter Endpunktprüfung auf Ihren Geräten einrichten.

  2. Wenn die Endpunktprüfung eingerichtet und ausgeführt wird, wird in der Erweiterung zur Endpunktprüfung für den aktualisierten Nutzer die Schaltfläche VERBINDUNG STARTEN angezeigt. Für den Zugriff auf die geschützte Nicht-Webanwendung können Nutzer auf die Schaltfläche VERBINDUNG STARTEN klicken.

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ärdateien für den Client-Connector 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 BEENDEN klicken.

Fehlerbehebung

Wenn bei der Verwendung des Client-Connectors Probleme auftreten, finden Sie im Folgenden Informationen zur Fehlerbehebung.

Sie können nicht auf Ihre Anwendung zugreifen

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

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

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

  • Sie haben eine falsche Adresse und Maske in den Zielrouten angegeben. Achten Sie beim Angeben der Adresse darauf, dass die maskierten Bits null sind. Beispielsweise ist 10.0.10.1 keine gültige Adresse, um eine 255.255.255.0 (/24)-Netzwerkmaske bereitzustellen. Die richtige Adresse lautet 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, in dem die Anwendung gehostet wird. Achten Sie darauf, dass sich diese Bereiche gegenseitig ausschließen. Dieses Problem tritt meistens auf, wenn die Anwendung nicht in einem 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: Überprüfen Sie, ob Ihre Internetverbindung aktiv ist, und versuchen Sie dann erneut, eine Verbindung herzustellen.

Audit-Logs

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

Wenn Sie Endnutzer sind, können Sie mit den folgenden Schritten auf die Verbindungsprotokolle zugreifen:

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

Nächste Schritte