Indexerzugriff auf mit Azure-Netzwerksicherheit geschützten Inhalt

Wenn Ihre Anforderungen in Bezug auf eine Suchlösung die Verwendung eines virtuellen Azure-Netzwerks umfassen, erfahren Sie in diesem Konzeptartikel, wie ein Suchindexer auf Inhalte zugreifen kann, die durch Netzwerksicherheit geschützt sind. Er beschreibt die ausgehenden Datenverkehrsmuster und Indexerausführungsumgebungen. Darüber hinaus werden die von Azure KI Search unterstützten Funktionen für den Netzwerkschutz und Faktoren, die Ihre Sicherheitsstrategie beeinflussen können, behandelt. Da Azure Storage sowohl für den Datenzugriff als auch für dauerhafte Speicherung verwendet wird, behandelt dieser Artikel auch Netzwerküberlegungen speziell für die Suche und Speicherkonnektivität.

Sie suchen stattdessen nach Schritt-für-Schritt-Anweisungen? Informationen finden Sie unter Konfigurieren von Firewallregeln zur Ermöglichung des Indexerzugriffs oder Erstellen ausgehender Verbindungen über einen privaten Endpunkt.

Ressourcen, auf die von Indexern zugegriffen wird

Azure KI Search-Indexer können während der Ausführung ausgehende Aufrufe an verschiedene Azure-Ressourcen durchführen. Ein Indexer tätigt in drei Situationen ausgehende Aufrufe:

  • Verbindungsherstellung mit Datenquellen während der Indizierung
  • Herstellen einer Verbindung mit externem, gekapseltem Code über ein Skillset mit benutzerdefinierten Fähigkeiten
  • Herstellen einer Verbindung mit Azure Storage während der Ausführung von Skillset zum Zwischenspeichern von Anreicherungen, Speichern des Debug-Sitzungsstatus oder Schreiben in einen Wissensspeicher

Eine Liste aller möglichen Azure-Ressourcentypen, auf die ein Indexer bei normaler Ausführung zugreifen könnte, ist in der folgenden Tabelle enthalten.

Resource Zweck innerhalb der Indexerausführung
Azure Storage (Blobs, ADLS Gen 2, Dateien, Tabellen) Datenquellen-
Azure Storage (Blobs, Tabellen) Skillsets (Zwischenspeicherung von Anreicherungen, Debug-Sitzungen, Wissensspeicherprojektionen)
Azure Cosmos DB (verschiedene APIs) Datenquellen-
Azure SQL-Datenbank Datenquellen-
SQL Server auf Azure Virtual Machines Datenquellen-
Verwaltete SQL-Instanz Datenquellen-
Azure-Funktionen An ein Skillset angefügt und zum Hosten für benutzerdefinierte Web-API-Skills verwendet

Hinweis

Ein Indexer stellt außerdem eine Verbindung mit Azure KI Services für integrierte Skills her. Diese Verbindung wird jedoch über das interne Netzwerk hergestellt und unterliegt keine Netzwerkbestimmungen unter Ihrer Kontrolle.

Unterstützte Netzwerkschutzfunktionen

Ihre Azure-Ressourcen können mithilfe einer beliebigen Anzahl von Netzwerkisolationsmechanismen geschützt werden, die von Azure angeboten werden. Je nach Ressource und Region können Azure KI Search-Indexer ausgehende Verbindungen über IP-Firewalls und private Endpunkte herstellen. Dies unterliegt den in der folgenden Tabelle angegebenen Einschränkungen.

Resource IP-Einschränkung Privater Endpunkt
Azure Storage für textbasierte Indizierung (Blobs, Tabellen, ADLS 2. Generation) Wird nur unterstützt, wenn sich das Speicherkonto und der Suchdienst in unterschiedlichen Regionen befinden. Unterstützt
Azure Storage für KI-Anreicherung (Zwischenspeicherung, Wissensspeicher, Debug-Sitzungen) Wird nur unterstützt, wenn sich das Speicherkonto und der Suchdienst in unterschiedlichen Regionen befinden. Unterstützt
Azure Cosmos DB for NoSQL Unterstützt Unterstützt
Azure Cosmos DB for MongoDB Unterstützt Nicht unterstützt
Azure Cosmos DB for Apache Gremlin Unterstützt Nicht unterstützt
Azure SQL-Datenbank Unterstützt Unterstützt
SQL Server auf Azure Virtual Machines Unterstützt Nicht zutreffend
Verwaltete SQL-Instanz Unterstützt Nicht zutreffend
Azure-Funktionen Unterstützt Nur für bestimmte Ebenen von Azure-Funktionen unterstützt

