Dela via


Anslut privat till API Management med hjälp av en inkommande privat nätverksanslutning

GÄLLER FÖR: Utvecklare | Grundläggande | Standard | Standard v2 | Premie

Du kan konfigurera en inkommande privat slutpunkt för din API Management-instans så att klienter i ditt privata nätverk kan få säker åtkomst till instansen via Azure Private Link.

  • Den privata slutpunkten använder en IP-adress från ett virtuellt Azure-nätverk där den finns.

  • Nätverkstrafik mellan en klient i ditt privata nätverk och API Management passerar över det virtuella nätverket och en Private Link i Microsofts stamnätverk, vilket eliminerar exponeringen från det offentliga Internet.

  • Konfigurera anpassade DNS-inställningar eller en privat Azure DNS-zon så att du kan mappa API Management-värdnamnet till slutpunktens privata IP-adress.

Diagram som visar en säker inkommande anslutning till API Management med hjälp av en privat slutpunkt.

Med en privat slutpunkt och Private Link kan du:

  • Skapa flera Private Link-anslutningar till en API Management-instans.

  • Använda den privata slutpunkten för att skicka inkommande trafik via en säker anslutning.

  • Använda en princip för att särskilja trafik som kommer från den privata slutpunkten.

  • Begränsa endast inkommande trafik till privata slutpunkter, vilket förhindrar dataexfiltrering.

  • Kombinera inkommande privata slutpunkter med Standard v2-instanser och använd utgående virtuell nätverksintegration för att ge fullständig nätverksisolering för dina API Management-klienter och backend-tjänster.

    Diagram som visar en säker inkommande anslutning till API Management Standard v2 med privat slutpunkt.

Viktigt!

  • Du kan bara konfigurera en privat slutpunktsanslutning för inkommande trafik till API Management-instansen.
  • Du kan bara inaktivera åtkomst till det offentliga nätverket till API Management-instansen när du har konfigurerat en privat slutpunkt.

Begränsningar

  • Endast API Management-instansens Gateway-slutpunkt stöder inkommande Private Link-anslutningar.
  • Varje API Management-instans stöder högst 100 Private Link-anslutningar.
  • Anslutningar stöds inte på den självhostade gatewayen eller på en arbetsytegateway .
  • På de klassiska API Management-nivåerna stöds inte privata slutpunkter i instanser som matas in i ett internt eller externt virtuellt nätverk.

Vanliga scenarier

Använd en inkommande privat slutpunkt för att aktivera åtkomst endast privat direkt till API Management-gatewayen för att begränsa exponeringen av känsliga data eller serverdelar.

Konfigurationer som stöds är:

  • Skicka klientbegäranden via en brandvägg och konfigurera regler för att dirigera begäranden privat till API Management-gatewayen.
  • Konfigurera Azure Front Door (eller Azure Front Door med Azure Application Gateway) för att ta emot extern trafik och dirigera sedan trafik privat till API Management-gatewayen. Se till exempel Ansluta Azure Front Door Premium till en Azure API Management med Private Link.

Förutsättningar

  • En befintlig API Management-instans. Skapa en om du inte redan har gjort det.
    • När du använder en instans på den klassiska nivån Utvecklare eller Premium ska du inte distribuera (mata in) instansen i ett externt eller internt virtuellt nätverk.
  • Ett virtuellt nätverk som innehåller ett undernät som ska vara värd för den privata slutpunkten. Undernätet kan innehålla andra Azure-resurser, men det kan inte delegeras till en annan tjänst.
  • (Rekommenderas) En virtuell dator i samma eller ett annat undernät i det virtuella nätverket för att testa den privata slutpunkten.

Godkännandemetod för privat slutpunkt

Vanligtvis skapar en nätverksadministratör en privat slutpunkt. Beroende på dina RBAC-behörigheter (Rollbaserad åtkomstkontroll) i Azure godkänns en privat slutpunkt som du skapar antingen automatiskt för att skicka trafik till API Management-instansen eller kräver att resursägaren godkänner anslutningen manuellt.

Godkännandemetod Minsta RBAC-behörigheter
Automatisk 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/**
Manuell Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Steg för att konfigurera privat slutpunkt

  1. Hämta tillgängliga privata slutpunktstyper i prenumerationen
  2. Skapa privat slutpunkt i portalen

Hämta tillgängliga privata slutpunktstyper i prenumerationen

Kontrollera att den privata slutpunktstypen för API Management är tillgänglig i ditt område och din prenumeration. I portalen hittar du den här informationen genom att gå till Private Link Center. Välj Resurser som stöds.

Du kan också hitta den här informationen med hjälp av REST API för tillgängliga privata slutpunkter – lista .

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

Utdata ska innehålla slutpunktstypen 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"
    }
[...]

Skapa privat slutpunkt - portal

Du kan skapa en privat slutpunkt när du skapar en API Management-instans i Azure-portalen, eller så kan du lägga till en privat slutpunkt i en befintlig instans. Du kan också skapa en privat slutpunkt med hjälp av Private Link Center.

Så här lägger du till en privat slutpunkt i en befintlig API Management-instans:

  1. Gå till API Management-tjänsten i Azure Portal.

  2. I den vänstra menyn går du till Distribution + infrastruktur och väljer Nätverk.

  3. Välj Inkommande privata slutpunktsanslutningar>+ Lägg till slutpunkt.

    Skärmbild som visar hur du lägger till en privat slutpunkt med hjälp av Azure Portal.

  4. På fliken Grundläggande anger eller väljer du följande information:

    Inställning Värde
    Projektinformation
    Prenumeration Välj din prenumeration.
    Resursgrupp Välj en befintlig resursgrupp eller skapa en ny. Den måste finnas i samma region som ditt virtuella nätverk.
    Instansinformation
    Namn Ange ett namn för slutpunkten, till exempel myPrivateEndpoint.
    Namn på nätverksgränssnitt Ange ett namn för nätverksgränssnittet, till exempel myInterface
    Region Välj en plats för den privata slutpunkten. Den måste finnas i samma region som ditt virtuella nätverk. Det kan skilja sig från den region där DIN API Management-instans finns.
  5. Välj knappen Nästa: Resurs längst ned på skärmen. Följande information om DIN API Management-instans är redan ifylld:

    • Prenumeration
    • Resurstyp
    • Resursnamn
  6. I Resurs går du till Underresurs för Mål och väljer Gateway.

    Skärmbild som visar inställningar för att skapa en privat slutpunkt i Azure Portal.

    Viktigt!

    Endast gateway-underresursen stöds för API Management. Andra underresurser stöds inte.

  7. Välj knappen Nästa: Virtuellt nätverk längst ned på skärmen.

  8. I Virtuellt nätverk anger eller väljer du den här informationen:

    Inställning Värde
    Virtuellt nätverk Välj ditt virtuella nätverk.
    Undernät Välj ditt undernät.
    Privat IP-konfiguration I de flesta fall väljer du Dynamiskt allokera IP-adress.
    Programsäkerhetsgrupp Du kan också välja en programsäkerhetsgrupp.
  9. Välj knappen Nästa: DNS längst ned på skärmen.

  10. I Privat DNS integrering anger eller väljer du den här informationen:

    Inställning Värde
    Integrera med privat DNS-zon Lämna standardvärdet Ja.
    Prenumeration Välj din prenumeration.
    Resursgrupp Välj din resursgrupp.
    Privata DNS-zoner Standardvärdet visas: (ny) privatelink.azure-api.net.
  11. Välj knappen Nästa: Flikar längst ned på skärmen. Om du vill anger du taggar för att organisera dina Azure-resurser.

  12. Välj knappen Nästa: Granska + skapa längst ned på skärmen. Välj Skapa.

Lista privata slutpunktsanslutningar till instansen

När den privata slutpunkten har skapats och tjänsten har uppdaterats visas den i listan på api Management-instansens sida för inkommande privata slutpunktsanslutningar i portalen.

Observera slutpunktens anslutningstillstånd:

  • Godkänd anger att API Management-resursen automatiskt godkände anslutningen.
  • Väntande anger att anslutningen måste godkännas manuellt av resursägaren.

Godkänna väntande privata slutpunktsanslutningar

Om en privat slutpunktsanslutning är i ett väntande tillstånd måste en ägare av API Management-instansen godkänna den manuellt innan den kan användas.

Om du har tillräcklig behörighet godkänner du en privat slutpunktsanslutning på sidan Privata slutpunktsanslutningar för API Management-instansen i portalen. I anslutningens snabbmeny (...) väljer du Godkänn.

Du kan också använda API Management Private Endpoint Connection – Skapa eller uppdatera REST API för att godkänna väntande privata slutpunktsanslutningar.

Du kan också inaktivera åtkomst till offentligt nätverk

Om du vill begränsa inkommande trafik till API Management-instansen endast till privata slutpunkter inaktiverar du den offentliga nätverksåtkomstegenskapen. Du kan bara inaktivera åtkomst till offentligt nätverk när du har konfigurerat en privat slutpunkt.

Kommentar

Åtkomst till offentligt nätverk kan bara inaktiveras i API Management-instanser som konfigurerats med en privat slutpunkt, inte med andra nätverkskonfigurationer.

Om du vill inaktivera den offentliga nätverksåtkomstegenskapen på de klassiska nivåerna med hjälp av Azure CLI kör du följande az apim update-kommando och ersätter namnen på din API Management-instans och resursgrupp:

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

Du kan också använda API Management Service – Uppdatera REST API för att inaktivera åtkomst till offentligt nätverk genom att ange publicNetworkAccess egenskapen till Disabled.

Verifiera privat slutpunktsanslutning

När den privata slutpunkten har skapats bekräftar du dess DNS-inställningar i portalen.

  1. Gå till API Management-tjänsten i Azure Portal.

  2. I den vänstra menyn går du till Distribution + infrastruktur, väljer Nätverks>inkommande privata slutpunktsanslutningar och väljer den privata slutpunkt som du skapade.

  3. I det vänstra navigeringsfältet går du till Inställningar och väljer DNS-konfiguration.

  4. Granska den privata slutpunktens DNS-poster och IP-adress. IP-adressen är en privat adress i adressutrymmet för det undernät där den privata slutpunkten har konfigurerats.

Testa i virtuellt nätverk

Anslut till en virtuell dator som du har konfigurerat i det virtuella nätverket.

Kör ett verktyg som nslookup eller dig för att leta upp IP-adressen för din standardgatewayslutpunkt via Private Link. Till exempel:

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

Utdata bör innehålla den privata IP-adress som är associerad med den privata slutpunkten.

API-anrop som initieras i det virtuella nätverket till standardslutpunkten för gatewayen ska lyckas.

Testa från Internet

Försök anropa API Management-instansens standardslutpunkt för gatewayen utanför den privata slutpunktens sökväg. Om offentlig åtkomst är inaktiverad innehåller utdata ett fel med statuskod 403 och ett meddelande som liknar:

Request originated from client public IP address 192.0.2.12, 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. 

Begränsning för anpassat domännamn på Standard v2-nivå

I standardnivån v2 kräver API Management för närvarande ett offentligt matchningsbart DNS-namn för att tillåta trafik till gatewayslutpunkten. Om du konfigurerar ett anpassat domännamn för gatewayslutpunkten måste det namnet vara offentligt matchbart, inte begränsat till en privat DNS-zon.

Som en lösning i scenarier där du begränsar offentlig åtkomst till gatewayen och konfigurerar ett privat domännamn, kan du konfigurera Application Gateway för att ta emot trafik med det privata domännamnet och dirigera den till API Management-instansens gatewayslutpunkt. Ett exempel på arkitektur finns i den här GitHub-lagringsplatsen.