Zertifikatbasierten Zugriff für VMs aktivieren

Auf dieser Seite wird beschrieben, wie Sie den zertifikatbasierten Zugriff aktivieren (CBA) für Ihre Google Cloud-VMs. Mit der CBA können Sie den Zugriff von vertrauenswürdigen Geräten zu Google Cloud-VMs.

Übersicht

CBA für VMs nutzt das Google Cloud-Feature für kontextsensitiven Zugriff, um Zugriff mithilfe von Mutual TLS (mTLS) Im Folgenden sind die Hauptkomponenten Ihrer Arbeit aufgeführt. um CBA für VMs zu aktivieren und zu verwenden:

  • Access Context Manager: Hiermit können Sie Zugriffsebenen erstellen, für die Zertifikate erforderlich sind, wenn des Zugriffs auf Webanwendungen bestimmen.
  • Identity-Aware Proxy (IAP): IAP TCP Mit der Weiterleitung können Sie eine verschlüsselte, über den Sie SSH-, RDP- und anderen Traffic an VM-Instanzen weiterleiten können. Darüber hinaus bietet eine IAP-Richtlinie detaillierte Steuerung darüber, welche Nutzer Tunnel zu einer bestimmten VM einrichten dürfen und welche Zugriffsbedingungen die Nutzer erfüllen müssen, Tunneln.
  • Chrome Enterprise-Richtlinie: gegenseitige Authentifizierung (mTLS) zwischen Nutzern und VMs im Chrome-Browser.
  • Google Cloud CLI: Bietet gegenseitige Authentifizierung (mTLS) zwischen Nutzern und VMs wenn Sie die gcloud CLI verwenden.

Hinweise

Achten Sie darauf, dass Sie CBA-Zugriffsebenen erstellt haben. für Ihr Google Cloud-Projekt.

Rollen für den Zugriff auf VMs über die IAP-TCP-Weiterleitung gewähren

Sie müssen die entsprechenden IAM-Rollen (Identity and Access Management) für ein Projekt gewähren, Ermöglichen Sie Nutzern oder Nutzergruppen, die IAP-TCP-Weiterleitung für den Zugriff auf VMs zu verwenden.

In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, die Sie vertrauenswürdigen Administratoren für die TCP-Weiterleitung und zugehörige Aufgaben

Aufgabe Rollen Weitere Informationen
TCP-Weiterleitung Nutzer IAP-gesicherter Tunnel (roles/iap.tunnelResourceAccessor) 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 <ph type="x-smartling-placeholder"></ph> OS Login-Rollen für Nutzerkonten konfigurieren
Dienstkonto verwenden Dienstkontonutzer (roles/iam.serviceAccountUser) <ph type="x-smartling-placeholder"></ph> Rolle „serviceAccountUser“

Weitere Informationen zum Gewähren von Rollen für die TCP-Weiterleitung von IAP Siehe Rollen für IAP-TCP-Weiterleitung gewähren.

Zertifikatbasierten Zugriff auf eine VM konfigurieren

Obwohl Sie mit IAP-TCP Zugriff auf alle VM-Instanzen in einem müssen Sie den zertifikatsbasierten Zugriff für jede einzelne VM-Instanz konfigurieren.

Um einem Nutzer oder einer Nutzergruppe zertifikatsbasierten Zugriff auf eine VM zu gewähren, gewähren Sie den roles/iap.tunnelResourceAccessor-Rolle auf der VM-Instanz. Die anderen Rollen für das Projekt gewährt werden kann.

Console

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

    <ph type="x-smartling-placeholder"></ph> Zu IAP-Käufe“

  2. Wählen Sie die VM-Instanzen aus, die Sie konfigurieren möchten. Klicken Sie auf Informationen anzeigen , wenn das Infofeld nicht sichtbar ist.

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

    • Neue Hauptkonten: Geben Sie den Nutzer oder die Nutzergruppe an, die Sie Zugriff zu gewähren.
    • Rolle auswählen: Wählen Sie Cloud IAP &gt; Nutzer IAP-gesicherter Tunnel aus.
  4. Klicken Sie auf IAM-Bedingung hinzufügen und konfigurieren Sie eine Bedingung:

    • Titel: Geben Sie einen Namen für die Bedingung ein.
    • Builder für IAM-Bedingungen: Wählen Sie Zugriffsebene aus der Bedingungstyp und wählen Sie den zertifikatsbasierten Zugriff aus. zuvor Level erstellt.
  5. Klicken Sie auf Speichern.

API

Um den zertifikatsbasierten Zugriff auf eine VM zu konfigurieren, ändern Sie die policy.json-Datei.

Siehe Zugriff auf mit IAP gesicherte Ressourcen verwalten finden Sie weitere Informationen zur Verwaltung von Zugriffsrichtlinien mit der IAM API.

  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 verwandelt die Kurve. an POST statt an 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. Die Rolle iap.tunnelResourceAccessor und den zertifikatsbasierten Zugriff gewähren für Hauptkonten, indem Sie das JSON-Datei der IAM-Richtlinie.

    Das folgende Beispiel zeigt eine policy.json-Datei, die den Rolle iap.tunnelResourceAccessor für eine Gruppe von VM-Instanzadministratoren, zertifikatsbasierten Zugriff auf IAP-gesicherte Tunnelressourcen.

    Wenn ein Hauptkonto die Rolle „Inhaber“ hat, ist es berechtigt, IAP für die TCP-Weiterleitung

    {
      "policy": {
        "bindings": [
          {
            "role": "roles/iap.tunnelResourceAccessor",
            "members": ["group:instance-admins@example.com"],
            "condition": {
              "expression": "\"accessPolicies/POLICY_NAME/accessLevels/CERTIFICATE_BASED_ACCESS_LEVEL_NAME\" in request.auth.access_levels,
              "title": "CERTIFICATE_BASED_CONDITION_NAME"
            }
          }
        ]
      }
    }
    

    So finden Sie den Richtliniennamen: accessPolicies.list aufrufen .

    GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
    
  4. 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}
    

Mit Clientzertifikaten auf VMs zugreifen

Verwenden Sie eine der folgenden Methoden, um mithilfe von Clientzertifikaten auf VMs zuzugreifen.

Clientzertifikate im Chrome-Browser für den Zugriff auf VMs verwenden

  1. Konfigurieren Sie den Chrome-Browser mit einer der folgenden Optionen.
  2. Geben Sie im Chrome-Browser die folgende Domain ein, um auf die Google Cloud Console: console-secure.cloud.google.com.
  3. Zugriff auf Google Cloud-VMs mit IAP-Tunneling.

Mit Clientzertifikaten in der gcloud CLI auf VMs zugreifen

  1. Konfigurieren Sie die gcloud CLI mit einer der folgenden Methoden.

  2. Greifen Sie über IAP-Tunneling auf Google Cloud-VMs zu.