Konfigurieren von IP-Firewallregeln zum Zulassen von Indexerverbindungen von Azure KI Search

Im Namen eines Indexers gibt ein Suchdienst ausgehende Aufrufe an eine externe Azure-Ressource aus, um während der Indizierung Daten zu pullen. Wenn Ihre Azure-Ressource IP-Firewallregeln zum Filtern eingehender Aufrufe verwendet, müssen Sie eine Eingangsregel in Ihrer Firewall erstellen, die Indexeranforderungen zulässt.

In diesem Artikel wird erklärt, wie Sie die IP-Adresse Ihres Suchdienstes herausfinden und dann eine eingehende IP-Regel für ein Azure Storage-Konto konfigurieren. Dieser Ansatz ist zwar spezifisch für Azure Storage, funktioniert aber auch für andere Azure-Ressourcen, die IP-Firewall-Regeln für den Datenzugriff verwenden, wie Azure Cosmos DB und Azure SQL.

Hinweis

Gilt nur für Azure Storage. Ihr Speicherkonto und Ihr Suchdienst müssen sich in verschiedenen Regionen befinden, wenn Sie IP-Firewallregeln definieren möchten. Wenn Ihr Setup dies nicht zulässt, versuchen Sie stattdessen die Ausnahme für vertrauenswürdige Dienste oder die Regel für Ressourceninstanzen.

Für private Verbindungen von Indexern zu einer unterstützten Azure-Ressource empfehlen wir, einen freigegebenen privaten Link einzurichten. Private Verbindungen durchlaufen das Microsoft Backbone-Netzwerk und umgehen das öffentliche Internet vollständig.

IP-Adresse eines Suchdienstes abrufen

  1. Rufen Sie den vollqualifizierten Domänennamen (FQDN) Ihres Suchdiensts ab. Dies sieht wie <search-service-name>.search.windows.net aus. Sie können den FQDN ermitteln, indem Sie Ihren Suchdienst im Azure-Portal suchen.

    Screenshot: die Übersichtsseite des Suchdienstes.

  2. Suchen Sie die IP-Adresse des Suchdienstes, indem Sie einen nslookup (oder ping) des FQDN in einer Eingabeaufforderung durchführen. Stellen Sie sicher, dass Sie das Präfix https:// aus dem FQDN entfernen.

  3. Kopieren Sie die IP-Adresse, damit Sie sie im nächsten Schritt in einer eingehenden Regel angeben können. Im folgenden Beispiel lautet die IP-Adresse, die Sie kopieren sollten, „150.0.0.1“.

    nslookup contoso.search.windows.net
    Server:  server.example.org
    Address:  10.50.10.50
    
    Non-authoritative answer:
    Name:    <name>
    Address:  150.0.0.1
    aliases:  contoso.search.windows.net
    

Zulassen des Zugriffs über Ihre Client-IP-Adresse

Clientanwendungen, die Indizierungs- und Abfrageanforderungen per Push an den Suchdienst senden, müssen in einem IP-Adressbereich repräsentiert sein. In Azure können Sie im Allgemeinen die IP-Adresse ermitteln, indem Sie den FQDN eines Diensts pingen (ping <your-search-service-name>.search.windows.net gibt beispielsweise die IP-Adresse eines Suchdiensts zurück).

Fügen Sie Ihre Client-IP-Adresse hinzu, um den Zugriff auf den Dienst aus dem Azure-Portal auf Ihrem aktuellen Computer zu ermöglichen. Navigieren Sie zum Abschnitt Netzwerk im linken Navigationsbereich. Ändern Sie den öffentlichen Netzwerkzugriff auf ausgewählte Netzwerke und überprüfen Sie dann Hinzufügen Ihrer Client-IP-Adresse unter Firewall.

Screenshot: Hinzufügen von Client-IP zur Suchdienst-Firewall

Abrufen der Azure-Portal IP-Adresse

Wenn Sie das Portal oder den Assistenten zum Importieren von Daten verwenden, um einen Indexer zu erstellen, benötigen Sie auch eine Eingangsregel für das Portal.

Um die IP-Adresse des Portals abrufen zu können, führen Sie nslookup (oder ping) auf stamp2.ext.search.windows.net, der Domäne des Traffic-Managers, aus. Bei „nslookup“ ist die IP-Adresse im Teil „Nicht autoritative Antwort“ der Antwort sichtbar.

Im folgenden Beispiel lautet die IP-Adresse, die Sie kopieren sollten, „52.252.175.48“.

$ nslookup stamp2.ext.search.windows.net
Server:  ZenWiFi_ET8-0410
Address:  192.168.50.1

Non-authoritative answer:
Name:    azsyrie.northcentralus.cloudapp.azure.com
Address:  52.252.175.48
Aliases:  stamp2.ext.search.windows.net
          azs-ux-prod.trafficmanager.net
          azspncuux.management.search.windows.net

