Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Edge Microgateway w wersji 3.3.x
Przegląd
Po wykonaniu czynności opisanych w tym przewodniku konfiguracji będziesz mieć w pełni skonfigurowaną i działającą instalację Edge Microgateway, która będzie w stanie przetwarzać żądania interfejsu API. Aby przetestować konfigurację, wykonasz bezpieczne wywołania interfejsu API za pomocą Edge Microgateway do backendu. Dowiesz się też, jak dodać do Microgateway wtyczkę zapobiegającą nagłym wzrostom liczby żądań.
Ten przewodnik jest podzielony na te części:
- Wymagania wstępne: instalacja Edge Microgateway
- Część 1. Konfigurowanie Edge Microgateway
- Część 2. Tworzenie encji w Apigee Edge
- Część 3. Obsługa Edge Microgateway
- Część 4. Secure Edge Microgateway
- Część 5. Dodaj wtyczkę Spike Arrest
- Część 6. Wyświetlanie danych Analytics w Apigee Edge
Warunek wstępny: zainstaluj Edge Microgateway
Postępuj zgodnie z instrukcjami w artykule Instalowanie Edge Microgateway. Po zakończeniu instalacji możesz wykonać czynności opisane w tym samouczku.
Część 1. Konfigurowanie Edge Microgateway
W tej części użyjesz polecenia interfejsu wiersza poleceń, aby skonfigurować Edge Microgateway do komunikacji z Apigee Edge.
- Jeśli używasz Apigee Edge Cloud, wykonaj kroki konfiguracji Apigee Edge Cloud.
- Jeśli korzystasz z Apigee Private Cloud, wykonaj kroki dotyczące Apigee Edge Private Cloud.
Kroki konfiguracji Apigee Edge Cloud
Aby używać Edge Microgateway z Apigee Edge Cloud, wykonaj te czynności:
- Zainicjuj Edge Microgateway (wystarczy wykonać ten krok tylko raz):
edgemicro init
- W katalogu głównym w podkatalogu o nazwie
.edgemicrozostał umieszczony plik konfiguracyjny o nazwiedefault.yaml. Sprawdź teraz, czy ten plik istnieje:ls ~/.edgemicro default.yaml
Uwaga: w dokumentacji Edge Microgateway do katalogu głównego odwołujemy się za pomocą tyldy (
~), która jest skrótem w systemie UNIX. Jeśli używasz systemu Windows i powłoki, która nie obsługuje tyldy, musisz zastąpić ją odpowiednią zmienną środowiskową w poleceniach odwołujących się do katalogu domowego. Na przykład:%USERPROFILE%/.edgemicro. - Wszystkie polecenia interfejsu CLI mają funkcję pomocy. Wyświetl pomoc dotyczącą polecenia edgemicro
configure:
edgemicro configure -h
- Aby skonfigurować Edge Microgateway, wykonaj to polecenie:
edgemicro configure -o [org] -e [env] -u [username]
Gdzie:
org:Nazwa organizacji Edge (musisz być administratorem organizacji).env:Środowisko w Twojej organizacji (np. testowe lub produkcyjne).username:Adres e-mail powiązany z Twoim kontem Apigee.
Uwaga: polecenie configure umożliwia użycie dodatkowych parametrów. Pełną listę znajdziesz w artykule Konfigurowanie Edge Microgateway na potrzeby Apigee Edge Cloud.
Przykład
edgemicro configure -o docs -e test -u jdoe@example.com
Dane wyjściowe
./edgemicro configure -o docs -e test -u jdoe@apigee.com password: current nodejs version is v12.5.0 current edgemicro version is 3.1.0 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1 saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih 3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ +1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q PTmvExZLkLQ= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
Kroki konfiguracji Apigee Private Cloud
Aby używać Edge Microgateway z Apigee Private Cloud:
- Zainicjuj Edge Microgateway (wystarczy wykonać ten krok tylko raz):
edgemicro init
- Wyświetla informacje pomocy dotyczące polecenia edgemicro private configure. W ten sposób możesz wyświetlić pomoc dotyczącą dowolnego polecenia lub opcji polecenia interfejsu Edge Microgateway CLI.
edgemicro private configure -h
- Uruchom to polecenie. Wymaga to standardowych informacji o koncie Apigee Edge Private Cloud: nazwy organizacji, nazwy środowiska, nazwy użytkownika (adresu e-mail), hasła, adresu IP serwera zarządzania i adresu IP routera. Aby użyć tego polecenia, musisz być administratorem organizacji Edge:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).runtime_urlto adres URL środowiska wykonawczego instancji chmury prywatnej.mgmt_url– adres URL serwera zarządzania instancji chmury prywatnej.usernameto adres e-mail powiązany z Twoim kontem Apigee.-
virtual_hostto lista nazw hostów wirtualnych rozdzielonych przecinkami. Wartości domyślne to:default,secure
Przykład
edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default
Jeśli masz alias hosta wirtualnego myorg-test.mycompany.com, użyj polecenia takiego jak to:
edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default
Dane wyjściowe
delete cache config checking for previously deployed proxies configuring edgemicro internal proxy deploying edgemicro internal proxy deploying edgemicro-auth app copy auth app into tmp dir copy config into tmp deer Give me a minute or two... this can take a while... App edgemicro-auth added to your org. Now adding resources. checking org for existing KVM error checking for cert. Installing new cert. creating KVM adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz pFkIxepyr/0= -----END CERTIFICATE----- The following credentials are required to start edge micro key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263 edgemicro configuration complete!
Sprawdzanie instalacji
Aby sprawdzić instalację, uruchom to polecenie. Jeśli nie zgłoszono żadnych błędów, wszystko jest prawidłowo skonfigurowane i możesz uruchomić Edge Microgateway.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).keyto klucz zwrócony wcześniej przez polecenie configure.secretto klucz zwrócony wcześniej przez polecenie configure.
Przykład
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
Informacje o konfiguracji
Cała dotychczasowa konfiguracja umożliwia Edge Microgateway samodzielne uruchomienie w Apigee Edge. Po pomyślnym uruchomieniu Edge Microgateway pobiera z Apigee Edge ładunek z dodatkowymi informacjami o konfiguracji.
Do czego służą te informacje o konfiguracji? Jak się przekonamy w następnej części tego samouczka, po uruchomieniu Edge Microgateway musi otrzymać z Apigee Edge listę specjalnych proxy interfejsu API, które są zgodne z Edge Microgateway. W następnej części tego samouczka utworzysz serwer proxy obsługujący Microgateway. Edge Microgateway ogranicza klientów do wywoływania tylko interfejsów API, które są obsługiwane przez te serwery proxy interfejsu API obsługujące Microgateway. Klienci będą (domyślnie) musieli przedstawiać prawidłowy token zabezpieczający przy każdym wywołaniu. Więcej informacji o tych serwerach proxy znajdziesz w sekcji „Co musisz wiedzieć o serwerach proxy obsługujących Edge Microgateway” w omówieniu Edge Microgateway.
Jako administrator organizacji Edge możesz wiedzieć, że serwery proxy obsługujące Edge Microgateway można dodawać do usług Edge tak samo jak inne serwery proxy. Korzystając z usług i aplikacji deweloperskich, możesz generować tokeny zabezpieczające dla klientów, aby kontrolować dostęp do interfejsów API wywoływanych przez Edge Microgateway. Wzorce są identyczne jak w przypadku pracy z dowolnymi proxy interfejsu API, produktami i aplikacjami deweloperskimi w Apigee Edge. Jeśli chcesz dowiedzieć się więcej o produktach, zacznij od artykułu Czym jest produkt API? w dokumentacji Edge.
Następnie pokażemy, jak tworzyć proxy obsługujące Edge Microgateway, a potem uruchomimy Edge Microgateway i przetestujemy konfigurację.
Część 2. Tworzenie encji w Apigee Edge
W tej części utworzysz na Edge te elementy:
-
Serwer proxy obsługujący mikrobramę – to specjalny serwer proxy, który Edge Microgateway może wykryć podczas uruchamiania. Pełnomocnicy obsługujący mikrobramę mają konwencję nazewnictwa, której musisz przestrzegać: nazwa musi zaczynać się od znaku
edgemicro_. Na przykładedgemicro_hellolubedgemicro_userinfo. Po uruchomieniu Edge Microgateway pobiera z Edge listę serwerów proxy obsługujących mikrobramę z tej samej organizacji i środowiska Edge, które zostały określone podczas uruchamiania Edge Microgateway.
W przypadku każdego serwera proxy obsługującego mikrobramę Edge Microgateway pobiera docelowy adres URL serwera proxy i jego ścieżkę podstawową. Proxy obsługujące mikrobramę zapewniają też wygodny sposób łączenia danych analitycznych generowanych przez Edge Microgateway z proxy na platformie Edge. Mikrogateway obsługuje wywołania interfejsu API i asynchronicznie przesyła dane analityczne do Edge. Dane Analytics będą widoczne w interfejsie Edge Analytics pod nazwami serwerów proxy obsługujących mikrobramę, tak jak w przypadku innych serwerów proxy.
- Usługa API, programista i aplikacja programisty – Edge Microgateway używa usług API, programistów i aplikacji programistów, aby włączyć zabezpieczenia tokena dostępu OAuth2 lub klucza API. Po uruchomieniu Edge Microgateway pobiera wszystkie konfiguracje produktów z organizacji Apigee Edge. Używa tych informacji do weryfikowania wywołań interfejsu API wykonywanych za pomocą Edge Microgateway za pomocą kluczy interfejsu API lub tokenów dostępu OAuth2.
1. Tworzenie w Edge proxy interfejsu API obsługującego Edge Microgateway
- Zaloguj się w organizacji w Apigee Edge.
- W menu nawigacyjnym po lewej stronie wybierz Develop > API Proxies (Programowanie > Serwery proxy interfejsu API).
- Kliknij + Serwer proxy. Zostanie uruchomiony kreator tworzenia serwera proxy.
- Na pierwszej stronie kreatora wybierz Serwer proxy (najczęstszy).
- Kliknij Dalej.
- Na stronie z informacjami kreatora skonfiguruj te ustawienia: Wypełnij kreator dokładnie tak, jak pokazano poniżej:
- Nazwa proxy: edgemicro_hello
- Podstawowa ścieżka proxy: /hello
- Istniejący interfejs API: http://mocktarget.apigee.net/
- Kliknij Dalej.
- Na stronie Bezpieczeństwo kreatora wybierz Przekazywanie (brak).
- Kliknij Dalej.
- Na stronie Hosty wirtualne w kreatorze zaakceptuj ustawienia domyślne.
- Kliknij Dalej.
- Na stronie Tworzenie kreatora sprawdź ustawienia serwera proxy. Sprawdź, czy wybrane jest środowisko testowe.
- Kliknij Build and Deploy (Skompiluj i wdróż).
2. Tworzenie usługi API
- W menu nawigacyjnym po lewej stronie wybierz Opublikuj > Produkty interfejsu API.
- Kliknij + Produkt API.
- Wpisz szczegóły produktu podane w tej tabeli:
Pole Opis Nazwa EdgeMicroTestProduct Wyświetlana nazwa Edge Microgateway Test Product Środowisko test Dostęp Publiczny Typ zatwierdzenia klucza Automatycznie - W sekcji zasobów interfejsu API dodaj utworzony przed chwilą serwer proxy interfejsu API i serwer proxy edgemicro-auth:
- edgemicro_hello
- edgemicro-auth
- Kliknij Zapisz.
3. Tworzenie dewelopera
Na potrzeby tego samouczka możesz użyć dowolnego dewelopera, aby przejść do następnego kroku, czyli utworzyć aplikację dewelopera. Jeśli jednak chcesz, możesz teraz utworzyć dewelopera testowego:
- W menu nawigacyjnym po stronie wybierz Opublikuj > Deweloperzy.
- Kliknij + Deweloper.
- Wypełnij okno, aby utworzyć dewelopera testu.
4. Tworzenie aplikacji dewelopera
Do wykonywania bezpiecznych wywołań interfejsu API za pomocą Edge Microgateway będziesz używać danych logowania klienta z tej aplikacji:
- W menu nawigacyjnym po lewej stronie wybierz Opublikuj > Aplikacje.
- Kliknij + Aplikacja. Wyświetli się strona z informacjami o aplikacji dewelopera.
- Wypełnij stronę aplikacji dewelopera w ten sposób:
- Nazwa: EdgeMicroTestApp
- Wyświetlana nazwa: EdgeMicroTestApp
- Deweloper: jeśli masz utworzonego dewelopera testowego, wybierz go. Możesz też użyć dowolnego dewelopera, który już istnieje.
-
Dane logowania:
- Wybierz Datę wygaśnięcia: Nigdy.
- Kliknij + Produkt i wybierz EdgeMicroTestProduct (utworzony przed chwilą produkt).
- Kliknij Zapisz.
- Wrócisz na stronę z listą aplikacji.
- Wybierz utworzoną aplikację EdgeMicroTestApp.
- Kliknij Pokaż obok pól Klucz klienta i Klucz tajny klienta.

