Wprowadzenie

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

W tych sekcjach znajdziesz informacje o usługach interfejsu API i powiązanych z nimi kluczowych pojęciach.

Co to jest interfejs API?

Jako dostawca interfejsów API możesz tworzyć usługi API, aby łączyć ze sobą interfejsy API i udostępniać je deweloperom aplikacji do wykorzystania. Produkty API można traktować jako linię produktów.

W szczególności produkty API obejmują pakiety obejmujące te elementy:

  • Kolekcja zasobów API (identyfikatorów URI)
  • Plan taryfowy
  • specyficzne dla Twojej firmy metadane do monitorowania lub analizy (opcjonalnie).

Zasoby interfejsu API dołączone do usługi API mogą pochodzić z jednego lub wielu interfejsów API, więc można mieszać i dopasowywać zasoby, aby tworzyć wyspecjalizowane zestawy funkcji, jak pokazano na poniższej ilustracji.

Możesz utworzyć wiele usług API na potrzeby przypadków użycia, które spełniają określone potrzeby. Możesz na przykład utworzyć usługę API obejmującą wiele zasobów mapowania, aby umożliwić programistom integrowanie map z ich aplikacjami. Dodatkowo dla każdej usługi interfejsu API możesz ustawić różne właściwości, na przykład różne poziomy cen. Możesz na przykład oferować takie kombinacje usług interfejsu API:

  • Usługa API z niskim limitem dostępu, np. 1000 żądań dziennie, za okazjonalną cenę. Druga usługa API zapewniająca dostęp do tych samych zasobów, ale z wyższym limitem dostępu i wyższą ceną.
  • Bezpłatny interfejs API oferujący dostęp tylko do odczytu do zasobów. Druga usługa API zapewniająca uprawnienia do zapisu i odczytu 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ętrznie programiści lub tylko płacący klienci.

Produkty API to główny mechanizm autoryzacji i kontroli dostępu do interfejsów API. W Apigee klucze interfejsu API są udostępniane, a nie dla samych interfejsów API, ale dla usług API. Oznacza to, że klucze interfejsu API są udostępniane dla pakietów zasobów z dołączonym abonamentem.

Deweloperzy aplikacji uzyskują dostęp do usług interfejsu API, rejestrując ich aplikacje w sposób opisany w sekcji Rejestrowanie aplikacji. Gdy aplikacja próbuje uzyskać dostęp do usługi API, Apigee wymusza autoryzację w czasie działania, aby upewnić się, że:

  • Aplikacja wysyłająca żądanie może uzyskać dostęp do określonego zasobu interfejsu API.
  • Aplikacja żądająca nie przekroczyła dozwolonego limitu.
  • Jeśli zakresy OAuth zdefiniowane w usłudze interfejsu API są zdefiniowane, są zgodne z tymi powiązanymi z tokenem dostępu prezentowanym przez aplikację.

Podstawowe pojęcia

Zanim utworzysz usługi API, zapoznaj się z tymi kluczowymi pojęciami.

Klucze interfejsu API

Gdy rejestrujesz aplikację dewelopera w organizacji, musi ona być powiązana z co najmniej 1 usługą interfejsu API. W wyniku sparowania aplikacji z co najmniej jedną usługą API Edge przypisuje do niej unikalny klucz klienta.

Klucz klienta lub token dostępu działają jako dane uwierzytelniające żądania. Deweloper aplikacji umieszcza klucz klienta w aplikacji, tak więc gdy aplikacja wysyła żądanie do interfejsu API hostowanego przez Edge, przekazuje klucz klienta w żądaniu w jeden z tych sposobów:

  • Gdy interfejs API korzysta z weryfikacji klucza interfejsu API, aplikacja musi bezpośrednio przekazywać klucz klienta.
  • Gdy interfejs API korzysta z weryfikacji tokena OAuth, aplikacja musi przekazać token wygenerowany z klucza klienta.

Wymuszanie klucza interfejsu API nie odbywa się automatycznie. Niezależnie od tego, czy używasz klucza klienta czy tokenów OAuth jako danych uwierzytelniających żądania, serwer proxy interfejsu API weryfikuje dane uwierzytelniające żądania na serwerach proxy interfejsu API, uwzględniając zasadę VerifyAPIKey lub zasadę OAuth/VerifyAccessToken w ramach odpowiedniego procesu. Jeśli nie dodasz zasad wymuszania danych logowania na serwerze proxy interfejsu API, każdy element wywołujący będzie mógł wywoływać Twoje interfejsy API. Więcej informacji znajdziesz w artykule Weryfikowanie klucza interfejsu API.

