Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Zabezpieczenie na ostatnim etapie chroni usługi backendu, które są obsługiwane przez usługi interfejsu API. Głównym celem zabezpieczeń na ostatnim etapie jest zapobieganie tak zwanym atakom końcowym, w których deweloper aplikacji odkrywa adres URL usługi backendu i omija wszystkie serwery proxy interfejsu API, aby bezpośrednio wywołać adres URL backendu.
Oto podstawowe opcje konfigurowania zabezpieczeń na ostatnim odcinku:
- TLS/SSL klienta
- Uwierzytelnianie wychodzące
- Moduł tls w Node.js
TLS/SSL klienta
Głównym mechanizmem zabezpieczania ostatniego odcinka jest protokół TLS/SSL klienta, który jest też nazywany „uwierzytelnianiem wzajemnym”.
Zobacz konfigurowanie TLS od urządzenia Edge do zaplecza (chmury i chmury prywatnej).
Uwierzytelnianie wychodzące
Zabezpieczenia na ostatnim etapie można też wdrożyć, wymagając od serwera proxy interfejsu API, aby przedstawił dane logowania usłudze backendowej.
Możesz na przykład chcieć, aby proxy interfejsu API przekazywało klucz interfejsu API do usługi backendu. Możesz też użyć serwera proxy interfejsu API, aby uzyskać i przekazać token dostępu klienta OAuth.
Klucz interfejsu API
Klucze API można stosować do żądań wychodzących z serwerów proxy interfejsu API do usług backendowych. Zakładamy, że usługa backendowa to interfejs API, który może wydawać i weryfikować klucze interfejsu API.
Jeśli skonfigurujesz serwer proxy interfejsu API, aby przedstawiał klucz interfejsu API w wychodzących żądaniach, musisz przechowywać ten klucz w miejscu, z którego serwer proxy interfejsu API będzie mógł go pobrać w czasie wykonywania. Jednym z dostępnych miejsc do przechowywania kluczy interfejsu API jest mapa klucz-wartość. Zapoznaj się z zasadami dotyczącymi operacji mapowania par klucz-wartość.
Za pomocą typu reguły Przypisz wiadomość możesz dodać klucz interfejsu API jako nagłówek HTTP, parametr zapytania lub element ładunku do wychodzącego żądania. Zobacz Zmienianie zasad dotyczących wiadomości.
Dane logowania klienta OAuth
Dane logowania klienta OAuth można wykorzystać do dodania możliwości odwołania kluczy API. Jeśli usługi zaplecza obsługują dane logowania klienta OAuth, możesz skonfigurować serwer proxy API, aby przedstawiał token dostępu danych logowania klienta w przypadku każdego żądania.
Serwer proxy interfejsu API musi być skonfigurowany tak, aby wykonywać wywołania do punktu końcowego tokenu w celu uzyskania tokena dostępu. Serwer proxy interfejsu API musi też przechowywać w pamięci podręcznej token dostępu, aby nie uzyskiwał nowego tokena dostępu dla każdego wywołania.
Do implementowania wychodzących danych logowania klienta można stosować różne podejścia.
Możesz zmodyfikować ten przykład, aby wywołać punkt końcowy tokena i uzyskać token dostępu. Ten przykład używa kodu JavaScript do dołączania tokena do wychodzącego żądania jako nagłówka HTTP Authorization. Możesz też użyć zasady przypisywania wiadomości.
SAML
Typ reguły GenerateSAMLAssertion można użyć do dołączenia oświadczenia SAML do wychodzącego komunikatu żądania XML z serwera proxy interfejsu API do usługi backendowej. Dzięki temu usługa backendowa może przeprowadzać uwierzytelnianie i autoryzację żądań otrzymanych z serwerów proxy interfejsu API.
Zapoznaj się z zasadami dotyczącymi oświadczenia SAML.
Node.js
Jeśli docelowe serwery proxy interfejsu API to aplikacje Node.js, możesz użyć modułu tls
Node.js, aby utworzyć bezpieczne połączenia z usługami zaplecza. Żądania wychodzące wysyłasz za pomocą modułu tls
w taki sam sposób jak w Node.js. Musisz dodać klucze i certyfikaty po stronie klienta (pliki .pem) do katalogu resources/node i załadować je w skrypcie. Informacje o używaniu modułu tls
i jego metod znajdziesz w dokumentacji modułu tls Node.js. Więcej informacji znajdziesz w artykule Informacje o obsługiwaniu modułów Node.js w Edge.