Konfigurowanie Edge Microgateway

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:

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.

Kroki konfiguracji Apigee Edge Cloud

Aby używać Edge Microgateway z Apigee Edge Cloud, wykonaj te czynności:

  1. Zainicjuj Edge Microgateway (wystarczy wykonać ten krok tylko raz):
    edgemicro init
  2. W katalogu głównym w podkatalogu o nazwie .edgemicro został umieszczony plik konfiguracyjny o nazwie default.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.

  3. Wszystkie polecenia interfejsu CLI mają funkcję pomocy. Wyświetl pomoc dotyczącą polecenia edgemicro configure:
    edgemicro configure -h
  4. 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:

  1. Zainicjuj Edge Microgateway (wystarczy wykonać ten krok tylko raz):
    edgemicro init
  2. 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
  3. 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:

    • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • runtime_url to adres URL środowiska wykonawczego instancji chmury prywatnej.
    • mgmt_url – adres URL serwera zarządzania instancji chmury prywatnej.
    • username to adres e-mail powiązany z Twoim kontem Apigee.
    • virtual_host to 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:

  • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
  • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
  • key to klucz zwrócony wcześniej przez polecenie configure.
  • secret to 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ład edgemicro_hello lub edgemicro_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

  1. Zaloguj się w organizacji w Apigee Edge.
  2. W menu nawigacyjnym po lewej stronie wybierz Develop > API Proxies (Programowanie > Serwery proxy interfejsu API).
  3. Kliknij + Serwer proxy. Zostanie uruchomiony kreator tworzenia serwera proxy.
  4. Na pierwszej stronie kreatora wybierz Serwer proxy (najczęstszy).
  5. Kliknij Dalej.
  6. 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/
  7. Kliknij Dalej.
  8. Na stronie Bezpieczeństwo kreatora wybierz Przekazywanie (brak).
  9. Kliknij Dalej.
  10. Na stronie Hosty wirtualne w kreatorze zaakceptuj ustawienia domyślne.
  11. Kliknij Dalej.
  12. Na stronie Tworzenie kreatora sprawdź ustawienia serwera proxy. Sprawdź, czy wybrane jest środowisko testowe.
  13. Kliknij Build and Deploy (Skompiluj i wdróż).

2. Tworzenie usługi API

  1. W menu nawigacyjnym po lewej stronie wybierz Opublikuj > Produkty interfejsu API.
  2. Kliknij + Produkt API.
  3. 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
  4. W sekcji zasobów interfejsu API dodaj utworzony przed chwilą serwer proxy interfejsu API i serwer proxy edgemicro-auth:
    • edgemicro_hello
    • edgemicro-auth
  5. 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:

  1. W menu nawigacyjnym po stronie wybierz Opublikuj > Deweloperzy.
  2. Kliknij + Deweloper.
  3. 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:

  1. W menu nawigacyjnym po lewej stronie wybierz Opublikuj > Aplikacje.
  2. Kliknij + Aplikacja. Wyświetli się strona z informacjami o aplikacji dewelopera.
  3. Wypełnij stronę aplikacji dewelopera w ten sposób:
    1. Nazwa: EdgeMicroTestApp
    2. Wyświetlana nazwa: EdgeMicroTestApp
    3. Deweloper: jeśli masz utworzonego dewelopera testowego, wybierz go. Możesz też użyć dowolnego dewelopera, który już istnieje.
    4. Dane logowania:
      1. Wybierz Datę wygaśnięcia: Nigdy.
      2. Kliknij + Produkt i wybierz EdgeMicroTestProduct (utworzony przed chwilą produkt).
  4. Kliknij Zapisz.
  5. Wrócisz na stronę z listą aplikacji.
  6. Wybierz utworzoną aplikację EdgeMicroTestApp.
  7. 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.

  1. 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
  2. (Opcjonalnie) Wydrukuj informacje pomocy dotyczące polecenia edgemicro start.
    edgemicro start -h
  3. 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ć administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • key to klucz zwrócony wcześniej przez polecenie configure.
    • secret to 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
  4. 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

  1. W osobnym oknie terminala cd do tego samego katalogu, w którym uruchomiono Edge Microgateway.
  2. 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

Jeśli chcesz uwierzytelniać wywołania interfejsu API za pomocą tokena dostępu OAuth2, wykonaj te czynności:

1. Uzyskiwanie wymaganych kluczy

  1. W interfejsie Edge UI otwórz utworzoną wcześniej aplikację dewelopera. Nazwa aplikacji to EdgeMicroTestApp.
  2. 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.

  1. (Opcjonalnie) Wyświetl pomoc dotyczącą polecenia token get:
    edgemicro token get -h
  2. 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-s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Gdzie:

    • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • consumer_id to identyfikator konsumenta w aplikacji dewelopera utworzonej wcześniej.
    • consumer_secret to 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:

  • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
  • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
  • client_id to identyfikator konsumenta w utworzonej wcześniej aplikacji dewelopera.
  • client_secret to 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

  1. 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.
  2. 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
  3. W pliku org-env-config.yaml upewnij się też, że wtyczka oauth jest dodana do elementu plugins:sequence, tak jak w tym przykładzie:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. 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:

    • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • key to klucz zwrócony wcześniej przez polecenie configure.
    • secret to 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

  1. W interfejsie Edge UI otwórz utworzoną wcześniej aplikację dewelopera. Nazwa aplikacji to EdgeMicroTestApp.
  2. 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

  1. 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.
  2. 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
  3. W pliku org-env-config.yaml upewnij się też, że wtyczka oauth jest dodana do elementu plugins:sequence, tak jak w tym przykładzie:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. 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:

    • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • key to klucz zwrócony wcześniej przez polecenie configure.
    • secret to 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:

  • apikey to 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.

  1. Jeśli nie możesz znaleźć tego pliku, otwórz plik $HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed.
  2. Dodaj ten element. Możesz dodać go w dowolnym miejscu w pliku.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Dodaj spikearrest do elementu edgemicro: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
  4. Zapisz plik konfiguracji.
  5. 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:

    • org to nazwa Twojej organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • key to klucz zwrócony wcześniej przez polecenie configure.
    • secret to klucz zwrócony wcześniej przez polecenie configure.

    Przykład

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. 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:

  1. Zaloguj się w organizacji w Apigee Edge.
  2. Kliknij Statystyki > Wydajność serwera proxy.
  3. W panelu Skuteczność serwera proxy wybierz edgemicro_hello proxy.
  4. 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.