Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
W sekcjach poniżej omawiamy usługi API i powiązane z nimi kluczowe pojęcia.
Co to jest usługa API?
Jako dostawca interfejsów API tworzysz usługi interfejsów API, aby łączyć interfejsy API i je udostępniać dla deweloperów aplikacji. Produkty API można traktować jako linię produktów.
Mówiąc konkretnie, interfejs API obejmuje następujące elementy:
- Zbieranie zasobów interfejsu API (identyfikatory URI)
- Abonament
- Metadane specyficzne dla Twojej firmy na potrzeby monitorowania lub analizy (opcjonalnie)
Zasoby interfejsu API zawarte w usłudze API mogą pochodzić z jednego lub większej liczby interfejsów API, można więc je dowolnie łączyć do tworzenia wyspecjalizowanych zestawów cech, jak pokazano na ilustracji poniżej.
Możesz utworzyć wiele usług API, które odpowiadają na konkretne potrzeby. Można na przykład utworzyć usługę API, która łączy zasoby mapowania pozwalają programistom łatwo integrować mapy z aplikacjami. Dodatkowo dla każdego produktu API możesz ustawić różne właściwości, np. różne ceny. poziomów. Możesz np. zaoferować następujące kombinacje produktów interfejsu API:
- Usługa API oferująca niski limit dostępu, np. 1000 żądań dziennie, w atrakcyjnej cenie. 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łatna usługa interfejsu API oferująca dostęp tylko do odczytu do zasobów. Druga usługa API zapewniająca uprawnienia do odczytu i zapisu tych samych zasobów za niewielką opłatą.
Dodatkowo możesz kontrolować dostęp do zasobów interfejsu API w usłudze API. Możesz na przykład tworzyć grupy zasobów, do których mają dostęp tylko wewnętrzni programiści lub tylko klienci płacący.
Usługi API stanowią główny mechanizm autoryzacji i kontroli dostępu do 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, interfejs 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 swoje aplikacje zgodnie z opisem w sekcji Rejestrowanie aplikacji. Gdy aplikacja próbuje uzyskać dostęp do usługi API, Apigee wymusza autoryzację w czasie działania, aby:
- Aplikacja wysyłająca żądanie ma dostęp do określonego zasobu interfejsu API.
- Aplikacja, która wysłała żądanie, nie przekroczyła limitu.
- Jeśli zakresy OAuth zdefiniowane w usłudze API są zdefiniowane, odpowiadają zakresom powiązanym z dostępem token prezentowany przez aplikację.
Najważniejsze pojęcia
Zanim utworzysz usługi API, zapoznaj się z podanymi niżej kluczowymi koncepcjami.
- Klucze interfejsu API
- Automatyczne a ręczne zatwierdzanie kluczy
- Limity
- Zakresy protokołu OAuth
- Poziomy dostępu
Klucze API
Gdy rejestrujesz aplikację dewelopera w swojej organizacji, musi ona być powiązana z co najmniej 1 usługą API. W wyniku sparowania aplikacji z co najmniej 1 usługą interfejsu API Edge przypisuje aplikacji unikalny klucz klienta.
Klucz klienta lub token dostępu działają jako dane logowania żądania. Deweloper aplikacji umieszcza w niej klucz klienta, dzięki czemu po wysłaniu przez nią żądania do interfejsu API hostowanego przez Edge aplikacja przekazuje klucz klienta w żądaniu w jeden z tych sposobów:
- Gdy interfejs API korzysta z weryfikacji klucza interfejsu API, aplikacja musi bezpośrednio przekazać klucz klienta.
- Gdy interfejs API korzysta z weryfikacji tokenem OAuth, aplikacja musi przekazać token utworzony na podstawie klucza klienta.
Klucz interfejsu API nie jest wymuszany automatycznie. Określa, czy używasz klucza klienta czy tokenów OAuth jako dane logowania żądania, serwer proxy API weryfikuje dane uwierzytelniające żądania w serwery proxy interfejsu API przez dołączenie zasady VerifyAPIKey lub zasad OAuth/VerifyAccessToken; w odpowiednim procesie. Jeśli nie uwzględnisz zasady wymuszania danych logowania w API Proxy, dowolny element wywołujący może wywoływać Twoje interfejsy API. Aby dowiedzieć się więcej, zapoznaj się z sekcją Sprawdzanie zasad klucza interfejsu API.
Aby zweryfikować dane logowania przekazane w żądaniu, Edge wykonuje te czynności:
- Pobierz dane logowania przekazywane z żądaniem. W przypadku protokołu OAuth weryfikację tokena, Edge sprawdza, czy token nie wygasł, a następnie wyszukuje konsumenta który został użyty do wygenerowania tokena.
- Pobierz listę usług interfejsu API, z którymi został powiązany klucz klienta.
- Sprawdź, czy bieżący serwer proxy interfejsu API jest uwzględniony w usłudze API oraz czy bieżący ścieżka zasobu (ścieżka adresu URL) jest włączona w usłudze API.
- Sprawdź, czy klucz klienta nie wygasł ani nie został unieważniony. Sprawdź też, czy aplikacja nie została unieważniona. i sprawdź, czy jest aktywny.
Jeśli wszystkie powyższe testy zostaną zaliczone, weryfikacja danych logowania zakończy się powodzeniem.
W efekcie Edge automatycznie generuje klucze konsumentów, ale wydawcy interfejsów API wymuszanie sprawdzania kluczy na serwerach proxy interfejsu API przez stosowanie odpowiednich zasad.
Automatyczne a ręczne zatwierdzenie
Domyślnie wszystkie prośby o uzyskanie klucza dostępu do usługi API z aplikacji są automatycznie zatwierdzane. Ewentualnie możesz skonfigurować usługę API tak, aby ręcznie zatwierdzała klucze. W takim przypadku musisz zatwierdzić prośby o kluczowe z aplikacji, która dodaje i konkretnej usługi API. Więcej informacji znajdziesz w artykule Rejestrowanie aplikacji i zarządzanie interfejsem API .
Limity
Limity pozwalają chronić serwery backendu przed dużym ruchem i rozróżnić linię produktów. Możesz na przykład połączyć zasoby z wysokim limitem jako usługę premium, w której ten sam pakiet z niższym limitem co w przypadku produktu podstawowego. Limit może chronić Twoje serwery przed gdy produkt jest popularny i otrzymuje dużą liczbę zapytań.
Informacje o konfigurowaniu limitów znajdziesz w artykule Zasady dotyczące limitów. Informacje na temat: używając ustawień limitów produktów w zasadach dotyczących limitów, zapoznaj się z tym artykułem społeczności Jak ustawienia limitów usługi API współdziałają z zasadami dotyczącymi limitów na serwerze proxy API?
Zakresy protokołu OAuth
Jako dodatkowy poziom bezpieczeństwa możesz zdefiniować dowolne zakresy protokołu OAuth w postaci listy oddzielonej przecinkami muszą być obecne w tokenach dostępu wysyłanych przez usługę. Tworząc produkt, musisz wiedzieć o wszystkich zakresach, z których korzysta Twoja organizacja. Zakresy, które dodajesz do usługi musi pasować do istniejących zakresów, w przeciwnym razie produkt nie jest bezpieczny.
Więcej informacji o korzystaniu z zakresów z zasadami Edge OAuth znajdziesz w artykule o korzystaniu z zakresów OAuth2.
Poziomy dostępu
Definiując usługę API, możesz ustawić następujące poziomy dostępu.
Poziom dostępu | Opis |
---|---|
Publiczny | Usługi API dostępne dla wszystkich programistów. Możesz je dodawać do zintegrowanych lub opartych na Drupal portali dla deweloperów. |
Prywatny lub tylko wewnętrzny | Usługi API przeznaczone do użytku prywatnego lub wewnętrznego. Uwaga: nie ma funkcjonalnej różnicy między poziomami dostępu prywatnego i wewnętrznego. Wybierz etykietę, która najlepiej opisuje docelowych odbiorców usługi interfejsu API. W przypadku zintegrowanego portalu możesz dodawać prywatne lub tylko wewnętrzne usługi API i udostępniać je deweloperom aplikacji w razie potrzeby. W przypadku portali dla deweloperów opartych na Drupal możesz zarządzać dostępem do prywatnych lub wewnętrznych usług interfejsu API w portalu dla deweloperów zgodnie z opisem w tych sekcjach:
|