Herstellen einer privaten Verbindung mit API Management mithilfe eines eingehenden privaten Endpunkts

GILT FÜR: Developer | Basic | Standard | Premium

Sie können einen eingehenden privaten Endpunkt für Ihre API Management-Instanz konfigurieren, damit Clients in Ihrem privaten Netzwerk sicher über Azure Private Link auf die Instanz zugreifen können.

  • Der private Endpunkt verwendet eine IP-Adresse aus einem Azure-VNet, in dem er gehostet wird.

  • Der Netzwerkdatenverkehr zwischen einem Client in Ihrem privaten Netzwerk und API Management wird über das virtuelle Netzwerk (VNet) und Private Link im Microsoft-Backbonenetzwerk übertragen und dadurch vom öffentlichen Internet isoliert.

  • Konfigurieren Sie benutzerdefinierte DNS-Einstellungen oder eine private Azure DNS-Zone, um den API Management-Hostnamen der privaten IP-Adresse des Endpunkts zuzuordnen.

Diagramm: Sichere eingehende Verbindung zu API Management mittels privatem Endpunkt

Ein privater Endpunkt und Private Link ermöglichen Ihnen Folgendes:

  • Erstellen mehrerer Private Link-Verbindungen mit einer API Management-Instanz

  • Verwenden des privaten Endpunkts, um eingehenden Datenverkehr über eine sichere Verbindung zu senden

  • Verwenden einer Richtlinie, um Datenverkehr vom privaten Endpunkt zu erkennen

  • Beschränken des eingehenden Datenverkehrs auf private Endpunkte, um eine Datenexfiltration zu verhindern

Wichtig

  • Sie können nur eine private Endpunktverbindung für eingehenden Datenverkehr zur API Management-Instanz konfigurieren. Ausgehender Datenverkehr wird derzeit nicht unterstützt.

    Sie können das externe oder interne virtuelle Netzwerkmodell verwenden, um von Ihrer API Management-Instanz ausgehende Konnektivität zu privaten Endpunkten herzustellen.

  • Wenn Sie eingehende private Endpunkte aktivieren möchten, darf die API Management-Instanz nicht in ein externes oder internes virtuelles Netzwerk eingefügt sein.

Begrenzungen

  • Eingehende Private Link-Verbindungen werden nur vom Gatewayendpunkt der API Management-Instanz unterstützt.
  • Jede API Management-Instanz unterstützt maximal 100 Private Link-Verbindungen.
  • Auf dem selbstgehosteten Gateway werden Verbindungen nicht unterstützt.

Voraussetzungen

  • Eine bestehende API Management-Instanz. Erstellen Sie eine, falls nicht schon geschehen.
    • Die API Management-Instanz muss auf der stv2Computeplattform gehostet werden. Erstellen Sie z. B. eine neue Instanz, oder aktivieren Sie Zonenredundanz, wenn Sie bereits über eine Instanz in der Dienstebene „Premium“ verfügen.
    • Die Instanz darf nicht in einem externen oder internen virtuellen Netzwerk bereitgestellt (eingefügt) werden.
  • Ein virtuelles Netzwerk und Subnetz zum Hosten des privaten Endpunkts. Das Subnetz kann andere Azure-Ressourcen enthalten.
  • (Empfohlen) Eine VM im selben oder in einem anderen Subnetz im virtuellen Netzwerk, um den privaten Endpunkt zu testen.

Genehmigungsmethode für private Endpunkte

In der Regel werden private Endpunkte von einem Netzwerkadministrator erstellt. Abhängig von den über die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) in Azure erteilten Berechtigungen wird ein von Ihnen erstellter privater Endpunkt entweder automatisch genehmigt, sodass er Datenverkehr an die API Management-Instanz senden kann, oder der Ressourcenbesitzer muss die Verbindung manuell genehmigen.

Genehmigungsmethode RBAC-Mindestberechtigungen
Automatic 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

Schritte zum Konfigurieren eines privaten Endpunkts

  1. Abrufen der verfügbaren Typen privater Endpunkte im Abonnement
  2. Deaktivieren von Netzwerkrichtlinien im Subnetz
  3. Erstellen eines privaten Endpunkts: Portal
  4. Auflisten der Verbindungen mit privatem Endpunkt mit der Instanz
  5. Genehmigen ausstehender Verbindungen mit privatem Endpunkt
  6. Deaktivieren des Zugriffs über öffentliche Netzwerke (optional)

Abrufen der verfügbaren Typen privater Endpunkte im Abonnement

