Udostępnij przez


Używanie uwierzytelniania tokenu dla bramy hostowanej samodzielnie

DOTYCZY: Developer | Premium

Brama samoobsługowa usługi Azure API Management wymaga łączności ze skojarzonym wystąpieniem usługi API Management opartym na chmurze na potrzeby raportowania stanu, sprawdzania i stosowania aktualizacji konfiguracji oraz wysyłania metryk i zdarzeń.

W tym artykule przedstawiono, jak włączyć samodzielnie hostowaną bramę do uwierzytelniania przy użyciu domyślnej metody uwierzytelniania opartej na tokenach. To podejście wykorzystuje token dostępu i adres URL punktu końcowego do ustanowienia bezpiecznej komunikacji między swoją bramą samo-obsługową a instancją zarządzania interfejsem API. Aby zapoznać się z innymi opcjami uwierzytelniania, zobacz Opcje uwierzytelniania bramy hostowanej samodzielnie.

Wymagania wstępne

  • Wystąpienie usługi API Management w warstwie usługi Developer lub Premium. Jeśli potrzebujesz, przejdź szybki start: utwórz instancję Azure API Management.
  • Zasób bramy w wystąpieniu.
  • Klaster usługi Azure Kubernetes Service (AKS) lub klaster Kubernetes.
  • Obraz kontenera bramy hostowanej samodzielnie w wersji 2.0 lub nowszej

Generowanie tokenu dostępu

Podczas aprowizowania zasobu bramy w usłudze API Management domyślny token uwierzytelniania jest generowany automatycznie. Aby pobrać token:

  1. Na portalu Azure przejdź do instancji usługi API Management.
  2. Wybierz Wdrożenia i infrastrukturę>bramy.
  3. Wybierz bramę z listy.
  4. Na stronie bramy, wybierz Ustawienia>Wdrożenie.
  5. Skopiuj wartość tokenu . Użyj tego tokenu, aby uwierzytelnić własną bramę do instancji usługi API Management.
  6. Wybierz skrypt wdrożenia dla środowiska, aby skopiować i użyć go w następnej sekcji, aby wdrożyć bramę z uwierzytelnianiem tokenu.

Ważne

  • Zachowaj bezpieczeństwo tokenu dostępu. Ten token udziela dostępu do konfiguracji bramy. Nie zatwierdzaj go do systemu kontroli wersji ani nie udostępniaj publicznie.
  • Token dostępu ma zdefiniowany okres istnienia i musi być okresowo obracany. Możesz subskrybować zdarzenia systemowe, aby otrzymywać powiadomienia, gdy token zbliża się do wygaśnięcia lub wygasł. Szczegółowe informacje można znaleźć w kolejnych sekcjach tego artykułu.

Wdrażanie bramy hostowanej samodzielnie

Wdróż bramę hostowaną samodzielnie w środowisku konteneryzowanym, takim jak Kubernetes, przy użyciu domyślnego uwierzytelniania tokenu.

Bramę hostowaną samodzielnie można wdrożyć z uwierzytelnianiem tokenu za pomocą pakietu Helm.

Zastąp następujące wartości w poleceniu helm install rzeczywistymi wartościami:

  • <gateway-name>: Nazwa wystąpienia usługi Azure API Management
  • <gateway-url>: adres URL bramy w formacie https://<gateway-name>.configuration.azure-api.net
  • <gateway-key>: Token dostępu

Aby uzyskać wymagania i szczegóły, zapoznaj się z "Wdrażaniem samodzielnie hostowanej bramy API Management za pomocą programu Helm".

helm install --name azure-api-management-gateway azure-apim-gateway/azure-api-management-gateway \
             --set gateway.configuration.uri='<gateway-url>' \
             --set gateway.auth.key='<gateway-key>'

Upewnij się, że brama jest uruchomiona

  1. Uruchom następujące polecenie, aby sprawdzić, czy pod bramy jest uruchomiony. Nazwa „pod” będzie inna.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  2. Uruchom następujące polecenie, aby sprawdzić, czy usługa bramy jest uruchomiona. Nazwa usługi i adresy IP będą inne.

    kubectl get services
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)               AGE
    azure-api-management-gateway   ClusterIP   10.0.229.55     <none>        8080/TCP,8081/TCP     1m
    
  3. Wróć do witryny Azure Portal i upewnij się, że wdrożony węzeł bramy zgłasza stan dobrej kondycji.

Wskazówka

Użyj polecenia kubectl logs <gateway-pod-name>, aby wyświetlić migawkę dziennika lokalnie hostowanej bramy.

Rotacja tokenów i zarządzanie nimi

Token dostępu ma zdefiniowany okres istnienia. Po wygaśnięciu tokenu bramka utraci łączność z instancją zarządzania API.

Aby obrócić token:

  1. Na portalu Azure przejdź do instancji usługi API Management.
  2. Wybierz Wdrożenia i infrastrukturę>bramy.
  3. Wybierz bramę.
  4. Na karcie Wdrożenie wybierz pozycję Wygeneruj ponownie token.
  5. Skopiuj nowy token.
  6. Zaktualizuj Secret Kubernetes za pomocą nowego tokenu:
kubectl patch secret apim-access-token -n <namespace-name> -p '{"data":{"config.service.auth.key":"'$(echo -n "<new-token>" | base64)'"}}' --type=merge

Zdarzenia usługi Event Grid dotyczące wygaśnięcia tokenu

Usługa API Management generuje zdarzenia systemowe, gdy token dostępu do bramy samodzielnie hostowanej zbliża się do wygaśnięcia lub wygasa. Zasubskrybuj te zdarzenia, aby upewnić się, że wdrożone bramy zawsze mogą być uwierzytelniane przy użyciu skojarzonego wystąpienia usługi API Management. Aby uzyskać więcej informacji, zobacz Usługa Azure API Management jako źródło usługi Event Grid.