Sicherheit auf der letzten Meile

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Die Letzte-Meile-Sicherheit schützt Backend-Dienste, die von API-Diensten über Proxys gesteuert werden. Das Hauptziel der Sicherheit auf der letzten Meile besteht darin, sogenannte End-Run-Angriffe zu verhindern, bei denen ein App-Entwickler die URL für einen Back-End-Dienst erkennt und alle API-Proxys umgeht, um direkt die Back-End-URL zu erreichen.

Folgende Elemente sind für die Einrichtung der Letzte-Meile-Sicherheit erforderlich:

  • Client-TLS/-SSL
  • Ausgehende Authentifizierung
  • Node.js-Modul tls

Client-TLS/-SSL

Der Hauptmechanismus der Letzten-Meile-Sicherheit ist der Client-TLS/SSL, auch "gegenseitige Authentifizierung" genannt.

Weitere Informationen finden Sie unter TLS von Edge zum Back-End (Cloud und Private Cloud) konfigurieren.

Ausgehende Authentifizierung

Die Last-Mile-Sicherheit kann auch dadurch erzwungen werden, dass der API-Proxy dem Back-End-Dienst Anmeldedaten anzeigt.

Sie können beispielsweise festlegen, dass ein API-Proxy Ihrem Back-End-Dienst einen API-Schlüssel präsentiert. Ein API-Proxy kann auch ein Zugriffstoken für OAuth-Clientanmeldedaten abrufen und anzeigen müssen.

API-Schlüssel

API-Schlüssel können auf ausgehende Anfragen von API-Proxys an Back-End-Dienste angewendet werden. Dies setzt voraus, dass der Back-End-Dienst eine API ist, die API-Schlüssel ausgeben und validieren kann.

Wenn Sie das API-Proxy so eingerichtet haben, dass ein API-Schlüssel für ausgehende Anfragen angezeigt wird, müssen Sie den API-Schlüssel an einem Ort speichern, an dem er zur Laufzeit vom API-Proxy abgerufen werden kann. Ein zum Speichern von API-Schlüsseln verfügbarer Speicherort ist eine Schlüssel/Wert-Zuordnung. Siehe Richtlinie für die Schlüssel/Wert-Zuordnung.

Sie können den Richtlinientyp "AssignMessage" verwenden, um API-Schlüssel als HTTP-Header, Abfrageparameter oder Nutzlastelement einer ausgehenden Anfrage hinzuzufügen. Siehe Nachricht zuweisen.

OAuth-Client-Anmeldedaten

OAuth-Clientanmeldedaten können verwendet werden, um API-Schlüsseln eine Widerrufsebene hinzuzufügen. Wenn Ihre Back-End-Dienste OAuth-Clientanmeldedaten unterstützen, können Sie einen API-Proxy so konfigurieren, dass für jede Anfrage ein Zugriffstoken für Clientanmeldedaten bereitgestellt wird.

Der API-Proxy muss so konfiguriert sein, dass ein Callout zum Abruf des Zugriffstokens von Ihrem Token-Endpunkt ausgeführt wird. Der API-Proxy muss auch das Zugriffstoken im Cache speichern, um zu verhindern, dass er für jeden Aufruf ein neues Zugriffstoken abruft.

Für die Implementierung von Anmeldedaten für ausgehende Clients gibt es mehrere Ansätze.

Sie können dieses Beispiel so ändern, dass Ihr Token-Endpunkt aufgerufen wird, um ein Zugriffstoken zu erhalten. In diesem Beispiel wird mit JavaScript das Token an die ausgehende Anfrage als HTTP-Autorisierungsheader angehängt. Zu diesem Zweck können Sie auch eine Assign Message-Richtlinie verwenden.

SAML

Mit dem Richtlinientyp "GenerateSAMLAssertion" können Sie eine SAML-Assertion an eine ausgehende XML-Anfragenachricht anhängen, die vom API-Proxy an einen Back-End-Dienst gesendet wird. Dadurch kann der Back-End-Dienst eine Authentifizierung und Autorisierung für Anfragen durchführen, die von API-Proxys empfangen werden.

Siehe SAML-Assertion-Richtlinien.

Node.js

Wenn Ihr API-Proxy-Ziel eine Node.js-Anwendung ist, können Sie mit dem Node.js-Modul tls sichere Verbindungen zu Back-End-Diensten erstellen. Mit dem Modul tls stellen Sie ausgehende Anfragen auf dieselbe Weise wie in Node.js. Grundsätzlich müssen Sie dem Ressourcen-/Knotenverzeichnis clientseitige Schlüssel und Zertifikate (PEM-Dateien) hinzufügen und in Ihrem Skript laden. Informationen zur Verwendung des Moduls tls und seiner Methoden finden Sie in der Dokumentation zum Node.js-TLs-Modul. Weitere Informationen finden Sie unter Edge-Unterstützung für Node.js-Module.