Konfigurowanie Edge Microgateway

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

Edge Microgateway wersja 3.2.x

Opis

Po wykonaniu kroków opisanych w tym przewodniku konfiguracji otrzymasz w pełni skonfigurowaną, działającą instalację Edge Microgateway, która będzie mogła przetwarzać żądania do interfejsu API. Sprawdzisz konfigurację, wykonując bezpieczne wywołania interfejsu API do celu backendu za pomocą Edge Microgateway. Dowiesz się też, jak dodać do Microgateway wtyczkę do tymczasowego przechowywania danych.

Przewodnik składa się z tych części:

Warunek wstępny: zainstaluj Edge Microgateway

Postępuj zgodnie z instrukcjami zawartymi w artykule Instalowanie Edge Microgateway. Po ukończeniu instalacji możesz wykonać czynności opisane w tym samouczku.

Część 1. Skonfiguruj Microgateway Edge

W tej części użyjesz polecenia interfejsu wiersza poleceń, aby skonfigurować Edge Microgateway pod kątem 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 (ten krok wystarczy wykonać tylko raz):
    edgemicro init
    
  2. Plik konfiguracyjny default.yaml został umieszczony w katalogu głównym w podkatalogu o nazwie .edgemicro. Sprawdź teraz, czy ten plik istnieje:
    ls ~/.edgemicro
    default.yaml
    

    Uwaga: w dokumentacji Edge Microgateway odwołuje się do katalogu głównego oznaczonego tyldą (~), która jest skrótem UNIX. Jeśli używasz systemu Windows, a uruchamiasz powłokę, która nie obsługuje tyldy, w poleceniach odwołujących się do katalogu głównego musisz zastąpić odpowiednią zmienną środowiskową dla tyldy. Na przykład: %USERPROFILE%/.edgemicro.

  3. Wszystkie polecenia interfejsu wiersza poleceń mają funkcję pomocy. Wydrukuj pomoc dotyczącą polecenia edgemicroconfigure:
    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 konfiguracji pozwala na użycie dodatkowych parametrów. Pełną listę znajdziesz w artykule o konfigurowaniu Edge Microgateway dla Apigee Edge Cloud.

Przykład

edgemicro configure -o docs -e test -u jdoe@example.com

Wyjście

./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, wykonaj te czynności:

  1. Zainicjuj Edge Microgateway (ten krok wystarczy wykonać tylko raz):
    edgemicro init
    
  2. Drukuj informacje o pomocy dotyczącej polecenia edgemicro private configure. W ten sposób możesz drukować dla dowolnego polecenia interfejsu wiersza poleceń lub opcji interfejsu Edge Microgateway.
    edgemicro private configure -h
    
  3. Wykonaj poniższe polecenie. Wymaga on standardowych informacji o Twoim koncie Private Cloud w Apigee Edge: nazwa organizacji, nazwa środowiska, nazwa użytkownika (adres e-mail), hasło, adres IP serwera zarządzania i adres 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 organizacji Edge (musisz być jej administratorem).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • runtime_url to adres URL środowiska wykonawczego Twojej instancji chmury prywatnej.
    • mgmt_url to adres URL serwera zarządzania instancji chmury prywatnej.
    • username to adres e-mail powiązany z Twoim kontem Apigee.
    • virtual_host to rozdzielana przecinkami lista nazw hostów wirtualnych. 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

lub jeśli masz alias hosta wirtualnego myorg-test.mycompany.com, użyj tego polecenia:

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

Wyjście

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!
    

Zweryfikuj instalację

Uruchom to polecenie, aby sprawdzić poprawność instalacji. Jeśli nie zostaną zgłoszone żadne błędy, wszystko jest skonfigurowane poprawnie i możesz uruchomić Edge Microgateway.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Gdzie:

  • org to nazwa 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 konfiguracji.
  • secret to klucz zwrócony wcześniej przez polecenie konfiguracji.

Przykład

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Informacje o konfiguracji

Cała dotychczasowa konfiguracja umożliwia Edge Microgateway wczytanie się do Apigee Edge. Po zakończeniu wczytywania Edge Microgateway pobiera ładunek z dodatkowymi informacjami o konfiguracji z Apigee Edge.

