Udostępnij za pośrednictwem


Prywatne łączenie z usługą API Management przy użyciu przychodzącego prywatnego punktu końcowego

DOTYCZY: Developer | Podstawowa | Standardowa | Premia

Możesz skonfigurować przychodzący prywatny punkt końcowy dla wystąpienia usługi API Management, aby umożliwić klientom w sieci prywatnej bezpieczny dostęp do wystąpienia za pośrednictwem usługi Azure Private Link.

  • Prywatny punkt końcowy używa adresu IP z sieci wirtualnej platformy Azure, w której jest hostowana.

  • Ruch sieciowy między klientem w sieci prywatnej a usługą API Management przechodzi przez sieć wirtualną i Private Link w sieci szkieletowej firmy Microsoft, eliminując narażenie z publicznego Internetu.

  • Skonfiguruj niestandardowe ustawienia DNS lub prywatną strefę usługi Azure DNS, aby zmapować nazwę hosta API Management na prywatny adres IP punktu końcowego.

Diagram przedstawiający bezpieczne połączenie przychodzące z usługą API Management przy użyciu prywatnego punktu końcowego.

Za pomocą prywatnego punktu końcowego i usługi Private Link można wykonywać następujące czynności:

  • Tworzyć wiele połączeń Private Link z wystąpieniem usługi API Management.

  • Używać prywatnego punktu końcowego do wysyłania ruchu przychodzącego na bezpiecznym połączeniu.

  • Używać zasad, aby odróżnić ruch pochodzący z prywatnego punktu końcowego.

  • Ograniczać ruch przychodzący tylko do prywatnych punktów końcowych, uniemożliwiając eksfiltrację danych.

Ważne

  • Połączenie prywatnego punktu końcowego można skonfigurować tylko dla ruchu przychodzącego do wystąpienia usługi API Management. Obecnie ruch wychodzący nie jest obsługiwany.

    Za pomocą zewnętrznego lub wewnętrznego modelu sieci wirtualnej można ustanowić łączność wychodzącą z prywatnymi punktami końcowymi z wystąpienia usługi API Management.

  • Aby włączyć przychodzące prywatne punkty końcowe, wystąpienie usługi API Management nie może być wstrzykiwane do zewnętrznej lub wewnętrznej sieci wirtualnej.

Ograniczenia

  • Tylko punkt końcowy bramy usługi API Management obsługuje przychodzące połączenia usługi Private Link.
  • Każde wystąpienie usługi API Management obsługuje co najwyżej 100 połączeń usługi Private Link.
  • Połączenia nie są obsługiwane w bramie własnej ani w bramie obszaru roboczego.

Wymagania wstępne

  • Istniejące wystąpienie usługi API Management. Utwórz go, jeśli jeszcze tego nie zrobiono.
    • Wystąpienie usługi API Management musi być hostowane na platformie obliczeniowej.stv2
    • Nie należy wdrażać (wstrzykiwać) wystąpienia do zewnętrznej lub wewnętrznej sieci wirtualnej.
  • Sieć wirtualna i podsieć do hostowania prywatnego punktu końcowego. Podsieć może zawierać inne zasoby platformy Azure.
  • (Zalecane) Maszyna wirtualna w tej samej lub innej podsieci w sieci wirtualnej, aby przetestować prywatny punkt końcowy.

Metoda zatwierdzania dla prywatnego punktu końcowego

Zazwyczaj administrator sieci tworzy prywatny punkt końcowy. W zależności od uprawnień kontroli dostępu opartej na rolach (RBAC) platformy Azure tworzony prywatny punkt końcowy jest automatycznie zatwierdzony do wysyłania ruchu do wystąpienia usługi API Management lub wymaga od właściciela zasobu ręcznego zatwierdzenia połączenia.

Metoda zatwierdzania Minimalne uprawnienia RBAC
Automatyczne Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
Ręcznie Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Kroki konfigurowania prywatnego punktu końcowego

  1. Uzyskiwanie dostępnych typów prywatnych punktów końcowych w subskrypcji
  2. Wyłączanie zasad sieciowych w podsieci
  3. Tworzenie prywatnego punktu końcowego — portal
  4. Wyświetlanie listy połączeń prywatnych punktów końcowych z wystąpieniem
  5. Zatwierdzanie oczekujących połączeń prywatnych punktów końcowych
  6. Opcjonalnie wyłącz dostęp do sieci publicznej

