Połączenie prywatnie do usługi API Management przy użyciu przychodzącego prywatnego punktu końcowego

DOTYCZY: Developer | Podstawowa | Standardowa | Premium

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łączenie nie są obsługiwane w bramie hostowanej samodzielnie.

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 Na przykład utwórz nowe wystąpienie lub, jeśli masz już wystąpienie w warstwie usługi Premium, włącz nadmiarowość strefy.
    • 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 wybierz pozycję Sieć.

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

    Dodawanie 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 kartę Zasób lub przycisk Dalej: zasób w dolnej części strony. Następujące informacje o wystąpieniu usługi API Management zostały już wypełnione:

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

    Tworzenie prywatnego punktu końcowego w witrynie Azure Portal

  7. Wybierz kartę Sieć wirtualna lub 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 kartę DNS lub 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 kartę Tagi lub przycisk Dalej: karty w dolnej części ekranu. Jeśli chcesz, wprowadź tagi, aby zorganizować zasoby platformy Azure.

  12. Wybierz pozycję Przejrzyj i utwórz.

  13. Wybierz pozycję Utwórz.

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

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

Możesz również użyć prywatnego punktu końcowego Połączenie ion — wyświetlanie listy według interfejsu API REST usługi w celu wyświetlenia listy połączeń prywatnych punktów końcowych z wystąpieniem usługi.

Zanotuj stan Połączenie ion 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.

Możesz również użyć prywatnego punktu końcowego usługi API Management Połączenie ion — tworzenie lub aktualizowanie interfejsu API REST.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01

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. Użyj usługi API Management — utwórz lub zaktualizuj interfejs API REST, aby ustawić publicNetworkAccess właściwość na Disabled.

Uwaga

Właściwość publicNetworkAccess może służyć tylko do wyłączania publicznego dostępu do wystąpień usługi API Management skonfigurowanych z prywatnym punktem końcowym, a nie z innymi konfiguracjami sieci, takimi jak iniekcja sieci wirtualnej.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json

Użyj następującej treści JSON:

{
  [...]
  "properties": {
    "publicNetworkAccess": "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 wybierz pozycję Połączenia>przychodzące prywatnego punktu końcowego dla ruchu przychodzącego i wybierz utworzony prywatny punkt końcowy.

  3. W obszarze nawigacji po lewej stronie 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 będą zawierać błąd z kodem 403 stanu i komunikatem podobnym do następującego:

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. 

Następne kroki