Aby zweryfikować dane logowania przekazane w żądaniu, Edge wykonuje te czynności:

  • Uzyskaj dane logowania przekazywane w żądaniu. W przypadku weryfikacji tokena OAuth Edge sprawdza, czy token nie wygasł, a następnie wyszukuje klucz klienta, który został użyty do wygenerowania tokena.
  • Pobierz listę usług API, z którymi został powiązany klucz klienta.
  • Sprawdź, czy bieżący serwer proxy interfejsu API jest uwzględniony w usłudze API i czy bieżąca ścieżka zasobu (ścieżka adresu URL) jest w nim włączona.
  • Sprawdź, czy klucz klienta nie wygasł ani nie został unieważniony, sprawdź, czy aplikacja nie została unieważniona i czy deweloper aplikacji jest aktywny.

Jeśli wszystkie powyższe punkty kontroli zakończą się powodzeniem, weryfikacja danych logowania zakończy się powodzeniem.

Podsumowując, Edge automatycznie generuje klucze klienta, ale wydawcy interfejsów API muszą wymuszać sprawdzanie kluczy na serwerach proxy interfejsów API, używając odpowiednich zasad.

Zatwierdzanie automatyczne a ręczne

Domyślnie wszystkie żądania uzyskania klucza umożliwiającego dostęp do usługi interfejsu API z aplikacji są zatwierdzane automatycznie. Możesz też skonfigurować usługę API tak, aby ręcznie zatwierdzać klucze. W takim przypadku musisz zatwierdzić żądania kluczy ze wszystkich aplikacji, które dodają usługę API. Więcej informacji znajdziesz w artykule o rejestrowaniu aplikacji i zarządzaniu kluczami interfejsu API.

Limity

Limity mogą chronić serwery backendu przed dużym ruchem i różnicować linię produktów. Możesz na przykład powiązać zasoby z wysokim limitem jako usługę premium i użyć tego samego pakietu z niższym limitem jako usługi podstawowej. Odpowiedni limit może zabezpieczyć serwery przed przeciążeniem, jeśli usługa jest popularna i otrzymuje dużą liczbę żądań.

Więcej informacji o konfigurowaniu limitu znajdziesz w opisie zasad dotyczących limitów. Informacje o używaniu ustawień limitów usług w zasadach limitów znajdziesz w tym artykule społeczności: W jaki sposób ustawienia limitów w usłudze interfejsu API współdziałają z zasadami limitów na serwerze proxy interfejsu API?.

Zakresy protokołu OAuth

Aby zwiększyć bezpieczeństwo, możesz zdefiniować dowolne zakresy OAuth w postaci listy oddzielonej przecinkami, które muszą być obecne w tokenach dostępu wysyłanych przez usługę. Podczas tworzenia usługi musisz wiedzieć, do jakich zakresów używa Twoja organizacja. Zakresy, które dodajesz do usługi, muszą pasować do istniejących zakresów. W przeciwnym razie usługa nie jest zabezpieczona.

Więcej informacji o korzystaniu z zakresów z zasadami Edge OAuth znajdziesz w artykule Praca z zakresami OAuth2.

Poziomy dostępu

Podczas definiowania usługi API możesz ustawić następujące poziomy dostępu.

Poziom dostępu Opis
Publiczna Produkty API dostępne dla wszystkich deweloperów. Możesz je dodawać do portali dla programistów zintegrowanych lub opartych na technologii Drupal.
Prywatny lub tylko wewnętrzny

Usługi interfejsu API przeznaczone do użytku prywatnego lub wewnętrznego.

Uwaga: nie ma różnicy między poziomami dostępu „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 tylko wewnętrzne usługi API i w razie potrzeby udostępniać je deweloperom aplikacji.

W przypadku portali dla deweloperów opartych na technologii Drupal możesz zarządzać w portalu dla deweloperów dostępem do usług prywatnych lub tylko do użytku wewnętrznego w ramach interfejsu API zgodnie z opisem w tych sekcjach:

  • W przypadku portali dla deweloperów Drupal 9 możesz w swoim portalu dla programistów skonfigurować dostęp do usług prywatnych lub tylko do użytku wewnętrznego w ramach interfejsu API zgodnie z opisem w artykule Konfigurowanie uprawnień dostępu do usług API.
  • W przypadku portali dla deweloperów Drupal 7 nie można dodawać do portalu dla programistów usług prywatnych ani przeznaczonych tylko do użytku wewnętrznego. Aby udostępnić deweloperom aplikacji prywatne lub wewnętrzne usługi interfejsu API, musisz ręcznie dodać je do zarejestrowanej aplikacji z poziomu interfejsu użytkownika lub interfejsu API zarządzania urządzeniami brzegowymi zgodnie z opisem w artykule Rejestrowanie aplikacji i zarządzanie kluczami interfejsu API. Po dodaniu deweloper będzie widzieć usługę API powiązaną z aplikacją w portalu, jak opisano to w sekcji Zarządzanie usługami API w aplikacji. Jeśli deweloper wyłączy dostęp do wewnętrznej lub prywatnej usługi API, zostanie ona usunięta z aplikacji i musi zostać ponownie dodana ręcznie przez administratora portalu.