Indexerausführungsumgebung

Azure KI Search beruht auf dem Konzept einer Indexerausführungsumgebung, die die Verarbeitung basierend auf den Merkmalen des Auftrags optimiert. Es gibt zwei Umgebungen. Wenn Sie eine IP-Firewall verwenden, um den Zugriff auf Azure-Ressourcen zu steuern, helfen Ihnen die Kenntnisse über Ausführungsumgebungen dabei, einen IP-Adressbereich einzurichten, der beides einschließt.

Bei jeder Indexerausführung bestimmt Azure KI Search die am besten geeignete Umgebung für die Ausführung. Je nach Anzahl und Art der zugewiesenen Tasks wird der Indexer in einer von zwei Umgebungen ausgeführt:

  • Eine private Ausführungsumgebung, die in einem Suchdienst enthalten ist.

    Indexer, die in der privaten Umgebung ausgeführt werden, teilen Computingressourcen mit anderen Indizierungs- und Abfrageworkloads in demselben Suchdienst. In der Regel werden in dieser Umgebung nur Indexer ausgeführt, die textbasiert indizieren (ohne Skillsets).

  • Eine mehrinstanzenfähige Umgebung, die von Microsoft ohne zusätzliche Kosten verwaltet und gesichert wird. Sie unterliegt keinen Netzwerkbestimmungen unter Ihrer Kontrolle.

    Diese Umgebung wird verwendet, um rechenintensive Verarbeitungen auszulagern, sodass dienstspezifische Ressourcen für Routineoperationen verfügbar bleiben. Beispiele für ressourcenintensive Indexeraufträge sind z. B. das Anfügen von Skillsets, das Verarbeiten großer Dokumente oder das Verarbeiten vieler Dokumente.

Im folgenden Abschnitt wird die IP-Konfiguration zum Zulassen von Anforderungen aus einer Ausführungsumgebung erläutert.

Einrichten von IP-Bereichen für die Indizierungsausführung

Wenn sich die Azure-Ressource, die Quelldaten bereitstellt, hinter einer Firewall befindet, benötigen Sie für alle IP-Adressen, von denen eine Indexeranforderung stammen kann, Eingangsregeln, die Indexerverbindungen zulassen. Die IPs schließen die vom Suchdienst und der mehrinstanzenfähigen Umgebung verwendeten IPs ein.

  • Zum Abrufen der IP-Adresse des Suchdienstes (und der privaten Ausführungsumgebung) verwenden Sie nslookup (oder ping), um den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des Suchdienstes zu ermitteln. Der FQDN eines Suchdiensts in der öffentlichen Cloud wäre <service-name>.search.windows.net.

  • Verwenden Sie das AzureCognitiveSearch-Diensttag, um die IP-Adressen der mehrinstanzenfähigen Umgebungen abzurufen, in denen ein Indexer ausgeführt werden kann.

    Azure-Diensttags verfügen über einen veröffentlichten IP-Adressbereich für jeden Dienst. Sie finden diese IP-Adressen mithilfe der Ermittlungs-API oder einer herunterladbaren JSON-Datei. IP-Adressbereiche werden nach Region zugewiesen. Überprüfen Sie also ihre Suchdienstregion, bevor Sie beginnen.

Beim Festlegen der IP-Regel für die mehrinstanzenfähige Umgebung unterstützen bestimmte SQL Datenquellen einen einfachen Ansatz für die IP-Adressspezifikation. Anstatt alle IP-Adressen in der Regel aufzuzählen, können Sie eine Regel für eine Netzwerksicherheitsgruppe erstellen, in der das AzureCognitiveSearch Diensttag angegeben ist.

Sie können das Diensttag angeben, wenn ihre Datenquelle eine der folgenden Ist:

Beachten Sie, dass Sie, wenn Sie das Diensttag für die für die IP-Regel der mehrinstanzenfähigen Umgebung angegeben haben, weiterhin eine explizite eingehende Regel für die private Ausführungsumgebung (d. h. den Suchdienst selbst) benötigen, wie Sie sie z. B. durch nslookup erhalten.