Dienste in unterschiedlichen Regionen stellen eine Verbindung mit verschiedenen Traffic-Managern her. Unabhängig vom Domänenname ist die IP-Adresse, die vom Ping zurückgegeben wird, die richtige, wenn Sie eine eingehende Firewallregel für das Azure-Portal in Ihrer Region definieren.

Beim Pingen kommt es für die Anforderung zum Timeout, aber die IP-Adresse wird in der Antwort angezeigt. In der Meldung "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]" lautet die IP-Adresse zum Beispiel "52.252.175.48".

IP-Adressen für das Dienst-Tag "AzureCognitiveSearch" abrufen

Sie müssen auch eine Eingangsregel erstellen, die Anforderungen aus der Ausführungsumgebung mit mehreren Mandanten zulässt. Diese Umgebung wird von Microsoft verwaltet und wird verwendet, um intensive Aufträge zu entladen, die Ihren Suchdienst sonst überlasten könnten. In diesem Schritt wird erläutert, wie Sie den für diese Eingangsregel benötigten IP-Adressbereich abrufen.

Für jede Region, die Azure KI Search unterstützt, ist ein IP-Adressbereich definiert. Geben Sie den vollständigen Bereich an, um den Erfolg von Anforderungen sicherzustellen, die aus der Ausführungsumgebung mit mehreren Mandanten stammen.

Sie können diesen IP-Adressbereich über das Dienst-Tag AzureCognitiveSearch abrufen.

  1. Verwenden Sie entweder die Discovery-API oder die herunterladbare JSON-Datei. Handelt es sich bei dem Suchdienst um die öffentliche Azure-Cloud, laden Sie die Azure Public JSON-Datei herunter.

  2. Öffnen Sie die JSON-Datei, und suchen Sie nach „AzureCognitiveSearch“. Für einen Suchdienst in „WestUS2“ (USA, Westen 2) sind die IP-Adressen für die Indexerausführungsumgebung mit mehreren Mandanten die folgenden:

    {
    "name": "AzureCognitiveSearch.WestUS2",
    "id": "AzureCognitiveSearch.WestUS2",
    "properties": {
       "changeNumber": 1,
       "region": "westus2",
       "regionId": 38,
       "platform": "Azure",
       "systemService": "AzureCognitiveSearch",
       "addressPrefixes": [
          "20.42.129.192/26",
          "40.91.93.84/32",
          "40.91.127.116/32",
          "40.91.127.241/32",
          "51.143.104.54/32",
          "51.143.104.90/32",
          "2603:1030:c06:1::180/121"
       ],
       "networkFeatures": null
    }
    },
    
  3. Bei IP-Adressen mit dem Suffix „/32“ lassen Sie das „/32“ weg (40.91.93.84/32 wird in der Regeldefinition zu 40.91.93.84). Alle anderen IP-Adressen können wortwörtlich verwendet werden.

  4. Kopieren Sie alle IP-Adressen für den Bereich.

IP-Adressen zu IP-Firewall-Regeln hinzufügen

Nachdem Sie nun über die erforderlichen IP-Adressen verfügen, können Sie die Eingangsregeln einrichten. Der einfachste Weg, IP-Adressbereiche zur Firewallregel eines Speicherkontos hinzuzufügen, ist über das Azure-Portal.

  1. Suchen Sie das Speicherkonto im Portal, und öffnen Sie Netzwerk im linken Navigationsbereich.

  2. Wählen Sie auf der Registerkarte Firewall und virtuelle Netzwerke die Option Ausgewählte Netzwerke aus.

    Screenshot: Azure Storage Firewall und die Seite virtuelle Netzwerke

  3. Fügen Sie die zuvor im Adressbereich abgerufenen IP-Adressen hinzu und wählen Sie Speichern aus. Sie sollten Regeln für den Suchdienst haben, Azure-Portal (optional) sowie alle IP-Adressen für das Diensttag "AzureCognitiveSearch" für Ihre Region.

    Screenshot: Abschnitt IP-Adresse der Seite.

Es kann fünf bis zehn Minuten dauern, bis die Firewallregeln aktualisiert sind. Danach sollten die Indexer auf die Daten im Speicherkonto zugreifen können.

Zusätzliche Netzwerksicherheit mit Tokenauthentifizierung

Firewalls und Netzwerksicherheit sind ein erster Schritt, um unbefugten Zugriff auf Daten und Vorgänge zu verhindern. Ihr nächster Schritt sollte die Autorisierung sein.

Wir empfehlen rollenbasierten Zugriff, bei dem Microsoft Entra ID-Benutzer und -Gruppen Rollen zugewiesen werden, die den Lese- und Schreibzugriff auf Ihren Dienst festlegen. Eine Beschreibung der integrierten Rollen sowie Anweisungen zum Erstellen benutzerdefinierter Rollen finden Sie unter Herstellen einer Verbindung mit Azure KI-Suche mithilfe von rollenbasierten Zugriffssteuerungen.

Wenn Sie keine schlüsselbasierte Authentifizierung benötigen, empfehlen wir, API-Schlüssel zu deaktivieren und ausschließlich Rollenzuweisungen zu verwenden.

Nächste Schritte