Vergewissern Sie sich, dass der Typ des privaten API Management-Endpunkts in Ihrem Abonnement und an Ihrem Standort verfügbar ist. Sie finden diese Informationen im Private Link Center im Portal. Wählen Sie Unterstützte Ressourcen aus.

Sie können diese Informationen auch mithilfe der REST-API Verfügbare Typen privater Endpunkte – Auflisten abrufen.

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

Die Ausgabe sollte den Endpunkttyp Microsoft.ApiManagement.service enthalten:

[...]

      "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"
    }
[...]

Deaktivieren von Netzwerkrichtlinien im Subnetz

Netzwerkrichtlinien (z. B. Netzwerksicherheitsgruppen) müssen in dem Subnetz, das für den privaten Endpunkt verwendet wird, deaktiviert werden.

Wenn Sie Tools wie Azure PowerShell, die Azure-Befehlszeilenschnittstelle (Azure CLI) oder die REST-API zum Konfigurieren privater Endpunkte verwenden, aktualisieren Sie die Subnetzkonfiguration manuell. Beispiele finden Sie unter Verwalten von Netzwerkrichtlinien für private Endpunkte.

Wenn Sie das Azure-Portal zum Erstellen eines privaten Endpunkts verwenden (dies wird im nächsten Abschnitt erläutert), werden Netzwerkrichtlinien im Rahmen des Erstellungsprozesses automatisch deaktiviert.

Erstellen eines privaten Endpunkts: Portal

  1. Navigieren Sie zu Ihrem API Management-Dienst im Azure-Portal.

  2. Wählen Sie im Menü auf der linken Seite Netzwerk aus.

  3. Wählen Sie Eingehende Verbindungen mit privatem Endpunkt>+ Endpunkt hinzufügen aus.

    Hinzufügen eines privaten Endpunkts über das Azure-Portal

  4. Geben Sie auf der Registerkarte Grundlagen unter Privaten Endpunkt erstellen die folgenden Informationen ein, oder wählen Sie sie aus:

    Einstellung Wert
    Projektdetails
    Subscription Wählen Sie Ihr Abonnement aus.
    Ressourcengruppe Wählen Sie eine vorhandene Ressourcengruppe aus, oder erstellen Sie eine neue. Sie muss sich in derselben Region befinden wie Ihr virtuelles Netzwerk.
    Instanzendetails
    Name Geben Sie einen Namen für den privaten Endpunkt ein, z. B. MeinPrivaterEndpunkt.
    Name der Netzwerkschnittstelle Geben Sie einen Namen für die Netzwerkschnittstelle ein, z. B. meineSchnittstelle.
    Region Wählen Sie einen Standort für den privaten Endpunkt aus. Er muss sich in derselben Region befinden wie Ihr virtuelles Netzwerk. Es muss sich dabei nicht um die Region handeln, die Sie zum Hosten Ihrer API Management-Instanz verwenden.
  5. Wählen Sie die Registerkarte Ressource oder unten auf der Seite Weiter: Ressource aus. Die folgenden Informationen zu Ihrer API Management-Instanz sind bereits aufgefüllt:

    • Subscription
    • Resource group
    • Ressourcenname
  6. Wählen Sie im Abschnitt Ressource unter Zielunterressource die Option Gateway aus.

    Erstellen eines privaten Endpunkts im Azure-Portal

  7. Wählen Sie unten auf dem Bildschirm die Registerkarte Virtuelles Netzwerk oder die Schaltfläche Weiter: Virtuelles Netzwerk aus.

  8. Geben Sie unter Netzwerk die folgenden Informationen ein, bzw. wählen Sie sie aus:

    Einstellung Wert
    Virtuelles Netzwerk Wählen Sie Ihr virtuelles Netzwerk aus.
    Subnet Wählen Sie das Subnetz aus.
    Konfiguration der privaten IP-Adresse Wählen Sie in den meisten Fällen IP-Adresse dynamisch zuweisen aus.
    Anwendungssicherheitsgruppe Wählen Sie optional eine Anwendungssicherheitsgruppe aus.
  9. Wählen Sie die Registerkarte DNS oder unten auf dem Bildschirm die Schaltfläche Weiter: DNS aus.

  10. Geben Sie unter Private DNS-Integration diese Informationen ein, oder wählen Sie sie aus:

    Einstellung Wert
    Integration in eine private DNS-Zone Übernehmen Sie den Standardwert Ja.
    Subscription Wählen Sie Ihr Abonnement aus.
    Ressourcengruppe Wählen Sie Ihre Ressourcengruppe aus.
    Private DNS-Zonen Der Standardwert wird angezeigt: (new) privatelink.azure-api.net.
  11. Wählen Sie die Registerkarte Tags oder unten auf dem Bildschirm Weiter: Tags aus. Wenn Sie möchten, geben Sie Tags ein, um Ihre Azure-Ressourcen zu organisieren.

  12. Klicken Sie auf Überprüfen + erstellen.

  13. Klicken Sie auf Erstellen.

