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.
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.
- Wystąpienie usługi API Management musi być hostowane na platformie obliczeniowej.
- 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.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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
- Uzyskiwanie dostępnych typów prywatnych punktów końcowych w subskrypcji
- Wyłączanie zasad sieciowych w podsieci
- Tworzenie prywatnego punktu końcowego — portal
- Wyświetlanie listy połączeń prywatnych punktów końcowych z wystąpieniem
- Zatwierdzanie oczekujących połączeń prywatnych punktów końcowych
- 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
Przejdź do usługi API Management w witrynie Azure Portal.
W menu po lewej stronie w obszarze Wdrażanie i infrastruktura wybierz pozycję Sieć.
Wybierz pozycję Przychodzące połączenia prywatnych punktów> końcowych+ Dodaj punkt końcowy.
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. 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
W obszarze Zasób w obszarze Docelowy zasób podrzędny wybierz pozycję Brama.
Wybierz przycisk Dalej: Sieć wirtualna w dolnej części ekranu.
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. Wybierz przycisk Dalej: DNS w dolnej części ekranu.
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. Wybierz przycisk Dalej: karty w dolnej części ekranu. Jeśli chcesz, wprowadź tagi, aby zorganizować zasoby platformy Azure.
- Wybierz przycisk Dalej: Przejrzyj i utwórz w dolnej części ekranu.
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:
Przejdź do usługi API Management w witrynie Azure Portal.
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.
W obszarze Nawigacji po lewej stronie w obszarze Ustawienia wybierz pozycję Konfiguracja DNS.
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.
Powiązana zawartość
- Użyj wyrażeń zasad ze zmienną
context.request
, aby zidentyfikować ruch z prywatnego punktu końcowego. - Dowiedz się więcej o prywatnych punktach końcowych i usłudze Private Link, w tym o cenach usługi Private Link.
- Zarządzanie połączeniami prywatnego punktu końcowego.
- Rozwiązywanie problemów z łącznością prywatnego punktu końcowego platformy Azure.
- Użyj szablonu usługi Resource Manager, aby utworzyć wystąpienie usługi API Management i prywatny punkt końcowy z prywatną integracją DNS.