Zabezpieczenia na ostatnim etapie

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Zabezpieczenia końcowe chronią usługi backendu, które korzystają z serwera proxy przez usługi interfejsów API. Głównym celem zabezpieczeń końcowych jest zapobieganie tzw. atakom typu „końcowe uruchomienie”, w których deweloper aplikacji wykrywa adres URL usługi backendu i pomija wszelkie serwery proxy API, aby bezpośrednio trafić na adres URL backendu.

Oto główne opcje konfigurowania zabezpieczeń ostatniej ostatniej instancji:

  • TLS/SSL klienta
  • Uwierzytelnianie poczty wychodzącej
  • Moduł tls w środowisku Node.js

TLS/SSL klienta

Podstawowym mechanizmem zabezpieczania ostatniego etapu jest protokół TLS/SSL klienta, zwany też „wzajemnym uwierzytelnianiem”.

Zobacz Konfigurowanie protokołu TLS z brzegu do backendu (chmura prywatna i chmurowa).

Uwierzytelnianie poczty wychodzącej

Zabezpieczenia na ostatnią chwilę mogą być również egzekwowane przez wymaganie serwera proxy interfejsu API do przedstawienia danych logowania do usługi backendu.

Może być na przykład tak, aby serwer proxy interfejsu API prezentował klucz interfejsu API Twojej usłudze backendu. Serwer proxy interfejsu API może też uzyskać i przedstawić token dostępu danych logowania klienta OAuth.

Klucz interfejsu API,

Klucze interfejsu API można stosować do żądań wychodzących z serwerów proxy interfejsów API do usług backendu. Zakładamy tutaj, że usługa backendu to interfejs API, który może wystawiać i weryfikować klucze interfejsu API.

Jeśli skonfigurujesz serwer proxy interfejsu API do udostępniania klucza interfejsu API w żądaniach wychodzących, musisz przechowywać klucz interfejsu API w miejscu, z którego może być pobierany przez serwer proxy interfejsu API w czasie działania. Klucze interfejsu API mogą być przechowywane w postaci mapy klucz/wartość. Zapoznaj się z zasadami dotyczącymi operacji mapowania par klucz-wartość.

Za pomocą typu zasady AssignMessage możesz dodać klucz interfejsu API jako nagłówek HTTP, parametr zapytania lub element ładunku do żądania wychodzącego. Zobacz Przypisywanie zasad dotyczących wiadomości.

Dane logowania klienta OAuth

Dane logowania klienta OAuth mogą być używane do dodania warstwy odwoływalności do kluczy interfejsu API. Jeśli Twoje usługi backendu obsługują dane logowania klienta OAuth, możesz skonfigurować serwer proxy interfejsu API, aby wyświetlał token dostępu z danymi logowania klienta dla każdego żądania.

Serwer proxy interfejsu API musi być skonfigurowany do wykonywania wywołania w celu uzyskania tokena dostępu z punktu końcowego tokena. Serwer proxy interfejsu API jest też wymagany do buforowania tokena dostępu, aby uniemożliwić mu uzyskanie nowego tokena dostępu dla każdego wywołania.

Dane logowania do klienta wychodzącego można wdrożyć na wiele sposobów.

Możesz zmodyfikować ten przykład, aby wywoływał punkt końcowy tokena i uzyskał token dostępu. W tym przykładzie użyto JavaScriptu do dołączenia tokena do żądania wychodzącego jako nagłówka autoryzacji HTTP. W tym celu możesz też użyć przypisań zasad dotyczących wiadomości.

SAML

Typ zasady GenerateSAMLAssertion może służyć do dołączania potwierdzenia SAML do wiadomości wychodzącego żądania XML z serwera proxy interfejsu API do usługi backendu. Dzięki temu usługa backendu może przeprowadzać uwierzytelnianie i autoryzację w przypadku żądań odebranych z serwerów proxy interfejsów API.

Zobacz Zasady asercji SAML.

Node.js

Jeśli docelowym serwerem proxy interfejsu API jest aplikacja Node.js, możesz użyć modułu tls Node.js do tworzenia bezpiecznych połączeń z usługami backendu. Żądania wychodzące z modułu tls wysyłasz w taki sam sposób jak w środowisku Node.js. Mówiąc w skrócie, musisz dodać klucze i certyfikaty (pliki .pem) po stronie klienta do katalogu zasobów/węzła i wczytać je w skrypcie. Informacje o korzystaniu z modułu tls i jego metod znajdziesz w dokumentacji modułu tls Node.js. Więcej informacji znajdziesz w opisie obsługi modułów Node.js.