Privé verbinding maken met API Management met behulp van een binnenkomend privé-eindpunt
VAN TOEPASSING OP: Ontwikkelaar | Basic | Standaard | Premie
U kunt een binnenkomend privé-eindpunt configureren voor uw API Management-exemplaar, zodat clients in uw privénetwerk veilig toegang hebben tot het exemplaar via Azure Private Link.
Het privé-eindpunt maakt gebruik van een IP-adres van een Azure-VNet waarin het wordt gehost.
Netwerkverkeer tussen een client op uw privénetwerk en API Management loopt via het VNet en een Private Link in het backbone-netwerk van Microsoft, waardoor blootstelling vanaf het openbare internet wordt voorkomen.
Configureer aangepaste DNS-instellingen of een Azure DNS-privézone om de API Management-hostnaam toe te wijzen aan het privé-IP-adres van het eindpunt.
Met een privé-eindpunt en Private Link kunt u het volgende doen:
Maak meerdere Private Link-verbindingen met een API Management-exemplaar.
Gebruik het privé-eindpunt om binnenkomend verkeer te verzenden via een beveiligde verbinding.
Gebruik beleid om onderscheid te maken tussen verkeer dat afkomstig is van het privé-eindpunt.
Beperk binnenkomend verkeer alleen tot privé-eindpunten, waardoor exfiltratie van gegevens wordt voorkomen.
Belangrijk
U kunt alleen een privé-eindpuntverbinding configureren voor inkomend verkeer naar het API Management-exemplaar. Op dit moment wordt uitgaand verkeer niet ondersteund.
U kunt het externe of interne virtuele netwerkmodel gebruiken om uitgaande connectiviteit met privé-eindpunten tot stand te brengen vanuit uw API Management-exemplaar.
Als u binnenkomende privé-eindpunten wilt inschakelen, kan het API Management-exemplaar niet worden opgenomen in een extern of intern virtueel netwerk.
Beperkingen
- Alleen het gateway-eindpunt van het API Management-exemplaar ondersteunt binnenkomende Private Link-verbindingen.
- Elk API Management-exemplaar ondersteunt maximaal 100 Private Link-verbindingen.
- Verbindingen worden niet ondersteund op de zelf-hostende gateway of op een werkruimtegateway.
Vereisten
- Een bestaand API Management-exemplaar. Maak er een als u dat nog niet hebt gedaan.
- Het API Management-exemplaar moet worden gehost op het
stv2
rekenplatform. - Implementeer het exemplaar niet (injecteer) in een extern of intern virtueel netwerk.
- Het API Management-exemplaar moet worden gehost op het
- Een virtueel netwerk en subnet voor het hosten van het privé-eindpunt. Het subnet kan andere Azure-resources bevatten.
- (Aanbevolen) Een virtuele machine in hetzelfde of een ander subnet in het virtuele netwerk om het privé-eindpunt te testen.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Goedkeuringsmethode voor privé-eindpunt
Normaal gesproken maakt een netwerkbeheerder een privé-eindpunt. Afhankelijk van uw RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) van Azure, wordt een privé-eindpunt dat u maakt, automatisch goedgekeurd voor het verzenden van verkeer naar het API Management-exemplaar of moet de resource-eigenaar de verbinding handmatig goedkeuren .
Goedkeuringsmethode | Minimale RBAC-machtigingen |
---|---|
Automatisch | 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/** |
Handmatig | Microsoft.Network/virtualNetworks/** Microsoft.Network/virtualNetworks/subnets/** Microsoft.Network/privateEndpoints/** Microsoft.Network/networkinterfaces/** Microsoft.Network/locations/availablePrivateEndpointTypes/read |
Stappen voor het configureren van een privé-eindpunt
- Beschikbare typen privé-eindpunten in abonnement ophalen
- Netwerkbeleid uitschakelen in subnet
- Privé-eindpunt maken - portal
- Privé-eindpuntverbindingen met het exemplaar weergeven
- In behandeling zijnde privé-eindpuntverbindingen goedkeuren
- Optioneel openbare netwerktoegang uitschakelen
Beschikbare typen privé-eindpunten in abonnement ophalen
Controleer of het type privé-eindpunt van API Management beschikbaar is in uw abonnement en locatie. Zoek deze informatie in de portal door naar het Private Link Center te gaan. Selecteer Ondersteunde resources.
U kunt deze informatie ook vinden met behulp van de beschikbare typen privé-eindpunten - REST API vermelden.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01
Uitvoer moet het Microsoft.ApiManagement.service
eindpunttype bevatten:
[...]
"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"
}
[...]
Netwerkbeleid uitschakelen in subnet
Netwerkbeleid zoals netwerkbeveiligingsgroepen moet worden uitgeschakeld in het subnet dat wordt gebruikt voor het privé-eindpunt.
Als u hulpprogramma's zoals Azure PowerShell, de Azure CLI of REST API gebruikt om privé-eindpunten te configureren, werkt u de subnetconfiguratie handmatig bij. Zie Netwerkbeleid voor privé-eindpunten beheren voor voorbeelden.
Wanneer u Azure Portal gebruikt om een privé-eindpunt te maken, zoals wordt weergegeven in de volgende sectie, worden netwerkbeleidsregels automatisch uitgeschakeld als onderdeel van het aanmaakproces
Privé-eindpunt maken - portal
Navigeer naar uw API Management-service in Azure Portal.
Selecteer Netwerk in het linkermenu onder Implementatie en infrastructuur.
Selecteer Binnenkomende privé-eindpuntverbindingen>+ Eindpunt toevoegen.
Voer op het tabblad Basisbeginselen van Een privé-eindpunt maken de volgende gegevens in of selecteer deze:
Instelling Weergegeven als Projectdetails Abonnement Selecteer uw abonnement. Resourcegroep Selecteer een bestaande resourcegroep of maak een nieuwe groep. Deze moet zich in dezelfde regio bevinden als uw virtuele netwerk. Exemplaardetails Naam Voer een naam in voor het eindpunt, zoals myPrivateEndpoint. Netwerkinterfacenaam Voer een naam in voor de netwerkinterface, zoals myInterface Regio Selecteer een locatie voor het privé-eindpunt. Deze moet zich in dezelfde regio bevinden als uw virtuele netwerk. Het kan verschillen van de regio waar uw API Management-exemplaar wordt gehost. Selecteer de knop Volgende: Resource onderaan het scherm. De volgende informatie over uw API Management-exemplaar is al ingevuld:
- Abonnement
- Brontype
- Resourcenaam
Selecteer Gateway in Resource in de subresource Doel.
Selecteer de knop Volgende: Virtueel netwerk onderaan het scherm.
Voer in Netwerken deze gegevens in of selecteer deze:
Instelling Weergegeven als Virtueel netwerk Selecteer uw virtuele netwerk. Subnet Selecteer uw subnet. Privé-IP-configuratie In de meeste gevallen selecteert u Dynamisch IP-adres toewijzen. Toepassingsbeveiligingsgroep Selecteer desgewenst een toepassingsbeveiligingsgroep. Selecteer de knop Volgende: DNS onderaan het scherm.
Voer in Privé-DNS integratie deze gegevens in of selecteer deze:
Instelling Weergegeven als Integreren met privé-DNS-zone Laat de standaardwaarde Ja staan. Abonnement Selecteer uw abonnement. Resourcegroep Selecteer uw resourcegroep. Persoonlijke DNS-zones De standaardwaarde wordt weergegeven: (nieuw) privatelink.azure-api.net. Selecteer de knop Volgende: Tabbladen onder aan het scherm. Voer desgewenst tags in om uw Azure-resources te organiseren.
- Selecteer de knop Volgende: Beoordelen en maken onderaan het scherm.
Selecteer Maken.
Privé-eindpuntverbindingen met het exemplaar weergeven
Nadat het privé-eindpunt is gemaakt en de service is bijgewerkt, wordt het weergegeven in de lijst op de pagina Verbindingen voor binnenkomende privé-eindpunten van het API Management-exemplaar in de portal.
Let op de verbindingsstatus van het eindpunt:
- Goedgekeurd geeft aan dat de API Management-resource de verbinding automatisch heeft goedgekeurd.
- In behandeling geeft aan dat de verbinding handmatig moet worden goedgekeurd door de resource-eigenaar.
In behandeling zijnde privé-eindpuntverbindingen goedkeuren
Als een privé-eindpuntverbinding de status In behandeling heeft, moet een eigenaar van het API Management-exemplaar deze handmatig goedkeuren voordat deze kan worden gebruikt.
Als u over voldoende machtigingen beschikt, keurt u een privé-eindpuntverbinding goed op de pagina Privé-eindpuntverbindingen van het API Management-exemplaar in de portal. Selecteer Goedkeuren in het contextmenu (...) van de verbinding.
U kunt ook de VERBINDING met het privé-eindpunt van API Management gebruiken: REST API maken of bijwerken om in behandeling zijnde privé-eindpuntverbindingen goed te keuren.
Optioneel openbare netwerktoegang uitschakelen
Als u inkomend verkeer naar het API Management-exemplaar optioneel wilt beperken tot privé-eindpunten, schakelt u openbare netwerktoegang uit.
Notitie
Openbare netwerktoegang kan alleen worden uitgeschakeld in API Management-exemplaren die zijn geconfigureerd met een privé-eindpunt, niet met andere netwerkconfiguraties, zoals VNet-injectie.
Als u openbare netwerktoegang wilt uitschakelen met behulp van de Azure CLI, voert u de volgende opdracht az apim update uit, waarbij u de namen van uw API Management-exemplaar en resourcegroep vervangt:
az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false
U kunt ook de API Management-service - REST API bijwerken om openbare netwerktoegang uit te schakelen door de publicNetworkAccess
eigenschap in te stellen op Disabled
.
Privé-eindpuntverbinding valideren
Nadat het privé-eindpunt is gemaakt, bevestigt u de DNS-instellingen in de portal:
Navigeer naar uw API Management-service in Azure Portal.
Selecteer >in het linkermenu onder Implementatie en infrastructuur de optie Binnenkomende privé-eindpuntverbindingen voor inkomend netwerk en selecteer het privé-eindpunt dat u hebt gemaakt.
Selecteer in de linkernavigatie onder Instellingen de DNS-configuratie.
Controleer de DNS-records en het IP-adres van het privé-eindpunt. Het IP-adres is een privéadres in de adresruimte van het subnet waar het privé-eindpunt is geconfigureerd.
Testen in virtueel netwerk
Maak verbinding met een virtuele machine die u hebt ingesteld in het virtuele netwerk.
Voer een hulpprogramma uit, zoals nslookup
of dig
zoek het IP-adres van uw standaardgateway-eindpunt op via Private Link. Voorbeeld:
nslookup my-apim-service.azure-api.net
De uitvoer moet het privé-IP-adres bevatten dat is gekoppeld aan het privé-eindpunt.
API-aanroepen die in het virtuele netwerk zijn geïnitieerd naar het standaardgateway-eindpunt, moeten slagen.
Testen vanaf internet
Probeer van buiten het privé-eindpuntpad het standaardgateway-eindpunt van het API Management-exemplaar aan te roepen. Als openbare toegang is uitgeschakeld, bevat de uitvoer een fout met statuscode 403
en een bericht dat vergelijkbaar is met:
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.
Gerelateerde inhoud
- Gebruik beleidsexpressies met de
context.request
variabele om verkeer van het privé-eindpunt te identificeren. - Meer informatie over privé-eindpunten en Private Link, inclusief prijzen voor Private Link.
- Privé-eindpuntverbindingen beheren.
- Verbindingsproblemen met privé-eindpunten in Azure oplossen.
- Gebruik een Resource Manager-sjabloon om een API Management-exemplaar en een privé-eindpunt met privé-DNS-integratie te maken.