Bedingungen für Unternehmenszertifikate konfigurieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Ein wichtiges Prinzip von BeyondCorp Enterprise ist, dass der Zugriff auf Dienste basierend auf den uns bekannten Informationen über Sie und Ihr Gerät gewährt wird. Die Zugriffsebene für einen einzelnen Nutzer oder für ein einzelnes Gerät wird dynamisch durch eine Abfrage mehrerer Datenquellen abgeleitet. BeyondCorp Enterprise nutzt dieses Vertrauensniveau als Teil des Entscheidungsprozesses.

Access Context Manager ist die Zero-Trust-Richtlinien-Engine von BeyondCorp Enterprise. Mit Access Context Manager können Administratoren eine detaillierte, attributbasierte Zugriffssteuerung für Anwendungen und Google Cloud-Ressourcen definieren.

Verwenden Sie Zugriffsebenen, um den Zugriff auf Ressourcen anhand von Kontextinformationen zur Anfrage zu ermöglichen. Mithilfe von Zugriffsebenen können Sie Vertrauensstufen organisieren. Sie können beispielsweise eine Zugriffsebene mit dem Namen High_Level erstellen, die Anfragen von einer kleinen Gruppe von Einzelpersonen mit umfangreichen Berechtigungen zulässt. Sie können auch eine allgemeinere vertrauenswürdige Gruppe angeben, z. B. einen IP-Bereich, von dem Sie Anfragen zulassen möchten. In diesem Fall können Sie eine Zugriffsebene mit dem Namen Medium_Level erstellen, die diese Anfragen zulässt.

Eine der wichtigsten Voraussetzungen für Zero-Trust-Zugriff ist, den Zugriff nur zuzulassen, wenn das Gerät dem Unternehmen gehört oder von diesem verwaltet wird. Es gibt viele Möglichkeiten, herauszufinden, ob ein Gerät dem Unternehmen gehört, und zum einen, ob ein gültiges, vom Unternehmen ausgestelltes Zertifikat auf dem Gerät existiert. Durch das Vorhandensein eines Unternehmenszertifikats auf einem Gerät kann angezeigt werden, dass es sich um ein unternehmenseigenes Gerät handelt.

Unternehmenszertifikate für den kontextsensitiven Zugriff sind ein Merkmal der zertifikatbasierten Zugriffslösung von BeyondCorp Enterprise. Bei dieser Funktion werden Gerätezertifikate als alternatives kontextsensitives Signal verwendet, um festzustellen, ob ein Gerät ein unternehmenseigenes Asset ist.

Da ein Gerät mehr als ein Zertifikat haben kann, können Sie über die Makros .exist(e,p) auf die benutzerdefinierten Zugriffsebenen zugreifen:

device.certificates.exists(cert, predicate)

Im Beispiel ist cert eine einfache Kennung, die in predicator verwendet wird und an das Gerätezertifikat gebunden wird. Das exist()-Makro kombiniert die Ergebnisse des Prädikats pro Element mit dem "oder"-Operator (||). Das bedeutet, dass Makros den Wert "true" zurückgeben, wenn mindestens ein Zertifikat den predicate-Ausdruck erfüllt.

Das Zertifikat hat die folgenden Attribute, die zusammen überprüft werden können. Bei Stringvergleichen wird die Groß-/Kleinschreibung beachtet.

Attribut Beschreibung Beispiel für einen Prädikatausdruck (wobei cert eine Kennung von Makros ist)
is_valid "True", wenn das Zertifikat gültig ist und nicht abgelaufen ist (boolesch). cert.is_valid
cert_fingerprint Fingerabdruck des Zertifikats (base64-nicht aufgefülltes SHA256). cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Fingerabdruck des Root-CA-Zertifikats, das zum Signieren des Zertifikats verwendet wird (base64-nicht aufgefülltes SHA256). cert.root_ca_fingerprint == "the_fingerprint"
issuer Ausstellername (vollständig erweiterte Namen).

Sie können den Ausstellernamen auf folgende Weise ermitteln:

Führen Sie den folgenden Befehl für das Zertifikat aus:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

Der in der Zugriffsebene verwendete Ausstellerstring ist die umgekehrte Ausgabe und der / wird durch ein Komma ersetzt. Beispiel:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject Name des Zertifikats (vollständig erweiterte Namen) cert.subject == "CA_SUB"
serial_number Seriennummer des Zertifikats (String). cert.serial_number = "123456789"
template_id Vorlagen-ID der Zertifikatvorlage der X.509-Erweiterung für das Zertifikat (String). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