Uzyskiwanie dostępnych typów prywatnych punktów końcowych w subskrypcji

Sprawdź, czy prywatny typ punktu końcowego usługi API Management jest dostępny w twojej subskrypcji i lokalizacji. W portalu znajdź te informacje, przechodząc do Centrum usługi Private Link. Wybierz pozycję Obsługiwane zasoby.

Te informacje można również znaleźć przy użyciu dostępnego prywatnego typu punktów końcowych — interfejs API REST listy .

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

Dane wyjściowe powinny zawierać typ punktu końcowego Microsoft.ApiManagement.service :

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

Wyłączanie zasad sieciowych w podsieci

Zasady sieciowe, takie jak sieciowe grupy zabezpieczeń, muszą być wyłączone w podsieci używanej dla prywatnego punktu końcowego.

Jeśli używasz narzędzi, takich jak program Azure PowerShell, interfejs wiersza polecenia platformy Azure lub interfejs API REST do konfigurowania prywatnych punktów końcowych, zaktualizuj konfigurację podsieci ręcznie. Aby zapoznać się z przykładami, zobacz Zarządzanie zasadami sieciowymi dla prywatnych punktów końcowych.

W przypadku tworzenia prywatnego punktu końcowego przy użyciu witryny Azure Portal, jak pokazano w następnej sekcji, zasady sieciowe są automatycznie wyłączone w ramach procesu tworzenia

Tworzenie prywatnego punktu końcowego — portal

  1. Przejdź do usługi API Management w witrynie Azure Portal.

  2. W menu po lewej stronie w obszarze Wdrażanie i infrastruktura wybierz pozycję Sieć.

  3. Wybierz pozycję Przychodzące połączenia prywatnych punktów> końcowych+ Dodaj punkt końcowy.

    Zrzut ekranu przedstawiający sposób dodawania prywatnego punktu końcowego przy użyciu witryny Azure Portal.

  4. Na karcie Podstawy tworzenia prywatnego punktu końcowego wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Szczegóły projektu
    Subskrypcja Wybierz subskrypcję.
    Grupa zasobów Wybierz istniejącą grupę zasobów lub utwórz nową. Musi znajdować się w tym samym regionie co sieć wirtualna.
    Szczegóły wystąpienia
    Nazwisko Wprowadź nazwę punktu końcowego, na przykład myPrivateEndpoint.
    Nazwa interfejsu sieciowego Wprowadź nazwę interfejsu sieciowego, na przykład myInterface
    Region (Region) Wybierz lokalizację prywatnego punktu końcowego. Musi znajdować się w tym samym regionie co sieć wirtualna. Może się to różnić od regionu, w którym hostowane jest wystąpienie usługi API Management.
  5. Wybierz przycisk Dalej: Zasób w dolnej części ekranu. Następujące informacje o wystąpieniu usługi API Management zostały już wypełnione:

    • Subskrypcja
    • Typ zasobu
    • Nazwa zasobu
  6. W obszarze Zasób w obszarze Docelowy zasób podrzędny wybierz pozycję Brama.

    Zrzut ekranu przedstawiający ustawienia umożliwiające utworzenie prywatnego punktu końcowego w witrynie Azure Portal.

  7. Wybierz przycisk Dalej: Sieć wirtualna w dolnej części ekranu.

  8. W obszarze Sieć wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Sieć wirtualna Wybierz sieć wirtualną.
    Podsieć Wybierz podsieć.
    Konfiguracja prywatnego adresu IP W większości przypadków wybierz pozycję Dynamicznie przydziel adres IP.
    Grupa zabezpieczeń aplikacji Opcjonalnie wybierz grupę zabezpieczeń aplikacji.
  9. Wybierz przycisk Dalej: DNS w dolnej części ekranu.

  10. W Prywatna strefa DNS integracji wprowadź lub wybierz następujące informacje:

    Ustawienie Wartość
    Integruj z prywatną strefą DNS Pozostaw wartość domyślną Tak.
    Subskrypcja Wybierz subskrypcję.
    Grupa zasobów Wybierz swoją grupę zasobów.
    Prywatne strefy DNS Zostanie wyświetlona wartość domyślna: (nowa) privatelink.azure-api.net.
  11. Wybierz przycisk Dalej: karty w dolnej części ekranu. Jeśli chcesz, wprowadź tagi, aby zorganizować zasoby platformy Azure.

    1. Wybierz przycisk Dalej: Przejrzyj i utwórz w dolnej części ekranu.
  12. Wybierz pozycję Utwórz.

