Czym są zasady?

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Apigee Edge umożliwia „programowanie” zachowania interfejsu API bez pisania kodu za pomocą „zasad”. Zasada jest jak moduł, który implementuje konkretną, ograniczoną funkcję zarządzania. Zasady umożliwiają łatwe i niezawodne dodawanie do interfejsu API typowych funkcji zarządzania. Zasady zapewniają funkcje takie jak zabezpieczenia, ograniczanie liczby żądań, transformacja i mediacja możliwości, dzięki czemu nie musisz samodzielnie kodować i utrzymywać tych funkcji.

Nie musisz ograniczać się do zestawu typów zasad udostępnianych przez Apigee Edge. Możesz też pisać niestandardowe skrypty i kod (np. aplikacje JavaScript i Node.js), które rozszerzają funkcje serwera proxy interfejsu API i umożliwiają wprowadzanie innowacji w oparciu o podstawowe funkcje zarządzania obsługiwane przez zasady Apigee.

W tym filmie znajdziesz wprowadzenie do dołączania zasad i ich egzekwowania.

Typy zasad

Zasada to technicznie plik konfiguracyjny w formacie XML. Strukturę każdego typu zasady (np. wymagane i opcjonalne elementy konfiguracji) określa schemat XML. Jeśli dobrze znasz narzędzia XML, warto zapoznać się ze schematami zasad w przykładach platformy API na GitHubie.

Typy zasad Edge są pogrupowane w te kategorie funkcjonalne:

Zarządzanie ruchem

Zasady w kategorii zarządzania ruchem umożliwiają kontrolowanie przepływu żądań i odpowiedzi przez serwer proxy interfejsu API. Te zasady obsługują kontrolę zarówno na poziomie operacyjnym, jak i biznesowym. Umożliwiają kontrolowanie przepustowości oraz ruchu w poszczególnych aplikacjach. Typy zasad zarządzania ruchem umożliwiają egzekwowanie limitów i pomagają ograniczać ataki typu DoS.

Bezpieczeństwo

Zasady w kategorii bezpieczeństwa obsługują uwierzytelnianie, autoryzację oraz zabezpieczenia oparte na treści.

Mediacja

Zasady w kategorii mediacji umożliwiają aktywne manipulowanie wiadomościami przepływającymi przez serwery proxy interfejsu API. Umożliwiają one przekształcanie formatów wiadomości z XML na JSON (i odwrotnie) lub z jednego formatu XML na inny. Umożliwiają też analizowanie wiadomości, generowanie nowych wiadomości i zmienianie wartości w wiadomościach wychodzących. Zasady mediacji współpracują też z podstawowymi usługami udostępnianymi przez usługi interfejsu API, co umożliwia pobieranie w czasie działania danych o aplikacjach, deweloperach, tokenach bezpieczeństwa i produktach interfejsu API.

Rozszerzenie

Zasady w kategorii rozszerzeń umożliwiają korzystanie z rozszerzalności usług interfejsu API w celu implementowania niestandardowych zachowań w wybranym języku programowania.

Każdy typ zasady jest szczegółowo opisany w omówieniu dokumentacji zasad. W tym artykule pokazujemy ogólną interakcję, czyli jak tworzyć zasady i jak dołączać je do przepływów w konfiguracji serwera proxy interfejsu API.

Wdrażanie zmian zasad

Aby zmiany zasad zostały zastosowane, musisz wdrożyć wersję serwera proxy interfejsu API w środowisku. Po dołączeniu zasady lub wprowadzeniu zmian w istniejącej zasadzie wdróż zmiany za pomocą interfejsu zarządzania lub interfejsu Management API.

Sprawdzanie egzekwowania zasad

Aby sprawdzić, czy zasada jest prawidłowo egzekwowana, interfejs API musi zostać wywołany przez klienta HTTP. Aby sprawdzić tę konfigurację limitu, prześlij do interfejsu API kilka żądań, przekraczając limit ustawiony w zasadzie limitu. (Ścieżka URI skonfigurowana jako ustawienie ścieżki podstawowej w ProxyEndpoint w żądaniu poniżej to /weather).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Po przesłaniu więcej niż 1 żądania w ciągu minuty powinien pojawić się ten komunikat o błędzie:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Oznacza to, że zasada limitu jest egzekwowana przez usługi interfejsu API.

Obsługa błędów oparta na zasadach

Zwróć uwagę na format komunikatu o błędzie powyżej. Zawiera on właściwość faultstring i właściwość errorcode. W wielu przypadkach musisz zaimplementować pewne zachowanie, aby obsługiwać te błędy. Możesz na przykład wysłać deweloperowi, którego aplikacja przekroczyła limit, dostosowany komunikat.

Więcej informacji o obsłudze błędów znajdziesz w artykule Obsługa błędów.

Sprawdzone metody: typowe zestawy zasad

Aby spełnić podstawowe wymagania dotyczące zarządzania, serwery proxy interfejsu API zwykle egzekwują te zasady:

Podstawowa weryfikacja klucza interfejsu API

Przepływ żądań ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection lub JSONThreatProtection
  3. Weryfikacja klucza interfejsu API
  4. Quota
  5. ResponseCache
Przepływ odpowiedzi ProxyEndpoint:
  1. ResponseCache

Podstawowa transformacja: JSON na XML

Przepływ żądań:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Weryfikacja klucza interfejsu API
  4. Quota
  5. JSONToXML
Przepływ odpowiedzi:
  1. XMLToJSON
  2. ResponseCache