Auswählen eines Konnektivitätsansatzes

Berücksichtigen Sie beim Integrieren von Azure KI Search in eine Lösung, die in einem virtuellen Netzwerk ausgeführt wird, die folgenden Einschränkungen:

  • Ein Indexer kann keine direkte Verbindung mit einem VNET-Dienstendpunkt herstellen. Öffentliche Endpunkte mit Anmeldeinformationen, private Endpunkte, ein vertrauenswürdiger Dienst und IP-Adressierung sind die einzigen unterstützten Methoden für Indexerverbindungen.

  • Ein Suchdienst wird immer in der Cloud ausgeführt und kann nicht in einem spezifischen virtuellen Netzwerk bereitgestellt werden, das nativ auf einem virtuellen Computer ausgeführt wird. Diese Funktion wird von Azure KI Search nicht angeboten.

Angesichts der oben genannten Einschränkungen sind Ihre Auswahlmöglichkeiten zum Erreichen der Suchintegration in einem virtuellen Netzwerk:

  • Konfigurieren Sie eine Firewall-Eingangsregel für Ihre Azure PaaS-Ressource, die Indexeranforderungen für Daten zulässt.

  • Konfigurieren Sie eine ausgehende Verbindung aus der Suche, die Indexerverbindungen mithilfe eines privaten Endpunkts erstellt.

    Für einen privaten Endpunkt erfolgt die Suchdienstverbindung zu Ihrer geschützten Ressource über einen freigegebenen privaten Link. Eine freigegebene private Verbindung ist eine Azure Private Link-Ressource, die in Azure KI Search erstellt, verwaltet und verwendet wird. Wenn Ihre Ressourcen vollständig gesperrt sind (ausgeführt auf einem geschützten virtuellen Netzwerk oder anderweitig nicht über eine öffentliche Verbindung verfügbar), ist ein privater Endpunkt Ihre einzige Wahl.

    Verbindungen über einen privaten Endpunkt müssen aus der privaten Ausführungsumgebung des Suchdienstes stammen. Um diese Anforderung zu erfüllen, müssen Sie die mehrinstanzenfähige Ausführung deaktivieren. Dieser Schritt wird in Erstellen ausgehende Verbindungen über einen privaten Endpunkt beschrieben.

Das Konfigurieren einer IP-Firewall ist kostenlos. Ein privater Endpunkt, der auf Azure Private Link basiert, hat Auswirkungen auf die Abrechnung.

Arbeiten mit einem privaten Endpunkt

In diesem Abschnitt werden die wichtigsten Schritte zur Einrichtung eines privaten Endpunkts für ausgehende Indexerverbindungen zusammengefasst. Aufgrund dieser Zusammenfassung können Sie entscheiden, ob ein privater Endpunkt die beste Wahl für Ihr Szenario ist. Ausführliche Schritte werden unter Erstellen ausgehender Verbindungen über einen privaten Endpunkt behandelt.

  • Eine freigegebene private Verbindung erfordert einen abrechenbaren Suchdienst, wobei der Mindesttarif entweder „Basic“ für die textbasierte Indizierung oder „Standard 2 (S2)“ für die skillbasierte Indizierung ist. Ausführliche Informationen finden Sie unter Tariflimits für die Anzahl privater Endpunkte.

  • Für eingehende und ausgehende Verbindungen gelten die Azure Private Link-Preise.

Schritt 1: Erstellen eines privaten Endpunkts für die sichere Ressource

Einen freigegebenen privaten Link erstellen Sie mithilfe der Portalseiten Ihres Suchdienstes oder über die Verwaltungs-API.

In Azure KI Search muss Ihr Suchdienst mindestens die Basic-Dienstebene für textbasierte Indexer und die S2-Dienstebene für Indexer mit Skillsets aufweisen.

Eine private Endpunktverbindung akzeptiert Anforderungen aus der privaten Indexerausführungsumgebung, aber nicht aus der mehrinstanzenfähigen Umgebung. Sie müssen die mehrinstanzenfähige Ausführung, wie in Schritt 3 beschrieben, deaktivieren, damit diese Anforderung erfüllt ist.

Schritt 2: Genehmigen der Verbindung mit dem privaten Endpunkt

