Sicherheit auf der letzten Meile

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Die Letzte-Meile-Sicherheit schützt Backend-Dienste, die von API-Diensten über Proxys gesteuert werden. Hauptziel der Letzte-Meile-Sicherheit ist es, sogenannte "End-Run"-Angriffen vorzubeugen, bei denen ein App-Entwickler die URL für einen Back-End-Dienst erkennt und die API-Proxys umgeht, um den Back-End-URL direkt anzugreifen.

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 mit dem Back-End konfigurieren (Cloud und Private Cloud).

Ausgehende Authentifizierung

Die Letzte-Meile-Sicherheit kann auch erzwungen werden, indem der API-Proxy dazu aufgefordert wird, Anmeldedaten für den Back-End-Dienst vorzuzeigen.

Beispielsweise kann der API-Proxy Ihrem Back-End-Dienst einen API-Schlüssel vorlegen müssen. 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 bereitstellen 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 API-Proxys so konfigurieren, dass für jede Anfrage ein Zugriffstoken für die Clientanmeldedaten angezeigt 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 vom API-Proxy an einen Back-End-Dienst anhängen. Dadurch kann der Back-End-Dienst die Authentifizierung und Autorisierung für Anfragen durchführen, die von API-Proxys empfangen werden.

Siehe SAML-Assertion-Richtlinien.

Node.js

Wenn das Ziel Ihres API-Proxys eine Node.js-Anwendung ist, können Sie mit dem Node.js-tls-Modul sichere Verbindungen zu Back-End-Diensten herstellen. Sie stellen ausgehende Anfragen mit dem tls-Modul auf die gleiche Weise wie in Node.js. Sie müssen dem resources/node-Verzeichnis clientseitige Schlüssel und Zertifikate (PEM-Dateien) hinzufügen und sie in Ihr Script laden. Informationen zur Verwendung des tls-Moduls 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.