Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
W kolejnych sekcjach znajdziesz informacje o usługach API i powiązanych z nimi kluczowych pojęciach.
Co to jest usługa API?
Jako dostawca interfejsu API tworzysz usługi API, aby grupować interfejsy API i udostępniać je programistom aplikacji. Usługi API można traktować jako linię produktów.
Usługa API obejmuje te elementy:
- zbiór zasobów interfejsu API (identyfikatorów URI);
- abonament;
- metadane dotyczące Twojej firmy, które służą do monitorowania lub analizy (opcjonalnie).
Zasoby interfejsu API zgrupowane w usłudze API mogą pochodzić z co najmniej 1 interfejsu API, dzięki czemu możesz łączyć zasoby i tworzyć specjalistyczne zestawy funkcji, jak pokazano na ilustracji poniżej.
Możesz utworzyć wiele usług API, aby rozwiązywać problemy związane z konkretnymi potrzebami. Możesz na przykład utworzyć usługę API, która zawiera kilka zasobów mapowania, aby umożliwić programistom łatwe integrowanie map z aplikacjami. Dodatkowo możesz ustawić różne właściwości każdej usługi API, np. różne poziomy cen . Możesz na przykład oferować te kombinacje usług API:
- Usługa API z niskim limitem dostępu, np. 1000 żądań dziennie, w atrakcyjnej cenie. Druga usługa API, która zapewnia dostęp do tych samych zasobów, ale z wyższym limitem dostępu i wyższą ceną.
- Bezpłatna usługa API, która zapewnia dostęp tylko do odczytu do zasobów. Druga usługa API, która zapewnia dostęp do odczytu i zapisu do tych samych zasobów za niewielką opłatą.
Możesz też kontrolować dostęp do zasobów interfejsu API w usłudze API. Możesz na przykład grupować zasoby, do których dostęp mają tylko wewnętrzni programiści lub tylko płacący klienci.
Usługi API są głównym mechanizmem autoryzacji i kontroli dostępu do Twoich interfejsów API. W Apigee klucze interfejsu API są udostępniane nie dla samych interfejsów API, ale dla usług API. Innymi słowy, klucze interfejsu API są udostępniane dla pakietów zasobów z dołączonym abonamentem.
Programiści aplikacji uzyskują dostęp do Twoich usług API, rejestrując swoje aplikacje, jak opisano w sekcji Rejestrowanie aplikacji. Gdy aplikacja próbuje uzyskać dostęp do usługi API, Apigee wymusza autoryzację w czasie działania, aby zapewnić, że:
- aplikacja wysyłająca żądanie ma uprawnienia dostępu do określonego zasobu interfejsu API;
- aplikacja wysyłająca żądanie nie przekroczyła dozwolonego limitu;
- jeśli są zdefiniowane, zakresy OAuth zdefiniowane w usłudze API są zgodne z zakresami powiązanymi z tokenem dostępu przedstawionym przez aplikację.
Kluczowe pojęcia
Zanim utworzysz usługi API, zapoznaj się z tymi kluczowymi pojęciami.
- Klucze API
- Automatyczne i ręczne zatwierdzanie kluczy
- Limity
- Zakresy protokołu OAuth
- Poziomy dostępu
Klucze API
Gdy zarejestrujesz aplikację programisty w swojej organizacji, musi ona być powiązana z co najmniej 1 usługą API. W wyniku powiązania aplikacji z co najmniej 1 usługą API Edge przypisuje aplikacji unikalny klucz konsumenta.
Klucz konsumenta lub token dostępu pełnią funkcję danych logowania do żądania. Programista aplikacji umieszcza klucz konsumenta w aplikacji, aby gdy aplikacja wysyła żądanie do interfejsu API hostowanego przez Edge, przekazywała klucz konsumenta w żądaniu w jeden z tych sposobów:
- Gdy interfejs API używa weryfikacji klucza interfejsu API, aplikacja musi przekazać klucz konsumenta bezpośrednio.
- Gdy interfejs API używa weryfikacji tokena OAuth, aplikacja musi przekazać token, który został wygenerowany na podstawie klucza konsumenta.
Wymuszanie klucza interfejsu API nie odbywa się automatycznie. Niezależnie od tego, czy używasz klucza konsumenta, czy tokenów OAuth jako danych logowania do żądania, proxy interfejsu API weryfikuje dane logowania do żądania w Twoich proxy interfejsu API, dodając zasadę VerifyAPIKey lub OAuth/VerifyAccessToken, w odpowiednim przepływie. Jeśli nie dodasz zasady wymuszania danych logowania w swoim proxy interfejsu API, każdy użytkownik będzie mógł wywoływać Twoje interfejsy API. Więcej informacji znajdziesz w artykule Zasada weryfikacji klucza interfejsu API.
Aby zweryfikować dane logowania przekazane w żądaniu, Edge wykonuje te czynności:
- Pobiera dane logowania przekazane w żądaniu. W przypadku weryfikacji tokena OAuth Edge sprawdza, czy token nie stracił ważności, a następnie wyszukuje klucz konsumenta , który został użyty do wygenerowania tokena.
- Pobiera listę usług API, z którymi powiązany jest klucz konsumenta.
- Sprawdza, czy bieżące proxy interfejsu API jest uwzględnione w usłudze API, oraz czy bieżąca ścieżka adresu URL jest włączona w usłudze API.
- Sprawdza, czy klucz konsumenta nie stracił ważności ani nie został unieważniony, czy aplikacja nie została unieważniona, i czy programista aplikacji jest aktywny.
Jeśli wszystkie powyższe sprawdzenia zakończą się powodzeniem, weryfikacja danych logowania zakończy się powodzeniem.
Podsumowując, Edge automatycznie generuje klucze konsumenta, ale wydawcy interfejsów API muszą wymusić sprawdzanie kluczy w proxy interfejsu API za pomocą odpowiednich zasad.
Automatyczne i ręczne zatwierdzanie
Domyślnie wszystkie żądania uzyskania klucza dostępu do usługi API z aplikacji są automatycznie zatwierdzane. Możesz też skonfigurować usługę API tak, aby zatwierdzać klucze ręcznie. W takim przypadku musisz zatwierdzić żądania kluczy z każdej aplikacji, która doda usługę API. Więcej informacji znajdziesz w artykule Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API.
Limity
Limity mogą chronić serwery backendu przed dużym ruchem i odróżniać Twoją linię produktów. Możesz na przykład grupować zasoby z wysokim limitem jako usługę premium i używać tego samego pakietu z niższym limitem jako usługi podstawowej. Limit może pomóc chronić serwery przed przeciążeniem, jeśli usługa jest popularna i otrzymuje dużą liczbę żądań.
Informacje o konfigurowaniu limitu znajdziesz w artykule Zasada dotycząca limitów. Informacje o używaniu ustawień limitu usługi w zasadach dotyczących limitów znajdziesz w tym artykule w społeczności: How do the quota settings on an API product interact with quota policies in an API proxy?.
Zakresy protokołu OAuth
Aby zwiększyć poziom bezpieczeństwa, możesz zdefiniować dowolne zakresy OAuth jako listę rozdzieloną przecinkami, które muszą być obecne w tokenach dostępu wysyłanych przez usługę. Podczas tworzenia usługi, musisz znać wszystkie zakresy używane przez Twoją organizację. Zakresy dodawane do usługi muszą być zgodne z istniejącymi zakresami. W przeciwnym razie usługa nie będzie bezpieczna.
Więcej informacji o używaniu zakresów z zasadami OAuth Edge znajdziesz w artykule Praca z zakresami OAuth2.
Poziomy dostępu
Podczas definiowania usługi API możesz ustawić te poziomy dostępu.
| Poziom dostępu | Opis |
|---|---|
| Publiczny | Usługi API, które są dostępne dla wszystkich programistów. Możesz je dodać do zintegrowanych portali dla deweloperów lub portali opartych na Drupalu. |
| Tylko prywatny lub wewnętrzny | Usługi API przeznaczone do użytku prywatnego lub wewnętrznego. Uwaga: nie ma różnicy funkcjonalnej między poziomami dostępu Tylko prywatny i Tylko wewnętrzny. Wybierz etykietę, która najlepiej opisuje docelowych odbiorców usługi API. W przypadku zintegrowanego portalu możesz dodawać prywatne lub wewnętrzne produkty API i udostępniać je programistom aplikacji w razie potrzeby. W przypadku portali dla programistów opartych na Drupalu możesz zarządzać dostępem do usług API Tylko prywatny lub Tylko wewnętrzny w portalu dla programistów, jak opisano w tych sekcjach:
|