Freigeben über


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

GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | 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.

Hinweis

Die Unterstützung privater Endpunkte in der Standard v2-Ebene befindet sich derzeit in eingeschränkter Vorschau. Füllen Sie dieses Formular aus, um sich zu registrieren.

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

  • Der Netzwerkdatenverkehr zwischen einem Client in Ihrem privaten Netzwerk und API Management wird über das virtuelle Netzwerk 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

  • Kombinieren Sie eingehende private Endpunkte mit Standard v2-Instanzen mit ausgehender integration virtueller Netzwerke, um die End-to-End-Netzwerkisolation Ihrer API-Verwaltungsclients und Back-End-Dienste bereitzustellen.

    Diagramm, das eine sichere eingehende Verbindung zu API Management Standard v2 über einen privaten Endpunkt zeigt.

Wichtig

  • Sie können nur eine private Endpunktverbindung für eingehenden Datenverkehr zur API Management-Instanz konfigurieren.

Einschränkungen

  • 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.
  • Verbindungen werden auf dem selbstgehosteten Gateway oder auf einem Arbeitsbereichs-Gateway nicht unterstützt.
  • In den klassischen API-Verwaltungsebenen werden private Endpunkte in Instanzen, die in ein internes oder externes virtuelles Netzwerk eingefügt werden, nicht unterstützt.

Voraussetzungen

  • Eine bestehende API Management-Instanz. Erstellen Sie eine, falls nicht schon geschehen.
    • Wenn Sie eine Instanz im klassischen Developer- oder Premium-Tier verwenden, implementieren (injektieren) Sie die Instanz nicht in ein externes oder internes virtuelles Netzwerk.
  • Ein virtuelles Netzwerk, das ein Subnetz zum Hosten des privaten Endpunkts enthält. 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.
  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

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

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

Sie können einen privaten Endpunkt für Ihre API-Verwaltungsinstanz im Azure-Portal erstellen.

In den klassischen API-Verwaltungsebenen können Sie einen privaten Endpunkt erstellen, wenn Sie die Instanz erstellen. Verwenden Sie bei einer bestehenden Instanz das Blatt Netzwerk der Instanz im Azure-Portal.

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

  2. Wählen Sie im Menü auf der linken Seite unter Bereitstellung und Infrastruktur die Option Netzwerk aus.

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

    Screenshot des Hinzufügens eines privaten Endpunkts im 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 unten auf dem Bildschirm die Schaltfläche Weiter: Ressource aus. Die folgenden Informationen zu Ihrer API Management-Instanz sind bereits aufgefüllt:

    • Abonnement
    • Ressourcentyp
    • Ressourcenname
  6. Wählen Sie im Abschnitt Ressource unter Zielunterressource die Option Gateway aus.

    Screenshot der Einstellungen zum Erstellen eines privaten Endpunkts im Azure-Portal.

    Wichtig

    Nur die Gateway-Unterressource wird für die API-Verwaltung unterstützt. Andere Unterressourcen werden nicht unterstützt.

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

  8. Geben Sie in Virtuelles Netzwerk diese Informationen ein, oder 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 Schaltfläche Weiter: DNS unten auf dem Bildschirm 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 Schaltfläche Weiter: Registerkarten unten auf dem Bildschirm aus. Wenn Sie möchten, geben Sie Tags ein, um Ihre Azure-Ressourcen zu organisieren.

  12. Wählen Sie unten auf dem Bildschirm die Schaltfläche Weiter: Überprüfen und erstellen aus. Klicken Sie auf Erstellen.

Auflisten der Verbindungen mit privatem Endpunkt mit der Instanz

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

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. Wählen Sie im Kontextmenü (...) Genehmigen aus.

Sie können auch die API Management-REST-API Verbindung mit privatem Endpunkt – Erstellen oder aktualisieren verwenden, um ausstehende Verbindungen mit privatem Endpunkt zu genehmigen.

Deaktivieren des Zugriffs über öffentliche Netzwerke (optional)

Um eingehenden Datenverkehr zur API Management-Instanz optional nur auf private Endpunkte zu beschränken, deaktivieren Sie die Eigenschaft für den öffentlichen Netzwerkzugriff.

Hinweis

Der öffentliche Netzwerkzugriff kann nur in API Management-Instanzen deaktiviert werden, die mit einem privaten Endpunkt konfiguriert sind, nicht jedoch mit anderen Netzwerk-Konfigurationen.

Um die Eigenschaft für den öffentlichen Netzwerkzugriff mit der Azure CLI zu deaktivieren, führen Sie den folgenden az apim update-Befehl aus und ersetzen Sie die Namen Ihrer API Management-Instanz und Ressourcengruppe:

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

Sie können auch die REST-API API Management-Dienst – Aktualisieren zum Deaktivieren des öffentlichen Netzwerkzugriffs verwenden, indem Sie die publicNetworkAccess-Eigenschaft auf Disabled festlegen.

Ü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 unter Bereitstellung und Infrastruktur die Option Netzwerk>Eingehende Verbindungen mit privatem Endpunkt aus, und wählen Sie dann den erstellten privaten Endpunkt aus.

  3. Wählen Sie unter Einstellungen auf der linken Navigationsleiste die Option 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.privatelink.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 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.