Die folgende Tabelle enthält Beispiele für Richtlinien, die Sie festlegen können:

Beispielrichtlinie Ausdruck
Für das Gerät liegt ein gültiges Zertifikat vor, das vom Root-Zertifikat des Unternehmens signiert wurde. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
Für das Gerät liegt ein gültiges Zertifikat des Ausstellers CA_ABC. vor device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

Unternehmenszertifikate konfigurieren

Bevor Sie Unternehmenszertifikate konfigurieren, müssen Sie benutzerdefinierte Zugriffsebenen konfiguriert haben (Benutzerdefinierte Zugriffsebene erstellen).

Zum Definieren der entsprechenden Richtlinien können Sie eine Definition für die benutzerdefinierte Zugriffsebene in Access Context Manager verwenden. Bei benutzerdefinierten Zugriffsebenen werden boolesche Ausdrücke verwendet, die in einer Teilmenge von Common Expression Language (CEL) geschrieben wurden, um die Attribute eines Clients zu testen, der eine Anfrage stellt.

Trust Anchors in die Admin-Konsole hochladen

Damit BeyondCorp Enterprise das Unternehmenszertifikat des Geräts erfassen und validieren kann, müssen Sie die Trust Anchors hochladen, die zum Ausstellen des Gerätezertifikats verwendet werden. Die Trust Anchors beziehen sich auf das selbst signierte Zertifikat der Stammzertifizierungsstelle (Zertifizierungsstelle) und die relevanten Zwischenzertifikate. So laden Sie Trust Anchors hoch:

  1. Gehen Sie in der Admin-Konsole zu Geräte > Netzwerke > Zertifikate.
  2. Wählen Sie die entsprechende Organisationseinheit aus.
  3. Wählen Sie Zertifikat hinzufügen aus.
  4. Geben Sie den Namen des Zertifikats ein.
  5. Laden Sie das Zertifikat hoch.
  6. Klicken Sie das Kästchen Endpunktprüfung an.
  7. Klicken Sie auf Add.
  8. Die Nutzer müssen zu der Organisationseinheit gehören, für die die Trust Anchors hochgeladen wurden.

AutoSelectCertificateForUrls-Richtlinie konfigurieren

Damit die Endpunktprüfung das Gerätezertifikat durchsuchen und über Chrome erfassen kann, müssen Sie die Chrome-Richtlinie "AutoSelectCertificateForURLs" so konfigurieren:

  1. Der Chrome-Browser muss über die Chrome-Verwaltung über die Cloud oder die Windows-Gruppenrichtlinien verwaltet werden.
  2. Fügen Sie in der Admin-Konsole die Richtlinie SelectAutoSelectCertificateForUrls“ hinzu:

    1. Gehen Sie in der Admin-Konsole zu Geräte > Chrome > Einstellungen > Nutzer- und Browsereinstellungen > Clientzertifikate.
    2. Wählen Sie die entsprechende Organisationseinheit aus.
    3. Fügen Sie eine Richtlinie (AutoSelectCertificateForUrls) hinzu, wie im folgenden Beispiel gezeigt:
    {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{<issuerDNs>}}}
    

    HINWEIS: Der Filter sollte auf ein Ausstellerzertifikat verweisen, das in den vorherigen Schritten hochgeladen wurde.

So überprüfen Sie die Richtlinienkonfiguration:

  1. Gehen Sie im Browser zu chrome://policy.
  2. Prüfen Sie den konfigurierten Wert für AutoSelectCertificateForUrls.
  3. Achten Sie darauf, dass der Wert der Richtlinie Gilt für auf Maschine festgelegt ist. Im Chrome-Betriebssystem wird der Wert auf Aktueller Nutzer* angewendet.
  4. Achten Sie darauf, dass der Status für die Richtlinie keinen Konflikt aufweist.

Fehler bei der Konfiguration beheben

Prüfen Sie die Zertifikatattribute auf der Seite deviceGerätedetails“, um sicherzustellen, dass die Zertifikatattribute korrekt aufgeführt sind.

Sie können die Protokolle zur Endpunktprüfung verwenden, um Probleme zu beheben. So laden Sie die Protokolle zur Endpunktprüfung herunter:

  1. Klicken Sie mit der rechten Maustaste auf die Erweiterung EndpointEndpunktprüfung“ und dann auf Optionen.
  2. Wählen Sie Logebene > Alle > Logs herunterladen aus.
  3. Stellen Sie bei Cloud Customer Care eine Supportanfrage und geben Sie die Logs für die weitere Fehlerbehebung frei.