Część 3. Obsługa Edge Microgateway
Po skonfigurowaniu Edge Microgateway i utworzeniu co najmniej jednego serwera proxy obsługującego Edge Microgateway w Edge możesz uruchomić Edge Microgateway. Serwer HTTP Edge Microgateway będzie działać na Twoim komputerze lokalnym, a wywołania interfejsu API będziesz kierować bezpośrednio do tego serwera.
1. Uruchamianie Edge Microgateway
Aby uruchomić Edge Microgateway, użyj polecenia edgemicro start.
- Upewnij się, że masz klucze, które zostały zwrócone wcześniej po uruchomieniu polecenia edgemicro
configure. Dane wyjściowe wyglądały mniej więcej tak:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
- (Opcjonalnie) Wydrukuj informacje pomocy dotyczące polecenia
edgemicro start.
edgemicro start -h
- Aby uruchomić Edge Microgateway, wykonaj to polecenie:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).keyto klucz zwrócony wcześniej przez polecenie configure.secretto klucz zwrócony wcześniej przez polecenie configure.
Przykład
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
Dane wyjściowe
Polecenie start pobiera z Apigee Edge wiele informacji o konfiguracji (które przewijają się w oknie terminala). W danych wyjściowych zobaczysz listę serwerów proxy i usług obsługujących mikrobramy. Na końcu danych wyjściowych powinna pojawić się informacja podobna do tej:
... current nodejs version is v12.5.0 current edgemicro version is 3.1.0 info: jwk_public_keys download from null returned 200 undefined info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK PROCESS PID : 17991
- Sprawdź stan mikrobramy. W innym oknie terminala przejdź do tego samego katalogu, w którym uruchomiono Edge Micro, i wpisz to polecenie:
edgemicro status current nodejs version is v12.5.0 current edgemicro version is 3.1.0 edgemicro is running with 8 workers
Co się stało?
Ładunek z informacjami o konfiguracji Edge Microgateway jest pobierany z Apigee Edge i przechowywany lokalnie w pamięci podręcznej. Są to między innymi:
- Klucz publiczny utworzony i przechowywany wcześniej na zaszyfrowanej mapie klucz-wartość.
- Reprezentacja wszystkich serwerów proxy obsługujących Edge Microgateway, które istnieją w organizacji lub środowisku. To wszystkie proxy, których nazwy mają prefiks edgemicro_.
- Reprezentacja wszystkich usług API, które istnieją w organizacji lub środowisku.
Dzięki tym informacjom Edge Microgateway wie, które serwery proxy i ścieżki serwerów proxy może przetwarzać. Wykorzystuje ona informacje o produkcie do egzekwowania zabezpieczeń (dokładnie tak samo jak każdy proxy interfejsu API w Apigee Edge, gdzie klucze aplikacji dewelopera są powiązane z produktami). Za chwilę omówimy kroki, które należy wykonać, aby zabezpieczyć Edge Microgateway.
2. Testowanie Edge Microgateway
Gdy Edge Microgateway jest uruchomiony, możesz wywołać proxy. Konfiguracja serwera proxy edgemicro_hello została pobrana z Edge po uruchomieniu Edge Microgateway. Pamiętaj, że ścieżka podstawowa serwera proxy to /hello.
Aby przetestować Edge Microgateway, zaczynamy od ścieżki podstawowej i dodajemy ścieżkę zasobu /echo. Pamiętaj, że wszystko, co znajduje się po ścieżce podstawowej (w tym parametry zapytania), jest po prostu przekazywane do docelowego backendu:
curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}Ten błąd występuje, ponieważ w żądaniu nie podano prawidłowego klucza interfejsu API ani tokena dostępu. Domyślnie Edge Microgateway wymaga klucza interfejsu API lub tokena dostępu przy każdym wywołaniu interfejsu API. W następnym kroku tego samouczka zabezpieczymy ten interfejs API i pokażemy, jak uzyskać prawidłowy token dostępu i dołączyć go do żądania.
4. Zatrzymywanie Edge Microgateway
- W osobnym oknie terminala
cddo tego samego katalogu, w którym uruchomiono Edge Microgateway. - Wpisz polecenie zatrzymania:
edgemicro stop
Część 4. Secure Edge Microgateway
Wywołania interfejsu API wykonywane za pomocą Edge Microgateway możesz zabezpieczyć za pomocą klucza interfejsu API lub tokena dostępu.
- Zabezpieczanie wywołań interfejsu API za pomocą tokena dostępu OAuth2
- Zabezpieczanie wywołań interfejsu API za pomocą klucza interfejsu API
Zabezpieczanie wywołań interfejsu API za pomocą tokena dostępu OAuth2
Jeśli chcesz uwierzytelniać wywołania interfejsu API za pomocą tokena dostępu OAuth2, wykonaj te czynności:
1. Uzyskiwanie wymaganych kluczy
- W interfejsie Edge UI otwórz utworzoną wcześniej aplikację dewelopera. Nazwa aplikacji to EdgeMicroTestApp.
- Na stronie aplikacji dewelopera wyświetl klucz klienta i klucz tajny klienta, a następnie je skopiuj. Te wartości są wymagane, aby w następnym kroku uzyskać token dostępu.
2. Uzyskiwanie tokena dostępu
Token dostępu można uzyskać na 2 sposoby. Pokażemy Ci obie metody.
Uzyskiwanie tokena dostępu za pomocą interfejsu wiersza poleceń
Pierwsza metoda jest wygodna i zgodna z wzorcem, którego używaliśmy w tym samouczku. Druga metoda jest zwykle bardziej przydatna dla programistów aplikacji klienckich, którzy muszą wysyłać żądania tokenów. Rzeczywisty punkt końcowy tokena jest zaimplementowany w proxy edgemicro-auth, które zostało wdrożone podczas konfigurowania Edge Microgateway.
- (Opcjonalnie) Wyświetl pomoc dotyczącą polecenia token get:
edgemicro token get -h
- Wygeneruj token, zastępując wartości klucza klienta i tajnego klucza klienta z utworzonej w Apigee Edge aplikacji dla deweloperów w parametrach -i i -s:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).consumer_idto identyfikator konsumenta w aplikacji dewelopera utworzonej wcześniej.consumer_secretto tajny klucz klienta w utworzonej wcześniej aplikacji dla deweloperów.
Przykład
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Dane wyjściowe (przykład)
current nodejs version is v12.5.0 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc 3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ. v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4 QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
(Opcjonalnie) Uzyskiwanie tokena za pomocą interfejsu API
Jeśli zwykle wywołujesz serwery proxy Edge za pomocą polecenia curl lub innego klienta HTTP, z pewnością zainteresuje Cię fakt, że możesz wywoływać punkt końcowy tokena bezpośrednio, zamiast używać polecenia edgemicro token. Oto przykład polecenia curl. Wystarczy, że w adresie URL zastąpisz nazwy organizacji i środowiska, a w nagłówku podstawowego uwierzytelniania przekażesz wartości klucza klienta i tajnego klucza klienta rozdzielone dwukropkiem:
curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).client_idto identyfikator konsumenta w utworzonej wcześniej aplikacji dewelopera.client_secretto tajny klucz klienta w utworzonej wcześniej aplikacji dla deweloperów.
Dane wyjściowe (przykład)
Polecenie, niezależnie od tego, czy używasz polecenia interfejsu wiersza poleceń edgemicro token, czy wywołujesz punkt końcowy za pomocą polecenia curl, zwraca podpisany token dostępu, którego można używać do wykonywania wywołań klienta. Na przykład:
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz
pFkIxepyr/0=
3. Sprawdzanie konfiguracji w Edge Microgateway
- Otwórz plik
$HOME/.edgemicro/org-env-config.yaml. Jeśli nie możesz znaleźć tego pliku, zapoznaj się z sekcją Gdzie jest zainstalowana usługa Edge Microgateway. - Sprawdź, czy te właściwości wtyczki OAuth mają wartość false. Domyślnie mają wartość fałsz, ale warto to sprawdzić:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- W pliku
org-env-config.yamlupewnij się też, że wtyczka oauth jest dodana do elementuplugins:sequence, tak jak w tym przykładzie:plugins: dir: ../plugins sequence: - oauth
- Jeśli wprowadzisz jakiekolwiek zmiany w pliku, ponownie załaduj zmiany do działającej instancji Edge Microgateway. To polecenie ponownie konfiguruje Edge Microgateway bez przestoju:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).keyto klucz zwrócony wcześniej przez polecenie configure.secretto klucz zwrócony wcześniej przez polecenie configure.
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. Bezpieczne wywoływanie interfejsu API
Gdy masz już token dostępu, możesz bezpiecznie wywołać interfejs API. Na przykład:
curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl 9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6 IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx 4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0 64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo
Interfejs API zwraca nagłówki i inne informacje z serwera testowego.
Zabezpieczanie interfejsu API za pomocą klucza interfejsu API
Jeśli chcesz użyć klucza interfejsu API do autoryzacji, wykonaj te czynności:
1. Uzyskiwanie klucza interfejsu API
- W interfejsie Edge UI otwórz utworzoną wcześniej aplikację dewelopera. Nazwa aplikacji to EdgeMicroTestApp.
- Na stronie aplikacji dewelopera wyświetl klucz konsumenta i skopiuj go. Ta wartość to klucz interfejsu API. Ten klucz będzie używany do wykonywania uwierzytelnionych wywołań interfejsu API.
2. Sprawdzanie konfiguracji w Edge Microgateway
- Otwórz plik. Jeśli nie możesz go znaleźć, zapoznaj się z sekcją
$HOME/.edgemicro/org-env-config.yaml.Gdzie jest zainstalowana usługa Edge Microgateway. - Sprawdź, czy te właściwości wtyczki OAuth mają wartość false. Domyślnie mają wartość „false”, ale możesz to sprawdzić:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- W pliku
org-env-config.yamlupewnij się też, że wtyczka oauth jest dodana do elementuplugins:sequence, tak jak w tym przykładzie:plugins: dir: ../plugins sequence: - oauth - Jeśli wprowadzisz jakiekolwiek zmiany w pliku, ponownie załaduj zmiany do działającej instancji Edge Microgateway. To polecenie ponownie konfiguruje Edge Microgateway bez przestoju:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).keyto klucz zwrócony wcześniej przez polecenie configure.secretto klucz zwrócony wcześniej przez polecenie configure.
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
3. Bezpieczne wywoływanie interfejsu API za pomocą klucza interfejsu API
Wywołaj interfejs API z nagłówkiem x-api-key w ten sposób: Wartość klucza klienta skopiowana z aplikacji dewelopera to klucz interfejsu API. Domyślnie Edge Microgateway oczekuje, że klucz zostanie przekazany w nagłówku o nazwie x-api-key, np. w ten sposób:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Gdzie:
apikeyto wartość klucza klienta pobrana z aplikacji EdgeMicroTestApp.
Na przykład:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
Masz teraz w pełni funkcjonalną i bezpieczną bramę Edge Microgateway. W następnej części tego samouczka przyjrzymy się wtyczkom, które dodają funkcje do Edge Microgateway.
Część 5. Dodawanie wtyczki Spike Arrest
W tej części dodamy do instancji Edge Microgateway funkcję ograniczania liczby żądań o nazwie „spike arrest”.
Czym są wtyczki?
Wtyczka to moduł Node.js, który dodaje funkcje do Edge Microgateway. Moduły wtyczek mają spójny wzorzec i są przechowywane w lokalizacji znanej Edge Microgateway, co umożliwia mikrobramie automatyczne wykrywanie i wczytywanie tych modułów. Więcej informacji o wtyczkach znajdziesz w artykule Korzystanie z wtyczek.
Dodawanie wtyczki do tłumienia nagłych skoków
Wtyczka ograniczająca nagłe skoki natężenia ruchu chroni przed nagłymi skokami natężenia ruchu. Ogranicza liczbę żądań przetwarzanych przez instancję Edge Microgateway.
W Edge Microgateway ochrona przed nagłymi wzrostami ruchu jest zaimplementowana jako moduł wtyczki. Aby ją włączyć, musisz dodać ją do pliku konfiguracyjnego Edge Microgateway.
- Jeśli nie możesz znaleźć tego pliku, otwórz plik
$HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed. - Dodaj ten element. Możesz dodać go w dowolnym miejscu w pliku.
spikearrest: timeUnit: minute allow: 10 buffersize: 0 - Dodaj
spikearrestdo elementuedgemicro:sequence, jak pokazano poniżej. Właściwość konfiguracji sekwencji określa kolejność wykonywania modułów wtyczek w Edge Microgateway.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest
- Zapisz plik konfiguracji.
- Załaduj ponownie Edge Microgateway za pomocą polecenia reload. To polecenie musisz uruchomić w katalogu, w którym uruchomiono Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
orgto nazwa Twojej organizacji Edge (musisz być administratorem organizacji).envto środowisko w Twojej organizacji (np. testowe lub produkcyjne).keyto klucz zwrócony wcześniej przez polecenie configure.secretto klucz zwrócony wcześniej przez polecenie configure.
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Spróbuj wywołać interfejs API kilka razy z rzędu. Po drugim wywołaniu Edge Microgateway zwraca ten błąd:
{"message":"SpikeArrest engaged","status":503}
Dzieje się tak, ponieważ ograniczenie skoków wygładza liczbę połączeń, które można wykonać w określonej jednostce czasu. W tym przypadku możesz wykonać 10 połączeń w ciągu minuty, czyli jedno co 6 sekund.
Dodatkowe punkty: dodawanie wtyczki przydziału
Postępując zgodnie z tym samym wzorcem, który został użyty do skonfigurowania ochrony przed nagłymi wzrostami, możesz dodać inne wtyczki, np. wtyczkę limitu. Podobnie jak w przypadku ochrony przed nagłymi wzrostami ruchu wtyczka limitów jest dołączana do każdej instalacji Edge Microgateway. Limit określa liczbę wiadomości z żądaniami, które aplikacja może przesłać do interfejsu API w określonym przedziale czasu (w minutach lub godzinach).
Część 6. Wyświetlanie statystyk w Apigee Edge
Mamy już w pełni działającą instancję Edge Microgateway. Zobaczmy, co się w niej dzieje. Domyślnie moduł wtyczki Analytics jest dodawany do Edge Micro. Ten moduł w sposób niewidoczny dla użytkownika przesyła dane analityczne z Edge Micro do Apigee Edge, gdzie są one wykorzystywane przez system Edge Analytics. Sprawdźmy:
- Zaloguj się w organizacji w Apigee Edge.
- Kliknij Statystyki > Wydajność serwera proxy.
- W panelu Skuteczność serwera proxy wybierz edgemicro_hello proxy.
- Wykres zawiera informacje o wzorcach ruchu serwera proxy, takie jak całkowity ruch, średni czas odpowiedzi, średni docelowy czas odpowiedzi i inne.
Więcej informacji o panelach Edge Analytics znajdziesz na stronie głównej Paneli Analytics w dokumentacji Edge. Więcej informacji o wtyczkach znajdziesz w artykule Korzystanie z wtyczek.