Do czego służą te informacje o konfiguracji? W następnej części tego samouczka dowiesz się, że po uruchomieniu Edge Microgateway musi otrzymać listę specjalnych serwerów proxy interfejsu Edge Microgateway API z Apigee Edge. W następnej części tego samouczka utworzysz serwer proxy rozpoznawany przez Microgateway. Edge Microgateway ogranicza klienty do wywoływania tylko interfejsów API, z których korzystają te serwery proxy interfejsów API korzystających z mikrobramy. Klienty będą (domyślnie wymagane) do przedstawienia prawidłowego tokena zabezpieczeń przy każdym wywołaniu. Więcej informacji o tych serwerach proxy znajdziesz w sekcji Co trzeba wiedzieć o serwerach proxy obsługujących Edge Microgateway w artykule Omówienie Edge Microgateway.

Jako administrator organizacji Edge możesz chcieć wiedzieć, że serwery proxy obsługujące Edge Microgateway można dodawać do usług Edge tak jak dowolne inne serwery proxy. Za pomocą usług i aplikacji programisty możesz generować tokeny zabezpieczeń dla konkretnego klienta, aby kontrolować dostęp do interfejsów API wywoływanych przez Edge Microgateway. Tego typu wzorce są takie same jak w przypadku pracy z serwerami proxy, usługami i aplikacjami deweloperskimi interfejsu API w Apigee Edge. Jeśli chcesz dowiedzieć się więcej o usługach, zacznij od przeczytania sekcji Co to jest usługa API? w dokumentacji Edge.

Teraz pokażemy, jak tworzyć serwery proxy obsługujące Edge Microgateway, a później uruchomimy Edge Microgateway i przetestujemy konfigurację.

Część 2. Tworzenie encji w Apigee Edge

W tej części utworzysz te elementy w Edge:

  • Serwer proxy identyfikujący mikrobramę – to specjalny serwer proxy, który Edge Microgateway może wykryć podczas uruchamiania. Serwery proxy rozpoznające mikrobramy mają konwencję nazewnictwa, której należy przestrzegać: nazwa musi zawierać nazwę edgemicro_. Na przykład edgemicro_hello lub edgemicro_userinfo. Po uruchomieniu Edge Microgateway pobiera z Edge listę serwerów proxy rozpoznających mikrobramy z tej samej organizacji i środowiska Edge, które zostały określone podczas uruchamiania Edge Microgateway.

    Dla każdego serwera proxy rozpoznającego mikrobradę Edge Microgatway pobiera docelowy adres URL serwera proxy i jego ścieżkę podstawową. Serwery proxy działające przy użyciu mikrobram to również wygodny sposób na powiązanie danych analitycznych wygenerowanych przez Edge Microgateway z serwerem proxy na platformie Edge. Microgateway obsługuje wywołania interfejsu API, dlatego asynchronicznie przekazuje dane analityczne do Edge. Dane Analytics będą wyświetlane w interfejsie użytkownika Edge Analytics pod nazwami serwerów proxy rozpoznających mikrobramy, podobnie jak w przypadku każdego innego serwera proxy.
  • Aplikacja, deweloper lub aplikacja – Edge Microgateway korzysta z usług, programistów i aplikacji programisty, aby włączyć token dostępu OAuth2 lub zabezpieczenia klucza interfejsu API. Po uruchomieniu Edge Microgateway pobiera wszystkie konfiguracje usług z organizacji Apigee Edge. Wykorzystuje te informacje do weryfikowania wywołań interfejsu API wykonywanych przez Edge Microgateway z użyciem kluczy interfejsu API lub tokenów dostępu OAuth2.

1. Tworzenie serwera proxy interfejsu Edge Microgateway API w Edge

  1. Zaloguj się w swojej organizacji w Apigee Edge.
  2. W bocznym menu nawigacyjnym wybierz Programowanie > Proxies API.
  3. Kliknij + Serwer proxy. Zostanie uruchomiony kreator kompilacji serwera proxy.
  4. Na pierwszej stronie kreatora wybierz Odwrotny serwer proxy (najczęstszy).
  5. Kliknij Dalej.
  6. Na stronie Szczegóły kreatora wykonaj następujące czynności: Wypełnij pola dokładnie w przedstawionej formie:
    • Nazwa serwera proxy: edgemicro_hello
    • Ścieżka podstawowa serwera proxy: /hello
    • Dotychczasowy interfejs API: http://mocktarget.apigee.net/
  7. Kliknij Dalej.
  8. Na stronie Zabezpieczenia kreatora wybierz Przekazywany (brak).
  9. Kliknij Dalej.
  10. Na stronie Hosty wirtualne w kreatorze zaakceptuj wartości domyślne.
  11. Kliknij Dalej.
  12. Na stronie kompilacji w kreatorze sprawdź ustawienia serwera proxy. Wybierz środowisko testowe.
  13. Kliknij Skompiluj i wdróż.

2. Utwórz produkt

  1. W bocznym menu nawigacyjnym wybierz Opublikuj > Usługi API.
  2. Kliknij + Usługa API. Pojawi się strona Szczegóły produktu.
  3. Wypełnij stronę Szczegóły produktu w następujący sposób:
    • Nazwa: EdgeMicroTestProduct
    • Wyświetlana nazwa: EdgeMicroTestProduct
    • Środowisko: testowanie i produkcja
    • Dostęp: publiczny
    • Typ zatwierdzenia: Automatycznie
  4. W sekcji Zasoby kliknij + Serwer proxy interfejsu API.
  5. Wybierz edgemicro-auth.
  6. Ponownie kliknij +Serwer proxy interfejsu API.
  7. Wybierz edgemicro_hello.
  8. Wybierz + Zasób niestandardowy.
  9. Wpisz /**
  10. Ponownie wybierz + Zasób niestandardowy.
  11. Wpisz /.
  12. Kliknij Zapisz.

3. (Opcjonalnie) Utwórz programistę testów

W tym samouczku w następnym kroku możesz skorzystać z usług dowolnego istniejącego dewelopera, którym utworzysz aplikację dewelopera. Jeśli jednak chcesz, możesz teraz utworzyć programistę testową:

  1. W bocznym menu nawigacyjnym wybierz Opublikuj > Programiści.
  2. Kliknij + Deweloper.
  3. Wypełnij okno, aby utworzyć dewelopera do testów.

4. Tworzenie aplikacji dewelopera

Będziesz używać danych logowania klienta z tej aplikacji do wykonywania bezpiecznych wywołań interfejsu API przez Edge Microgateway:

  1. W bocznym menu nawigacyjnym wybierz Opublikuj > Aplikacje.
  2. Kliknij + Aplikacja. Pojawi się strona Szczegóły aplikacji dewelopera.
  3. Wypełnij stronę aplikacji dewelopera w ten sposób:
    1. Nazwa: EdgeMicroTestApp
    2. Wyświetlana nazwa: EdgeMicroTestApp
    3. Programista: jeśli masz konto programisty testowego, wybierz go. W tym samouczku możesz też skorzystać z usług dowolnego istniejącego programisty.
    4. Dane logowania:
      1. Wybierz datę wygaśnięcia: nigdy.
      2. Kliknij + Usługa i wybierz EdgeMicroTestProduct (utworzoną właśnie usługę).
  4. Kliknij Zapisz.
  5. Jesteś z powrotem na stronie z listą aplikacji.
  6. Wybierz utworzoną przed chwilą aplikację EdgeMicroTestApp.
  7. Kliknij Pokaż obok wartości Klucz klienta i Tajny klucz klienta.

Część 3. Obsługa Edge Microgateway

Po skonfigurowaniu Edge Microgateway i co najmniej 1 serwera proxy rozpoznającego Edge Microgateway na urządzeniu Edge możesz uruchomić Edge Microgateway. Serwer HTTP Edge Microgateway będzie działać na Twoim komputerze lokalnym i będziesz wykonywać wywołania interfejsu API bezpośrednio na tym serwerze.

1. Uruchom Edge Microgateway

Użyj polecenia edgemicro start, aby uruchomić Edge Microgateway.

  1. Sprawdź, czy masz klucze, które zostały zwrócone wcześniej podczas uruchamiania 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 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 konfiguracji.
    • secret to klucz zwrócony wcześniej przez polecenie konfiguracji.

    Przykład

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    Wyjście

    Polecenie start pobiera wiele informacji o konfiguracji z Apigee Edge (które są przewijane do okna terminala). W danych wyjściowych pojawi się lista serwerów proxy rozpoznających mikrobramy i usług, które zostały wykryte. Na końcu danych wyjściowych powinno znajdować się coś takiego:

    ...
    
    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 informacji o konfiguracji Edge Microgateway jest pobierany z Apigee Edge i zapisywany lokalnie w pamięci podręcznej. Są to między innymi:

  • Klucz publiczny, który utworzyliśmy i przechowywaliśmy wcześniej w zaszyfrowanym mapie wartości klucza (KVM).
  • Reprezentacja wszystkich serwerów proxy obsługujących Edge Microgateway, które istnieją w organizacji lub środowisku. To wszystkie serwery proxy o nazwach z prefiksem 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 informacje o usłudze do egzekwowania zabezpieczeń (dokładnie tak samo jak każdy serwer proxy interfejsu API w Apigee Edge, gdzie klucze aplikacji dla programistów są powiązane z usługami). Wkrótce przeprowadzimy kroki zabezpieczania Edge Microgateway.

2. Testuj mikrobramę Edge

Po uruchomieniu Edge Microgateway możesz wywołać serwer proxy. Konfiguracja serwera proxy edgemicro_hello została pobrana z Edge podczas uruchamiania Edge Microgateway. Pamiętaj, że ścieżka bazowa serwera proxy to /hello.

Aby przetestować Edge Microgateway, zaczynamy od ścieżki podstawowej i dodajesz ścieżkę zasobu /echo. Pamiętaj, że wszystko po ścieżce podstawowej (w tym parametry zapytania) jest po prostu przekazywane do celu backendu:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Ten błąd występuje, ponieważ z żądaniem nie wysłano prawidłowego klucza interfejsu API lub 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 samouczka prawidłowo zabezpieczymy ten interfejs API i pokażemy Ci, jak uzyskać prawidłowy token dostępu i uwzględnić go w żądaniu.

4. Zatrzymuj 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. Zabezpieczenie Edge

Możesz zabezpieczyć wywołania interfejsu API wykonywane przez Edge Microgateway za pomocą klucza interfejsu API lub tokena dostępu.

Bezpieczne wywołania interfejsu API z tokenem 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 użytkownika Edge otwórz wcześniej utworzoną aplikację dewelopera. Aplikacja nazywała się EdgeMicroTestApp.
  2. Na stronie aplikacji dla programistów pokaż 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. Uzyskaj token 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 jest zgodna ze wzorcem używanym w trakcie samouczka. Druga metoda jest zwykle bardziej przydatna dla deweloperów aplikacji klienckich, którzy chcą wysyłać żądania tokenów. Rzeczywisty punkt końcowy tokena jest zaimplementowany na serwerze proxy edgemicro-auth, który został wdrożony 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 aplikacji dla deweloperów utworzonej w Apigee Edge w parametrach -i i -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Gdzie:

    • org to nazwa organizacji Edge (musisz być administratorem organizacji).
    • env to środowisko w Twojej organizacji (np. testowe lub produkcyjne).
    • consumer_id to identyfikator klienta w utworzonej wcześniej aplikacji dewelopera.
    • consumer_secret to tajny klucz klienta w utworzonej wcześniej aplikacji programisty.

    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 zdarza Ci się wywoływać serwery proxy Edge za pomocą curl lub innego klienta HTTP, może Ci się przydać możliwość bezpośredniego wywoływania punktu końcowego tokena, a nie polecenia edgemicro token. Oto przykład curl. Zastąp nazwy organizacji i środowiska w adresie URL, a następnie przekaż rozdzielone dwukropkami wartości klucza klienta:Tajny klucz klienta w nagłówku uwierzytelniania podstawowego:

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

Dane wyjściowe (przykład)

Niezależnie od tego, czy użyto polecenia interfejsu wiersza poleceń edgemicro, czy też wywołano punkt końcowy za pomocą curl, zwraca ono podpisany token dostępu, którego można używać do wywoływania 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

  1. Otwórz plik $HOME/.edgemicro/org-env-config.yaml. Jeśli nie możesz znaleźć tego pliku, zobacz Gdzie jest zainstalowana Edge Microgateway.
  2. Upewnij się, że wartość tych właściwości wtyczki OAuth jest ustawiona na false. Domyślnie mają one wartość „fałsz”, ale warto to sprawdzić:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Dodatkowo w pliku org-env-config.yaml sprawdź, czy wtyczka OAuth została dodana do elementu plugins:sequence w ten sposób:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Jeśli wprowadzisz zmiany w pliku, załaduj je ponownie do działającej instancji Edge Microgateway. To polecenie zmienia konfigurację Edge Microgateway z zerowym czasem przestoju:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Gdzie:

    • org to nazwa 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 konfiguracji.
    • secret to klucz zwrócony wcześniej przez polecenie konfiguracji.

    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 wykonywać wywołanie interfejsu 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 próbnego.

Zabezpieczanie interfejsu API za pomocą klucza interfejsu API

Jeśli do autoryzacji chcesz użyć klucza interfejsu API, wykonaj te czynności:

1. Uzyskiwanie klucza interfejsu API

  1. W interfejsie użytkownika Edge otwórz wcześniej utworzoną aplikację dewelopera. Aplikacja nazywała się EdgeMicroTestApp.
  2. Na stronie aplikacji dewelopera pokaż klucz klienta i skopiuj go. Ta wartość to klucz interfejsu API. Będziesz używać tego klucza do uwierzytelnionych wywołań interfejsu API.

2. Sprawdź konfigurację w Edge Microgateway

  1. Jeśli nie możesz znaleźć pliku, otwórz plik $HOME/.edgemicro/org-env-config.yaml. Sprawdź, gdzie jest zainstalowana Edge Microgateway.
  2. Upewnij się, że wartość tych właściwości wtyczki OAuth jest ustawiona na false. Domyślnie mają one wartość „fałsz”, ale w razie potrzeby możesz je sprawdzić jeszcze raz:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Dodatkowo w pliku org-env-config.yaml sprawdź, czy wtyczka OAuth została dodana do elementu plugins:sequence w ten sposób:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Jeśli wprowadzisz zmiany w pliku, załaduj je ponownie do działającej instancji Edge Microgateway. To polecenie zmienia konfigurację Edge Microgateway z zerowym czasem przestoju:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Gdzie:

    • org to nazwa 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 konfiguracji.
    • secret to klucz zwrócony wcześniej przez polecenie konfiguracji.

    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 podany niżej sposób. Wartość klucza klienta skopiowana z aplikacji programisty jest kluczem interfejsu API. Domyślnie Edge Microgateway wymaga przekazania klucza w nagłówku o nazwie x-api-key, jak w tym przykładzie:

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 funkcjonalną i bezpieczną usługę Edge Microgateway. W następnej części samouczka przyjrzymy się wtyczkom, które dodają funkcje do Edge Microgateway.

Część 5. Dodaj wtyczkę Spike Arrest

W tej części dodamy do Twojej instancji Edge Microgateway funkcję ograniczania liczby żądań zwaną zatrzymywaniem skokowych żądań.

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 przez Edge Microgateway, co umożliwia mikrobramę ich automatyczne wykrywanie i ładowanie. Więcej o wtyczkach znajdziesz w artykule o korzystaniu z wtyczek.

Dodawanie wtyczki do szybkiego aresztowania

Wtyczka do zatrzymywania nagłego zwiększenia ruchu chroni przed nagłymi wzrostami ruchu. Ogranicza liczbę żądań przetwarzanych przez instancję Edge Microgateway.

W Edge Microgateway blokowanie skoków jest zaimplementowane jako moduł wtyczki. Aby go włączyć, musisz go dodać do pliku konfiguracji Edge Microgateway.

  1. Jeśli nie możesz znaleźć pliku, otwórz plik $HOME/.edgemicro/org-env-config.yaml.gdzie zainstalowano Edge Microgateway.
  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 informuje Edge Microgateway o kolejności wykonywania modułów wtyczek.
    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 konfiguracyjny.
  5. Załaduj ponownie Edge Microgateway za pomocą polecenia reload. Musisz uruchomić to polecenie w katalogu, w którym uruchomiono Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Gdzie:

    • org to nazwa 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 konfiguracji.
    • secret to klucz zwrócony wcześniej przez polecenie konfiguracji.

    Przykład

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Spróbuj wywołać interfejs API kilka razy w krótkim odstępie czasu. Po drugim wywołaniu Edge Microgateway zwraca ten błąd:
    {"message":"SpikeArrest engaged","status":503}
    

Dzieje się tak, ponieważ nagłe aresztowanie wygładza liczbę wywołań, które można wykonać w określonej jednostce czasu. W tym przypadku możesz wykonać 10 połączeń w ciągu minuty lub jedno co 6 sekund.

Dodatkowy udział: dodanie wtyczki limitu

Korzystając z tego samego wzorca, który służy do konfigurowania zatrzymania skoków, możesz dodać inne wtyczki, np. wtyczkę quota. Podobnie jak w przypadku aresztowania skokowego, wtyczka limitu jest dołączona 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 teraz w pełni funkcjonalną instancję Edge Microgateway. Zobaczmy, czym się ona stanie. Domyślnie moduł wtyczki Analytics jest dodawany do Edge Micro. Ten moduł dyskretnie przesyła dane analityczne z Edge Micro do Apigee, gdzie są one wykorzystywane przez system Edge Analytics. Zobaczmy:

  1. Zaloguj się w swojej organizacji w Apigee Edge.
  2. Wybierz Analytics > Wydajność serwera proxy.
  3. W panelu wydajności serwera proxy wybierz serwer proxy edgemicro_hello.
  4. Wykres zawiera informacje o wzorcach ruchu serwera proxy, w tym całkowity ruch, średni czas odpowiedzi, średni czas odpowiedzi docelowej 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.