Auflisten der Verbindungen mit privatem Endpunkt mit der Instanz

Nachdem der private Endpunkt erstellt wurde, wird er im Portal in der Liste auf der Seite Eingehende Verbindungen mit privatem Endpunkt der API Management-Instanz angezeigt.

Sie können Verbindungen mit privatem Endpunkt mit der Dienstinstanz auch mithilfe der REST-API Verbindung mit privatem Endpunkt – Auflisten nach Dienst abrufen.

Notieren Sie sich den Verbindungsstatus des Endpunkts:

  • Genehmigt gibt an, dass die Verbindung automatisch von der API Management-Ressource genehmigt wurde.
  • Ausstehend gibt an, dass die Verbindung manuell vom Ressourcenbesitzer genehmigt werden muss.

Genehmigen ausstehender Verbindungen mit privatem Endpunkt

Wenn sich eine Verbindung mit privatem Endpunkt im Status „Ausstehend“ befindet, muss ein Besitzer der API Management-Instanz diese Verbindung manuell genehmigen. Erst dann kann sie verwendet werden.

Wenn Sie über ausreichende Berechtigungen verfügen, genehmigen Sie eine Verbindung mit privatem Endpunkt im Portal auf der Seite Verbindungen mit privatem Endpunkt der API Management-Instanz.

Sie können auch die API Management-REST-API Verbindung mit privatem Endpunkt – Erstellen oder Aktualisieren verwenden.

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

Deaktivieren des Zugriffs über öffentliche Netzwerke (optional)

Wenn Sie eingehenden Datenverkehr an die API Management-Instanz auf private Endpunkte beschränken möchten, können Sie optional den Zugriff über öffentliche Netzwerke deaktivieren. Verwenden Sie den API-Verwaltungsdienst – REST-API erstellen oder aktualisieren, um die publicNetworkAccessEigenschaft auf Disabled zu setzen.

Hinweis

Die publicNetworkAccess-Eigenschaft kann nur verwendet werden, um den öffentlichen Zugriff auf API-Verwaltungsinstanzen zu deaktivieren, die mit einem privaten Endpunkt konfiguriert sind, nicht aber mit anderen Netzwerkkonfigurationen wie VNet-Einschleusung.

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

Verwenden Sie den folgendem JSON-Text:

{
  [...]
  "properties": {
    "publicNetworkAccess": "Disabled"
  }
}

Überprüfen der Verbindung mit privatem Endpunkt

Nachdem der private Endpunkt erstellt wurde, bestätigen Sie im Portal seine DNS-Einstellungen:

  1. Navigieren Sie zu Ihrem API Management-Dienst im Azure-Portal.

  2. Wählen Sie im Menü auf der linken Seite Netzwerk>Eingehende Verbindungen mit privatem Endpunkt aus, und wählen Sie den privaten Endpunkt aus, den Sie erstellt haben.

  3. Wählen Sie im linken Navigationsbereich DNS-Konfiguration aus.

  4. Überprüfen Sie die DNS-Einträge und die IP-Adresse des privaten Endpunkts. Die IP-Adresse ist eine private Adresse im Adressraum des Subnetzes, in dem der private Endpunkt konfiguriert ist.

Testen im virtuellen Netzwerk

Stellen Sie eine Verbindung mit der VM her, die Sie im virtuellen Netzwerk eingerichtet haben.

Führen Sie ein Hilfsprogramm wie nslookup oder dig aus, um die IP-Adresse Ihres standardmäßigen Gatewayendpunkts über Private Link zu ermitteln. Beispiel:

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

Die Ausgabe sollte die private IP-Adresse enthalten, die dem privaten Endpunkt zugeordnet ist.

Innerhalb des virtuellen Netzwerks initiierte API-Aufrufe an den standardmäßigen Gatewayendpunkt sollten erfolgreich ausgeführt werden.

Testen über das Internet

Versuchen Sie, den standardmäßigen Gatewayendpunkt der API Management-Instanz außerhalb des Pfads des privaten Endpunkts aufzurufen. Wenn der öffentliche Zugriff deaktiviert ist, enthält die Ausgabe einen Fehler mit dem Statuscode 403 und einer Meldung, die in etwa wie folgt lautet:

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. 

Nächste Schritte