Zugriff auf TLS-Verbindungsinformationen in einem API-Proxy

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

In diesem Thema wird erläutert, wie Sie auf TLS-Verbindungsinformationen in Ablaufvariablen für einen API-Proxy zugreifen, der auf Apigee oder Apigee Hybrid ausgeführt wird.

TLS-Verbindungsinformationen erfassen

Während einer Anfrage an einen API-Proxy kann Apigee Informationen über die TLS-Verbindung erfassen. Der API-Proxy kann dann über Ablaufvariablen auf diese Informationen zugreifen, um zusätzliche Analysen und Validierungen durchzuführen.

Der von Apigee erfasste Typ der TLS-Informationen hängt davon ab, ob die Ingress-Ressource für uni- oder bilaterale TLS konfiguriert ist (gilt nur für Apigee Hybrid). Bei unilateraler TLS kann Apigee beispielsweise Informationen zur TLS-Chiffre oder zum TLS-Protokoll erfassen, das in der TLS-Verbindung verwendet wird.

Bei bidirektionaler TLS kann Apigee dieselben Informationen erfassen, die für unilaterale TLS aufgezeichnet werden, sowie Informationen über das Zertifikat des Clients. Apigee kann beispielsweise den SHA1-Fingerabdruck des Clientzertifikats und des Clientzertifikats im PEM-Format erfassen.

Informationen zu uni- und bidirektionaler TLS

In der folgenden Tabelle sind die Ablaufvariablen mit TLS-Verbindungsinformationen aufgeführt, die von Apigee und Apigee Hybrid erfasst werden und die für den Zugriff auf den API-Proxy verfügbar sind.

Ablaufvariable Beschreibung
tls.cipher Die Chiffren, die von der TLS-Verbindung verwendet werden.
tls.protocol Das Protokoll, das von der TLS-Verbindung verwendet wird.
tls.server.name Der angeforderte SNI-Servername.
tls.session.id Die Sitzungs-ID.

Zusätzliche TLS-Informationen bei bidirektionaler TLS

In der folgenden Tabelle sind die Ablaufvariablen mit Details zum Clientzertifikat aufgeführt, die von Apigee Hybrid in bilateraler TLS erfasst wurden:

Ablaufvariable Beschreibung
tls.client.s.dn Der Betreff "Distinguished Name (DN)" des Clientzertifikats.
tls.client.i.dn Der Aussteller-DN (Distinguished Name, DN) des Clientzertifikats.
tls.client.raw.cert Das Clientzertifikat im PEM-Format.
tls.client.cert.serial Die Seriennummer des Clientzertifikats.
tls.client.cert.fingerprint SHA1-Fingerabdruck des Clientzertifikats.
tls.session.id Die Sitzungs-ID.

Apigee Hybrid konfigurieren, um bidirektionale TLS zu aktivieren

Fügen Sie der Überschreibungendatei die folgenden Details hinzu, um das Ingress-Objekt für die Anforderung eines Clientzertifikats zu konfigurieren:

virtualhosts:
  - name: internal
    minTLSProtocolVersion: "1.2" #optional
    maxTLSProtocolVersion: "1.2" #optional
    tlsMode: MUTUAL
    sslSecret: tls-certificates

Siehe auch TLS und mTLS auf dem Istio-Ingress konfigurieren.

Auf Ablaufvariablen in einem API-Proxy zugreifen

Über Ihren API-Proxy können Sie auf die TLS-Ablaufvariablen zugreifen und sie prüfen. Sie können beispielsweise mit der Richtlinie AssignMessage oder JavaScript darauf zugreifen.

Sie können auch auf die Ablaufvariablen in einem <Condition>-Element eines Proxys oder Zielablaufs oder in einem <Step> oder <RouteRule> verweisen. Sie können beispielsweise eine Anfrage je nach SN des Clients an verschiedene Ziele weiterleiten.

Weitere Informationen finden Sie unter: