Konfigurowanie Edge Microgateway

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Edge Microgateway wer. 3.3.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: 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.

Etapy konfiguracji Apigee Edge Cloud

Wykonaj te czynności, aby używać Edge Microgateway z Apigee Edge Cloud:

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

  3. Wszystkie polecenia interfejsu wiersza poleceń mają funkcję pomocy. Pomoc do drukowania dla Edmicro konfiguracja:
    edgemicro configure -h
    
  4. 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.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
    

Etapy konfiguracji Apigee Private Cloud

Wykonaj te czynności, aby używać Edge Microgateway z Apigee Private Cloud:

  1. Zainicjuj Edge Microgateway (ten krok wystarczy wykonać tylko raz):
    edgemicro init
    
  2. 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
    
  3. 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 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 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 (takie jak ś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 zaczynać się od edgemicro_. Przykład: edgemicro_hello lub edgemicro_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

  1. Zaloguj się w organizacji w Apigee Edge.
  2. Kliknij Programowanie > Proxy interfejsów API w bocznym menu nawigacyjnym.
  3. Kliknij + Serwer proxy. Zostanie wywołany kreator kompilacji serwera proxy.
  4. Na pierwszej stronie kreatora wybierz Odwrotny serwer proxy (najczęstszy).
  5. Kliknij Dalej.
  6. 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/
    .
  7. Kliknij Dalej.
  8. Na stronie Zabezpieczenia w kreatorze wybierz Przekaż (brak).
  9. Kliknij Dalej.
  10. Na stronie Hosty wirtualne w kreatorze zaakceptuj wartości domyślne.
  11. Kliknij Dalej.
  12. Na stronie Build w kreatorze sprawdź ustawienia serwera proxy. Upewnij się, że parametr wybrano środowisko testowe.
  13. Kliknij Build and Deploy (Utwórz i wdróż).

2. Tworzenie usługi API

  1. Kliknij Opublikuj > Usługi API w bocznym menu nawigacyjnym.
  2. Kliknij + Usługa API.
  3. Wpisz szczegóły produktu podane w tej tabeli:
    Pole Opis
    Nazwa EdgeMicroTestProduct
    Wyświetlana nazwa Produkt testowy Edge Microgatway
    Środowisko test
    Dostęp Publiczny
    Typ zatwierdzenia klucza Automatycznie
  4. W sekcji zasobów interfejsu API dodaj utworzony serwer proxy interfejsu API i serwer proxy edgemicro-auth:
    • edgemicro_hello
    • edgemicro-auth
  5. Kliknij Zapisz.

3. Utwórz deweloper

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:

  1. Kliknij Opublikuj > Programistów w bocznym menu nawigacyjnym.
  2. Kliknij + Deweloper.
  3. 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:

  1. Kliknij Opublikuj > Aplikacje w bocznym menu nawigacyjnym.
  2. Kliknij + Aplikacja. Pojawi się strona Szczegóły aplikacji dewelopera.
  3. Wypełnij te pola na stronie dewelopera aplikacji:
    1. Nazwa: EdgeMicroTestApp
    2. Wyświetlana nazwa: EdgeMicroTestApp
    3. Programista: jeśli został przez Ciebie utworzony deweloper testów, wybierz go. Możesz też użyć z dotychczasowego programisty na potrzeby tego samouczka.
    4. Dane logowania:
      1. Wybierz Wygaśnięcie: Nigdy.
      2. Kliknij + Produkt i wybierz EdgeMicroTestProduct. (nowo utworzony produkt)
  4. Kliknij Zapisz.
  5. Jesteś z powrotem na stronie z listą aplikacji.
  6. Wybierz utworzoną przed chwilą aplikację: EdgeMicroTestApp.
  7. 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.

  1. 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
    
  2. (Opcjonalnie) Wydrukuj pomoc dotyczącą 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ć 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.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 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.1.0
    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

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

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

1. Uzyskaj wymagane klucze

  1. W interfejsie Edge przejdź do utworzonej wcześniej aplikacji dla programistów. Nazwa aplikacji było EdgeMicroTestApp.
  2. 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.

  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 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 (takie jak ś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

  1. Otwórz plik $HOME/.edgemicro/org-env-config.yaml. Zobacz Gdzie jest zainstalowana Edge Microgateway, jeśli nie możesz znaleźć tego pliku.
  2. 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
    
  3. Poza tym w pliku org-env-config.yaml upewnij się, że wtyczka oauth jest dodano 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 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

  1. W interfejsie Edge przejdź do utworzonej wcześniej aplikacji dla programistów. Nazwa aplikacji było EdgeMicroTestApp.
  2. 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

  1. Otwórz plik $HOME/.edgemicro/org-env-config.yaml. Zobacz Gdzie jest zainstalowana Edge Microgateway, jeśli nie możesz znaleźć tego pliku.
  2. 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
    
  3. Poza tym w pliku org-env-config.yaml upewnij się, że wtyczka oauth jest dodano 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 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.

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

  1. Zaloguj się w organizacji w Apigee Edge.
  2. Wybierz Analytics > Proxy Performance (Wydajność serwera proxy).
  3. W panelu wydajności 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 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.