Wyświetlanie listy połączeń prywatnych punktów końcowych z wystąpieniem

Po utworzeniu prywatnego punktu końcowego i zaktualizowaniu usługi zostanie ona wyświetlona na liście na stronie Przychodzące połączenia prywatnego punktu końcowego wystąpienia usługi API Management w portalu.

Zwróć uwagę na stan połączenia punktu końcowego:

  • Zatwierdzone wskazuje, że zasób usługi API Management automatycznie zatwierdził połączenie.
  • Oczekiwanie wskazuje, że połączenie musi zostać ręcznie zatwierdzone przez właściciela zasobu.

Zatwierdzanie oczekujących połączeń prywatnych punktów końcowych

Jeśli połączenie prywatnego punktu końcowego jest w stanie oczekiwania, właściciel wystąpienia usługi API Management musi ręcznie go zatwierdzić, zanim będzie można go użyć.

Jeśli masz wystarczające uprawnienia, zatwierdź połączenie prywatnego punktu końcowego na stronie Połączenia prywatnego punktu końcowego wystąpienia usługi API Management w portalu. W menu kontekstowym połączenia (...) wybierz pozycję Zatwierdź.

Możesz również użyć połączenia prywatnego punktu końcowego usługi API Management — utwórz lub zaktualizuj interfejs API REST, aby zatwierdzić oczekujące połączenia z prywatnym punktem końcowym.

Opcjonalnie wyłącz dostęp do sieci publicznej

Aby opcjonalnie ograniczyć ruch przychodzący do wystąpienia usługi API Management tylko do prywatnych punktów końcowych, wyłącz dostęp do sieci publicznej.

Uwaga

Dostęp do sieci publicznej można wyłączyć tylko w wystąpieniach usługi API Management skonfigurowanych z prywatnym punktem końcowym, a nie z innymi konfiguracjami sieci, takimi jak iniekcja sieci wirtualnej.

Aby wyłączyć dostęp do sieci publicznej przy użyciu interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenie az apim update , zastępując nazwy wystąpienia usługi API Management i grupy zasobów:

az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false

Możesz również użyć usługi API Management — zaktualizuj interfejs API REST, aby wyłączyć dostęp do sieci publicznej, ustawiając publicNetworkAccess właściwość na Disabled.

Weryfikowanie połączenia prywatnego punktu końcowego

Po utworzeniu prywatnego punktu końcowego potwierdź jego ustawienia DNS w portalu:

  1. Przejdź do usługi API Management w witrynie Azure Portal.

  2. W menu po lewej stronie w obszarze Wdrażanie i infrastruktura wybierz pozycję Połączenia> przychodzące prywatnego punktu końcowego dla ruchu sieciowego i wybierz utworzony prywatny punkt końcowy.

  3. W obszarze Nawigacji po lewej stronie w obszarze Ustawienia wybierz pozycję Konfiguracja DNS.

  4. Sprawdź rekordy DNS i adres IP prywatnego punktu końcowego. Adres IP jest prywatnym adresem w przestrzeni adresowej podsieci, w której skonfigurowano prywatny punkt końcowy.

Testowanie w sieci wirtualnej

Połącz się z maszyną wirtualną skonfigurowaną w sieci wirtualnej.

Uruchom narzędzie, takie jak nslookup lub dig , aby wyszukać adres IP domyślnego punktu końcowego bramy za pośrednictwem usługi Private Link. Na przykład:

nslookup my-apim-service.azure-api.net

Dane wyjściowe powinny zawierać prywatny adres IP skojarzony z prywatnym punktem końcowym.

Wywołania interfejsu API zainicjowane w sieci wirtualnej do domyślnego punktu końcowego bramy powinny zakończyć się powodzeniem.

Testowanie z Internetu

Poza ścieżką prywatnego punktu końcowego spróbuj wywołać domyślny punkt końcowy bramy wystąpienia usługi API Management. Jeśli dostęp publiczny jest wyłączony, dane wyjściowe zawierają błąd z kodem 403 stanu i komunikat podobny do:

Request originated from client public IP address xxx.xxx.xxx.xxx, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network.