Wenn der (asynchrone) Vorgang abgeschlossen wird, der eine freigegebene Private Link-Ressource erstellt, wird eine Verbindung über einen privaten Endpunkt mit dem Status „Ausstehend“ erstellt. Es wird noch kein Datenverkehr über die Verbindung übertragen.

Sie müssen diese Anforderung auf Ihrer sicheren Ressource suchen und genehmigen. Je nach Ressource können Sie diesen Vorgang mit Azure-Portal abschließen. Verwenden Sie andernfalls die Private Link-Dienste-REST-API.

Schritt 3: Erzwingen der Ausführung des Indexers in der „privaten“ Umgebung

Für private Endpunktverbindungen müssen Sie die die executionEnvironment des Indexers zwingend auf "Private" setzen. Mit diesem Schritt wird sichergestellt, dass alle Indexerausführungen auf die private Umgebung beschränkt sind, die innerhalb des Suchdienstes bereitgestellt wird.

Der Bereich dieser Einstellung ist auf einen Indexer und nicht auf den Suchdienst bezogen. Wenn Sie möchten, dass alle Indexer eine Verbindung über private Endpunkte herstellen, muss jeder von ihnen wie folgt konfiguriert sein:

    {
      "name" : "myindexer",
      ... other indexer properties
      "parameters" : {
          ... other parameters
          "configuration" : {
            ... other configuration properties
            "executionEnvironment": "Private"
          }
        }
    }

Wenn Sie über einen genehmigten privaten Endpunkt für eine Ressource verfügen, versuchen Indexer, die als privat festgelegt sind, Zugriff über die private Verbindung zu erlangen, die für die Azure-Ressource erstellt und genehmigt wurde.

Azure KI Search überprüft, ob Aufrufer des privaten Endpunkts über entsprechende Azure RBAC-Rollenberechtigungen verfügen. Wenn Sie z. B. eine Verbindung über einen privaten Endpunkt mit einem Speicherkonto mit Leseberechtigungen anfordern, wird dieser Aufruf abgelehnt.

Wenn der private Endpunkt nicht genehmigt wird, oder wenn der Indexer die private Endpunktverbindung nicht verwendet hat, wird im Indexerausführungsverlauf eine transientFailure-Fehlermeldung angezeigt.

Zugriff auf ein netzwerkgeschütztes Speicherkonto

Ein Suchdienst speichert Indizes und Synonymlisten. Für andere Funktionen, die Speicher erfordern, ist Azure KI Search von Azure Storage abhängig. Die Anreicherung zwischenspeichern, Debug-Sitzungen und Wissensspeicher fallen in diese Kategorie. Der Standort jedes Diensts und alle Netzwerkschutze für den Speicher bestimmen Ihre Datenzugriffsstrategie.

Dienste in derselben Region

In Azure Storage erfordert der Zugriff über eine Firewall, dass die Anforderung aus einer anderen Region stammt. Wenn Azure Storage und Azure KI Search sich in derselben Region befinden, können Sie die IP-Einschränkungen für das Speicherkonto umgehen, indem Sie unter der Systemidentität des Suchdiensts auf Daten zugreifen.

Es gibt zwei Optionen zur Unterstützung des Datenzugriffs mithilfe der Systemidentität:

Die oben genannten Optionen hängen für die Authentifizierung von Microsoft Entra ID ab, was bedeutet, dass die Verbindung mit einer Microsoft Entra-Anmeldung erfolgen muss. Derzeit wird für Verbindungen innerhalb derselben Region über eine Firewall nur eine systemseitig zugewiesene verwaltete Identität für Azure KI Search unterstützt.

Dienste in verschiedenen Regionen

Wenn sich die Suche und der Speicher in verschiedenen Regionen befinden, können Sie die zuvor erwähnten Optionen verwenden oder IP-Regeln einrichten, die Anforderungen von Ihrem Dienst zulassen. Je nach Workload müssen Sie möglicherweise Regeln für mehrere Ausführungsumgebungen einrichten, wie im nächsten Abschnitt beschrieben.

Nächste Schritte

Nachdem Sie nun mit Indexerdatenzugriffsoptionen für Lösungen vertraut sind, die in einem virtuellen Azure-Netzwerk bereitgestellt wurden, lesen Sie als nächsten Schritte eine der folgenden Artikel zur Vorgehensweise: