Ressourcen mit zertifikatsbasiertem Zugriff sichern

Der zertifikatbasierte Zugriff schützt den Zugriff auf viele Google-Ressourcen, indem Geräte über ihre X.509-Zertifikate identifiziert werden. Dieses Feature baut auf den vorhandenen kontextsensitiven Zugriffsfeatures von BeyondCorp Enterprise auf (Endpoint Verification, Access Context Manager, VPC Service Controls und TCP-Weiterleitung mit Identity-Aware Proxy) und sorgt dafür, dass nur Nutzer auf einem vertrauenswürdigen Gerät mit einem von Google generierten Zertifikat Administratorzugriff über die IAP-TCP-Weiterleitung haben oder mit der Google Cloud Console oder der Google Cloud-Clientbibliothek für Go auf die Google Cloud APIs zugreifen können.

Dies sorgt für ein stärkeres Signal der Geräteidentität und vor allem dafür, Nutzer vor Anmeldedatendiebstahl oder versehentlichem Verlust zu schützen, indem nur dann Zugriff gewährt wird, wenn sowohl die Anmeldedaten als auch das ursprüngliche Gerätezertifikat präsentiert werden.

Der zertifikatbasierte Zugriff wird in den folgenden VPC Service Controls-Diensten, Befehlszeilen (CLIs) und Tools sowie Clientbibliotheken unterstützt:

Dienste Compute Engine, Google Kubernetes Engine (GKE), Pub/Sub, Cloud Spanner, Cloud Key Management Service, Cloud Storage, BigQuery, Cloud Logging
CLI/Tools gcloud, gsutil, Terraform, IAP Desktop
Clientbibliotheken Go, Python, Java

Die Funktion kann mit folgenden Schritten eingerichtet werden:

  1. Stellen Sie Endpoint Verification auf Geräten in Ihrer Organisation bereit.
  2. Erstellen Sie in Access Context Manager eine Zugriffsebene, die für den Zugriff übereinstimmende Gerätezertifikate erfordert.
  3. Erzwingen Sie Zugriffsbeschränkungen, indem Sie die Zugriffsebene über die IAP-TCP-Weiterleitung oder einen VPC Service Controls-Dienstperimeter anwenden.
  4. Ihre Nutzer ermöglichen den Zugriff auf VM-Instanzen oder die Google Cloud APIs, die jetzt durch zertifikatbasierten Zugriff geschützt sind.

Endpunktprüfung bereitstellen

Mit der Endpunktprüfung können Sie ein Inventar der Geräte erstellen, die auf die Daten Ihrer Organisation zugreifen. Als Teil einer BeyondCorp Enterprise-Lösung bedingt dies auch ein gesteigertes Gerätevertrauen und eine sicherheitsbasierte Zugriffssteuerung. Weiter befördert dies die Durchsetzung einer detaillierte Zugriffssteuerung für Ihre Google Cloud-Ressourcen. Beim zertifikatbasierten Zugriff ist Endpoint Verification zusätzlich dafür verantwortlich, ein von Google verifiziertes X.509-Zertifikat für jedes vertrauenswürdige Gerät zu generieren, zu registrieren und zu präsentieren.

Endpoint Verification wird als Chrome-Erweiterung auf Desktops und Laptops für Nutzer von Mac, Windows und Linux ausgeführt. Ein Administrator kann es auf den unternehmenseigenen Geräten der Organisation über die Google Workspace-Admin-Konsole bereitstellen oder Mitglieder der Organisation können es selbst installieren.

Nutzer, die zum ersten Mal installieren, sollten die neueste Version haben. Die folgenden Versionen von Endpoint Verification sind jedoch erforderlich, um den zertifikatbasierten Zugriff zu unterstützen:

  • Chrome-Erweiterung „Endpoint Verification“: 1.0.38 oder höher
  • Native Hilfsanwendung: 0.4.40.0 oder höher für Mac, 0.4.36.0 oder höher für Windows und 20191007 oder höher für Linux

Zugriffsebene erstellen

Sie müssen eine Zugriffsebene definieren, die Zertifikate benötigt, um den Zugriff auf Ressourcen zu bestimmen. Dazu erstellen Sie eine benutzerdefinierte Zugriffsebene in Access Context Manager.

Die Werte, die Sie für den Namen der Zugriffsebene, die Beschreibung, den nutzerfreundlichen Titel usw. verwenden, können beliebig sein. Der Ausdruck für die benutzerdefinierte Zugriffsebene muss jedoch so lauten:

certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE

Wenn Sie beispielsweise mit dem gcloud-Tool Ihre benutzerdefinierte Zugriffsebene erstellen, können Sie den folgenden Befehl verwenden:

gcloud access-context-manager levels create LEVEL_NAME \
  --title=TITLE \
  --custom-level-spec=FILE \
  --description=DESCRIPTION \
  --policy=POLICY_NAME

Der Inhalt der .yaml-Datei, auf die FILE verweist, ist einfach der benutzerdefinierte Ausdruck:

expression: "certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE"

Zugriffsebene anwenden

Nachdem nun eine Zugriffsebene erstellt wurde, besteht der letzte administrative Schritt darin, ihre Einschränkungen durch Anwenden zu erzwingen.

Einschränkungen des Administratorzugriffs auf VMs durchsetzen

Sie können die Zugriffsebene für den Administratorzugriff auf VM-Instanzen (über SSH und RDP) mit IAP-TCP-Weiterleitung anwenden:

  • Bearbeiten Sie für Nutzer oder Gruppen, denen die Rolle Nutzer IAP-gesicherter Tunnel zugewiesen ist, die Berechtigungen zum Hinzufügen einer Bedingung.
  • Verwenden Sie den Namen der zuvor definierten Zugriffsebene (dies ist der Wert für TITLE im Beispiel des gcloud-Tools), um den Zugriff nach Zugriffsebene einzuschränken.

Zugriffsbeschränkungen für die Google Cloud APIs durchsetzen

Sie können den zertifikatbasierten Zugriff erzwingen, wenn Nutzer versuchen, auf bestimmte Verwaltungs-APIs zuzugreifen, indem Sie einen VPC Service Controls-Dienstperimeter erstellen. Wenn Sie einen Dienstperimeter erstellen (oder ändern), ist für den zertifikatbasierten Zugriff die Option zur Angabe einer Zugriffsebene für Anfragen von außerhalb des Perimeters erforderlich.

Verwenden Sie den Namen der zuvor erstellten benutzerdefinierten Zugriffsebene (den Wert für TITLE im Beispiel gcloud-Tool), um ihn in Ihren Dienstperimeter aufzunehmen.

Nutzerzugriff auf geschützte Ressourcen aktivieren

Sobald die zertifikatbasierten Zugriffsbeschränkungen in Kraft sind, müssen Ihre Nutzer ihren eigenen Zugriff auf geschützte Ressourcen aktivieren.

  • Lassen Sie die Nutzer das gcloud-Tool installieren oder aktualisieren, damit sie eine Version haben, die mit dem zertifikatbasierten Zugriff funktioniert.

    Nutzer, die das gcloud-Tool bereits installiert haben, können mit dem Befehl gcloud --version bestätigen, dass sie Version 264.0.0 oder höher haben. Bei Bedarf können sie ihre Version mit dem folgenden Befehl aktualisieren:

    gcloud components update
    
  • Nutzer müssen den folgenden Befehl ausführen, um den zertifikatbasierten Zugriff zu verwenden:

    gcloud config set context_aware/use_client_certificate true
    
  • Sie können sich dann wie gewohnt im gcloud-Tool anmelden:

    gcloud auth login
    

Sobald diese Schritte abgeschlossen sind, können Ihre Nutzer wieder zum gcloud-Tool für den Administratorzugriff auf VM-Instanzen und für den Zugriff auf die Google Cloud APIs zurückkehren.