Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Edge Microgateway wer. 3.0.x
Omówienie
Po wykonaniu czynności opisanych w tym przewodniku po konfiguracji będziesz mieć w pełni skonfigurowaną, działającą przeglądarkę Edge Instalacja mikrogateway, która może przetwarzać żądania do interfejsu API. Konfigurację przetestujesz, wykonując bezpiecznych wywołań interfejsu API przy użyciu Edge Microgateway do miejsca docelowego backendu. Dowiesz się też, jak dodać wtyczki do zatrzymania szczytu do Microgateway.
Przewodnik składa się z tych części:
- Warunek wstępny: Instalowanie Edge Mikrobrama
- Część 1. Skonfiguruj Edge Microgateway
- Część 2. Tworzenie encji w Apigee Edge
- Część 3. Operate Edge Mikrobrama
- Część 4. Mikrobrama Secure Edge
- 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 podanymi w artykule Instalowanie Edge Microgateway. Po ukończeniu instalacji możesz wykonać czynności opisane w tym aplikacji Google Web Designer.
Część 1. Skonfiguruj Edge Mikrobrama
W tej części użyjesz polecenia interfejsu wiersza poleceń, aby skonfigurować Edge Microgateway do komunikują się z Apigee Edge.
- Jeśli korzystasz z Apigee Edge Cloud, postępuj zgodnie z instrukcjami Apigee Edge czynności konfiguracji Cloud.
- Jeśli korzystasz z Apigee Private Cloud, postępuj zgodnie z instrukcjami Apigee Edge Instrukcje dotyczące Private Cloud.
Etapy konfiguracji Apigee Edge Cloud
Wykonaj te czynności, aby używać Edge Microgateway z Apigee Edge Cloud:
- Zainicjuj Edge Microgateway (ten krok wystarczy wykonać tylko raz):
edgemicro init
- Plik konfiguracyjny o nazwie
default.yaml
został umieszczony w Twoim domu w podkatalogu.edgemicro
. Sprawdź teraz, aby upewnić się, że ten plik istnieje:ls ~/.edgemicro default.yaml
Uwaga: w dokumentacji Edge Microgateway odnosimy się do katalogu domowego tyldą (
~
), która jest skrótem w systemie UNIX. W systemie Windows po uruchomieniu powłoki, która nie obsługuje tyldy, zastąp odpowiedni argument zmienną środowiskową dla tyldy w poleceniach odwołujących się do katalogu głównego. Dla: przykład:%USERPROFILE%/.edgemicro
. - Wszystkie polecenia interfejsu wiersza poleceń mają funkcję pomocy. Pomoc do drukowania dla Edmicro
konfiguracja:
edgemicro configure -h
- Uruchom to polecenie, aby skonfigurować Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
Gdzie:
org:
Nazwa organizacji Edge (musisz być organizacją) administratora).env:
Środowisko w organizacji (takie jak środowisko testowe lub produkcja).username:
Adres e-mail powiązany z kontem Konto Apigee.
Uwaga: polecenie „config” umożliwia stosowanie dodatkowych parametrów. Pełną listę zapoznaj się z informacjami o konfigurowaniu Edge Microgateway na potrzeby Apigee Edge Cloud (w języku angielskim).
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.0.2 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
Etapy konfiguracji Apigee Private Cloud
Wykonaj te czynności, aby używać Edge Microgateway z Apigee Private Cloud:
- Zainicjuj Edge Microgateway (ten krok wystarczy wykonać tylko raz):
edgemicro init
- Wydrukuj pomoc dotyczącą polecenia edgemicro private setup. Ty
umożliwia drukowanie w ten sposób każdego polecenia interfejsu wiersza poleceń lub opcji poleceń Edge Microgateway.
edgemicro private configure -h
- Wykonaj poniższe polecenie. Wymaga standardowych informacji o Apigee Edge
Konto Private Cloud: nazwa organizacji, nazwa środowiska, nazwa użytkownika (adres e-mail), hasło,
adresu IP serwera zarządzania
i adresu IP routera. Aby korzystać z tej funkcji, musisz być administratorem organizacji Edge
polecenie:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. testowe lub produkcja).runtime_url
to adres URL środowiska wykonawczego Twojej chmury prywatnej instancji.mgmt_url
to adres URL serwera zarządzania instancji chmury prywatnej.username
to adres e-mail powiązany z Apigee koncie.-
virtual_host
to rozdzielana przecinkami lista hostów wirtualnych nazw. Wartości domyślne todefault,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
lub, jeśli masz alias hosta wirtualnego myorg-test.mycompany.com
, użyj
polecenie podobne do tego:
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
Uruchom to polecenie, aby sprawdzić instalację. Jeśli nie zostaną zgłoszone żadne błędy, wszystko jest skonfigurowane i będzie można uruchomić Edge Microgateway.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).key
to klucz zwrócony wcześniej przez konfigurację .secret
to klucz zwrócony wcześniej przez konfigurację .
Przykład
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
Informacje o konfiguracji
Cała wykonana do tej pory konfiguracja umożliwia Edge Microgateway możliwość wczytywania się do Apigee Edge. Gdy wczytywanie się powiedzie, Edge Microgateway pobierze ładunek obejmujący dodatkowe z Apigee Edge.
Do czego wykorzystywane są te informacje o konfiguracji? Odkryjemy w następnej części tego samouczek, gdy uruchamia się Edge Microgateway, musi otrzymać listę specjalnych Serwery proxy interfejsu API Apigee zgodne z Microgateway z Apigee Edge. W następnej części tego samouczka: aby utworzyć serwer proxy rozpoznający oprogramowanie Microgateway. Edge Microgateway ogranicza klientom możliwość wywoływania wyłącznie interfejsów API przez te serwery proxy API zgodne ze standardem Microgateway, a klienty będą (domyślnie) wymagane przedstawia prawidłowy token bezpieczeństwa przy każdym wywołaniu. Aby dowiedzieć się więcej o tych serwerach proxy, zapoznaj się z sekcją „Co co musisz wiedzieć o serwerach proxy identyfikujących Edge Microgateway w Przeglądzie Edge Microgateway.
Administrator organizacji Edge powinien wiedzieć, że serwery proxy wykrywające Edge Microgateway dodano do usług Edge tak samo jak inne serwery proxy. Za pomocą usług i deweloperów aplikacji, można generować tokeny bezpieczeństwa dla danego klienta, aby kontrolować dostęp do interfejsów API wywoływanych przez Edge Microgateway. Użyte wzorce są identyczne jak w przypadku pracy z dowolnymi serwerami proxy interfejsów API. usług i aplikacji deweloperskich w Apigee Edge. Jeśli chcesz poczytać o produktach, zacznij od Czym jest usługa API? w Edge dokumentacji.
W następnym kroku omówimy, jak utworzyć serwery proxy wykrywające serwer Edge Microgateway, a następnie Uruchom Edge Microgateway i przetestuj konfigurację.
Część 2. Tworzenie elementów w Apigee Edge
W tej części utworzysz te elementy w Edge:
- Za
Serwer proxy wykrywający porty mikrobramowe – to specjalny serwer proxy, który może wykryć Edge Microgateway.
podczas uruchamiania. Serwery proxy rozpoznające mikrobramę muszą stosować określoną konwencję nazewnictwa: nazwa
musi być elementem
edgemicro_
. Przykład:edgemicro_hello
lubedgemicro_userinfo
Gdy uruchamia się Edge Microgateway, pobiera dane z Edge z listy serwerów proxy znanych z mikrobram z tej samej organizacji i środowiska Edge określony podczas uruchamiania Edge Microgateway.
Dla każdego serwera proxy identyfikującego bramy mikrobramowe Edge Microgatway pobiera docelowy adres URL serwera proxy i swojej ścieżki podstawowej. Serwery proxy rozpoznające mikrobramy również stanowią wygodny sposób na powiązanie danych analitycznych wygenerowane przez Edge Microgateway za pomocą serwera proxy na platformie Edge. Microgateway, obsługuje wywołania interfejsu API, asynchronicznie przekazuje dane analityczne do Edge. Pojawią się dane analityczne. w interfejsie Edge Analytics pod nazwami serwerów proxy rozpoznających mikrobramy, tak jak w przypadku innych serwera proxy.
- Aplikacja dla programistów i deweloperów – Edge Microgateway używa usług, deweloperów i deweloperów aplikacji, aby włączyć zabezpieczenia tokena dostępu OAuth2 lub klucza interfejsu API. Gdy Edge Microgateway, pobiera wszystkie konfiguracje usługi z Apigee Edge Twojej organizacji. 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. Utwórz serwer proxy interfejsu API Edge Microgateway w Edge
- Zaloguj się w organizacji w Apigee Edge.
- Kliknij Programowanie > Proxy interfejsów API w bocznym menu nawigacyjnym.
- Kliknij + Serwer proxy. Zostanie wywołany kreator kompilacji serwera proxy.
- Na pierwszej stronie kreatora wybierz Odwrotny serwer proxy (najczęstszy).
- Kliknij Dalej.
- Na stronie Szczegóły w kreatorze skonfiguruj ustawienia w następujący sposób. Pamiętaj, aby wypełnić kreatora
dokładnie w takiej formie:
- Nazwa serwera proxy: edgemicro_hello
- Ścieżka podstawowa serwera proxy: /hello
- Istniejący interfejs API: http://mocktarget.apigee.net/
- Kliknij Dalej.
- Na stronie Zabezpieczenia w kreatorze wybierz Przekaż (brak).
- Kliknij Dalej.
- Na stronie Hosty wirtualne w kreatorze zaakceptuj wartości domyślne.
- Kliknij Dalej.
- Na stronie Build w kreatorze sprawdź ustawienia serwera proxy. Upewnij się, że parametr wybrano środowisko testowe.
- Kliknij Build and Deploy (Utwórz i wdróż).
2. Tworzenie produktu
- Kliknij Opublikuj > Usługi API w bocznym menu nawigacyjnym.
- Kliknij + Usługa API. Pojawi się strona Szczegóły produktu.
- Wypełnij stronę z informacjami o produkcie w następujący sposób:
- Nazwa: EdgeMicroTestProduct
- Wyświetlana nazwa: EdgeMicroTestProduct
- Środowisko: testowe i produkcyjne
- Dostęp: publiczny
- Typ zatwierdzenia klucza: automatycznie
- W sekcji Zasoby kliknij + Serwer proxy interfejsu API.
- Wybierz edgemicro-auth
- Ponownie kliknij +Serwer proxy interfejsu API.
- Wybierz edgemicro_hello.
- Wybierz + Zasób niestandardowy.
- Wpisz /**.
- Ponownie kliknij + Zasób niestandardowy.
- Wpisz /
- Kliknij Zapisz.
3. (Opcjonalnie) Utwórz programista testów
Na potrzeby tego samouczka w następnym kroku możesz użyć dotychczasowego programisty, tworząc aplikację dewelopera. Jeśli chcesz, możesz teraz utworzyć programistę testów:
- Kliknij Opublikuj > Programistów w bocznym menu nawigacyjnym.
- Kliknij + Deweloper.
- Wypełnij informacje w oknie, by utworzyć programistę testów.
4. Tworzenie aplikacji dewelopera
Będziesz używać danych logowania klienta z tej aplikacji do bezpiecznych wywołań interfejsu API Mikrobrama Edge:
- Kliknij Opublikuj > Aplikacje w bocznym menu nawigacyjnym.
- Kliknij + Aplikacja. Pojawi się strona Szczegóły aplikacji dewelopera.
- Wypełnij te pola na stronie dewelopera aplikacji:
- Nazwa: EdgeMicroTestApp
- Wyświetlana nazwa: EdgeMicroTestApp
- Programista: jeśli został przez Ciebie utworzony deweloper testów, wybierz go. Możesz też użyć z dotychczasowego programisty na potrzeby tego samouczka.
-
Dane logowania:
- Wybierz Wygaśnięcie: Nigdy.
- Kliknij + Produkt i wybierz EdgeMicroTestProduct. (nowo utworzony produkt)
- Kliknij Zapisz.
- Jesteś z powrotem na stronie z listą aplikacji.
- Wybierz utworzoną przed chwilą aplikację: EdgeMicroTestApp.
- Kliknij Pokaż obok pozycji Klucz klienta i Klient Tajne.
Część 3. Obsługa mikrobramy Edge
Masz już skonfigurowaną bramę Edge Microgateway i co najmniej 1 obsługę Edge Microgateway. na Edge, czas uruchomić Edge Microgateway. Uruchomi się serwer HTTP Edge Microgateway na swoim komputerze lokalnym, co spowoduje wysyłanie wywołań interfejsu API bezpośrednio do tego serwera.
1. Uruchom Edge Microgateway
Uruchom Edge przy użyciu polecenia edgemicro start. Mikrobrama.
- Upewnij się, że masz klucze, które zostały zwrócone wcześniej podczas uruchamiania platformy edgemicro
konfiguracja. 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 pomoc dotyczącą polecenia
edgemicro start
.
edgemicro start -h
- Aby uruchomić Edge Microgateway, wykonaj to polecenie:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).key
to klucz zwrócony wcześniej przez konfigurację .secret
to klucz zwrócony wcześniej przez konfigurację .
Przykład
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
Dane wyjściowe
Polecenie start pobiera wiele informacji o konfiguracji z Apigee Edge (które przewija się do okna terminala). W danych wyjściowych pojawi się lista elementów wykrywających ruch przez bramkę serwerów proxy i usług. Na końcu danych wyjściowych powinno pojawić się coś podobny do tego:
... current nodejs version is v12.5.0 current edgemicro version is 3.0.2 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 mikrobramki. W innym oknie terminala wpisz cd 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.0.2 edgemicro is running with 8 workers
Co się stało?
Ładunek Edge Informacje o konfiguracji Microgateway są pobierane z Apigee Edge i buforowane lokalnie. Są to między innymi:
- klucz publiczny, który utworzyliśmy i zapisaliśmy wcześniej w zaszyfrowanej mapie klucz-wartość (KVM).
- Reprezentacja wszystkich serwerów proxy znanych z Edge Microgateway, które istnieją w organizacji/środowiska. To są wszystkie serwery proxy, które mają nazwy z prefiksem edgemicro_:
- Reprezentacja wszystkich usług API, które istnieją w organizacji/środowiska.
Dzięki tym informacjom Edge Microgateway wie, które serwery proxy i ścieżki proxy mogą proces tworzenia konta. Wykorzystuje informacje o usłudze, aby egzekwować bezpieczeństwo (dokładnie tak samo jak w przypadku każdego interfejsu API) w Apigee Edge, gdzie klucze aplikacji deweloperów mają powiązanie z usługami). Jedziemy już wkrótce – wykonaj te czynności, aby zabezpieczyć Edge Microgateway.
2. Testowanie mikrobramy Edge
Gdy działa Edge Microgateway, możesz wywoływać serwer proxy. Konfiguracja dla Serwer proxy edgemicro_hello został pobrany z Edge podczas uruchamiania Edge Mikrobrama. Pamiętaj, że ścieżka bazowa serwera proxy to /hello.
Aby przetestować Edge Microgateway, zaczniemy od ścieżki podstawowej i dodamy ścieżkę zasobu /echo. Pamiętaj, że wszystko po ścieżce podstawowej (w tym wszystkie parametry zapytania) jest po prostu przekazywana do miejsca docelowego backendu:
curl -i http://localhost:8000/hello/echo {"error":"missing_authorization","error_description":"Missing Authorization header"}
Ten błąd występuje, ponieważ wraz z żądaniem nie został wysłany prawidłowy klucz interfejsu API lub token dostępu. Według domyślnie Edge Microgateway wymaga klucza interfejsu API lub tokena dostępu przy każdym wywołaniu interfejsu API. W w następnym kroku samouczka, prawidłowo zabezpieczymy ten interfejs API i pokażemy, jak uzyskać prawidłową token dostępu i umieścić go w żądaniu.
4. Zatrzymaj Edge Microgateway
- W osobnym oknie terminala
cd
do tego samego katalogu, gdzie: uruchomiono Edge Microgateway. - Wpisz polecenie zatrzymania:
edgemicro stop
Część 4. Zabezpieczona krawędź Mikrobrama
Możesz zabezpieczać wywołania interfejsu API wykonywane za pomocą Edge Microgateway za pomocą klucza interfejsu API lub dostępu token.
- Bezpieczne wywołania interfejsu API za pomocą tokena dostępu OAuth2
- Bezpieczne wywołania interfejsu API za pomocą klucza interfejsu API
Bezpieczne wywołania 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. Uzyskaj wymagane klucze
- W interfejsie Edge przejdź do utworzonej wcześniej aplikacji dla programistów. Nazwa aplikacji było EdgeMicroTestApp.
- Na stronie aplikacji dla programistów wyświetl klucz klienta i tajny klucz klienta, a następnie je skopiuj. Te wartości są wymagane do uzyskania tokena dostępu w następnym kroku.
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 wykorzystana w całym artykule z samouczka. Druga metoda jest ogólnie bardziej przydatna w przypadku aplikacji klienckich. którzy chcą żądać tokenów. Rzeczywisty punkt końcowy tokena jest zaimplementowany Serwer proxy edgemicro-auth został wdrożony podczas konfigurowania Edge Mikrobrama.
- (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 sekcji
aplikacja deweloperska utworzona w Apigee Edge w punktach -i i -s,
parametry:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).consumer_id
to identyfikator klienta w aplikacji dewelopera, utworzone wcześniej.consumer_secret
to tajny klucz klienta w środowisku programisty Aplikacja utworzona wcześniej.
Przykład
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Dane wyjściowe (próbka)
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 przy użyciu interfejsu API
Jeśli wolisz wywoływać serwery proxy Edge za pomocą curl lub innego klienta HTTP, może Cię zainteresować że punkt końcowy tokena można wywołać bezpośrednio, zamiast korzystać z metody edgemicro token. Oto przykład curl. Wystarczy zastąpić nazwy organizacji i środowiska w argumencie adresu URL i przekazać rozdzielane dwukropkiem wartości klucza klienta:tajny klucz klienta w zapytaniu podstawowym Nagłówek uwierzytelniania:
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:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).client_id
to identyfikator klienta w utworzonej przez Ciebie aplikacji dewelopera wcześniej.client_secret
to tajny klucz klienta w aplikacji dla programistów, utworzone wcześniej.
Dane wyjściowe (przykład)
Polecenie zarówno za pomocą polecenia interfejsu wiersza poleceń edgemicro token, jak i wywołanego – punkt końcowy używający curl zwraca podpisany token dostępu, którego można używać do 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. Sprawdź konfigurację w Edge Microgateway
- Otwórz plik
$HOME/.edgemicro/org-env-config.yaml
. Zobacz Gdzie jest zainstalowana Edge Microgateway, jeśli nie możesz znaleźć tego pliku. - Upewnij się, że te właściwości wtyczki oauth mają wartość false. Są fałszywe,
, ale warto też sprawdzić jeszcze raz:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Poza tym w pliku
org-env-config.yaml
upewnij się, że wtyczka oauth jest dodano do elementuplugins:sequence
w ten sposób:plugins: dir: ../plugins sequence: - oauth
- Jeśli wprowadzisz zmiany w pliku, załaduj je ponownie do bieżącego
Instancja Edge Microgateway. To polecenie ponownie konfiguruje Edge Microgateway z zerowym czasem przestoju:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).key
to klucz zwrócony wcześniej przez konfigurację .secret
to klucz zwrócony wcześniej przez konfigurację .
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. Bezpieczne wywoływanie interfejsu API
Mając token dostępu, możesz teraz bezpiecznie wywoływać 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 przykładowego.
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 przejdź do utworzonej wcześniej aplikacji dla programistów. Nazwa aplikacji było EdgeMicroTestApp.
- Na stronie aplikacji związanej z deweloperem pokaż klucz klienta i skopiuj go. Ta wartość to interfejs API Tego klucza będziesz używać do uwierzytelnionych wywołań interfejsu API.
2. Sprawdź konfigurację w Edge Microgateway
- Otwórz plik
$HOME/.edgemicro/org-env-config.yaml.
Zobacz Gdzie jest zainstalowana Edge Microgateway, jeśli nie możesz znaleźć tego pliku. - Upewnij się, że te właściwości wtyczki oauth mają wartość false. Są fałszywe,
Domyślne, ale jeśli chcesz, możesz je jeszcze sprawdzić:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Poza tym w pliku
org-env-config.yaml
upewnij się, że wtyczka oauth jest dodano do elementuplugins:sequence
w ten sposób:plugins: dir: ../plugins sequence: - oauth
- Jeśli wprowadzisz zmiany w pliku, załaduj je ponownie do bieżącego
Instancja Edge Microgateway. To polecenie ponownie konfiguruje Edge Microgateway z zerowym czasem przestoju:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być organizacją) administratora).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).key
to klucz zwrócony wcześniej przez konfigurację .secret
to klucz zwrócony wcześniej przez konfigurację .
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
3. Bezpieczne wywoływanie interfejsu API za pomocą klucza interfejsu API
Wywołaj ten interfejs API, używając nagłówka x-api-key w podany niżej sposób. Wartość klucza klienta, skopiowany z aplikacji jest kluczem interfejsu API. Domyślnie Edge Microgateway oczekuje, że klucz w nagłówku o nazwie x-api-key, na przykład:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
Gdzie:
apikey
to wartość klucza klienta pobrana z EdgeMicroTestApp.
Na przykład:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'
Masz teraz w pełni działającą i bezpieczną usługę Edge Microgateway. W następnej części przyjrzymy się wtyczkom, które dodają funkcje do Edge Microgateway.
Część 5. Dodawanie zatrzymania wtyczka
W tej części dodamy do instancji Edge funkcję ograniczenia liczby żądań o nazwie „nagłe zatrzymanie” Mikrobrama.
Co to są wtyczki?
Wtyczka to moduł Node.js, który zapewnia dodatkowe funkcje do Edge Microgateway. Moduły wtyczek są zgodne ze spójnym wzorcem i przechowywane w lokalizacji znanej Edge Microgateway, co umożliwia do ich automatycznego wykrywania i wczytywania. Więcej informacji o wtyczkach znajdziesz w Korzystanie z wtyczek.
Dodanie wtyczki do zatrzymania szczytu
Skok wtyczka do aresztowania, która chroni przed nagłymi wzrostami natężenia ruchu. Ogranicza liczbę przetworzonych żądań przy użyciu instancji Edge Microgateway.
W Edge Microgateway zatrzymanie nagłego zdarzenia jest zaimplementowane jako moduł wtyczki. Aby włączyć tę funkcję, aby dodać ją do pliku konfiguracji Edge Microgateway.
- Otwórz plik
$HOME/.edgemicro/org-env-config.yaml.
Gdzie jest zainstalowana Edge Microgateway, jeśli nie możesz znaleźć tego pliku. - Dodaj ten element. Możesz je dodać w dowolnym miejscu pliku.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- Dodaj
spikearrest
do elementuedgemicro:sequence
, jak pokazano na ilustracji poniżej. Właściwość konfiguracji sekwencji informuje Edge Microgateway o kolejności, w której są wykonywane moduły wtyczki.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 konfiguracyjny.
- Załaduj ponownie Edge Microgateway za pomocą polecenia reload. Należy uruchomić kampanię
to polecenie z katalogu, w którym uruchomiono Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Gdzie:
org
to nazwa Twojej organizacji Edge (musisz być administratora organizacji).env
to środowisko w Twojej organizacji (np. środowisko testowe lub produkcja).key
to klucz zwrócony wcześniej przez konfigurację .secret
to klucz zwrócony wcześniej przez .
Przykład
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Spróbuj wywołać interfejs API kilka razy w krótkich odstępach czasu. Po 2 rozmowie, Edge
Microgateway zwraca ten błąd:
{"message":"SpikeArrest engaged","status":503}
Dzieje się tak, ponieważ nagłe aresztowanie zmniejsza liczbę połączeń, które można wykonać w określonej jednostce czasu. W tym przypadku można więc wykonać 10 połączeń w ciągu minuty, czyli jedno co sześć. sek.
Dodatkowy zasługa: dodanie wtyczka do limitów
Kierując się tym samym wzorcem, który był używany przy konfigurowaniu zatrzymania skutków nagłych wzrostów napięcia, możesz dodać inne wtyczki, takie jak wtyczki quota. Podobnie jak w przypadku zatrzymania nagłego zwiększenia limitu, wtyczka limitu jest dołączana do każdej instalacji Edge Microgateway. O limit określa liczbę komunikatów z żądaniami, które aplikacja może przesłać do interfejsu API w ciągu w określonym przedziale czasu (minuty lub godziny).
Część 6. Wyświetlanie analizy w Apigee Edge
Mamy teraz w pełni działającą instancję Edge Microgateway, zobaczmy, co się u nich dzieje. Domyślnie moduł wtyczki analitycznej jest dodawany do Edge Micro. Ten moduł dyskretnie wypycha dane analityczne od Edge Micro do Apigee Edge, gdzie są one przetwarzane przez system Edge Analytics. Zobaczmy:
- Zaloguj się w organizacji w Apigee Edge.
- Wybierz Analytics > Proxy Performance (Wydajność serwera proxy).
- W panelu wydajności 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 itp.
Więcej informacji o panelach analizy brzegowej znajdziesz na stronie głównej paneli Analytics w Dokumentacja Edge. Więcej informacji o wtyczkach znajdziesz w artykule Korzystanie z wtyczek.