Indexerzugriff auf mit Azure-Netzwerksicherheit geschützten Inhalt
Wenn Ihre Azure-Ressourcen in einem virtuellen Azure-Netzwerks bereitgestellt werden, 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 in drei Situationen durchführen:
- Verbindungen mit externen Datenquellen während der Indizierung
- Verbindungen mit externem, gekapseltem Code über ein Skillset mit benutzerdefinierten Fähigkeiten
- Verbindungen 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 | Datenquelle |
OneLake (Microsoft Fabric) | Datenquelle |
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.
Indexer stellen mithilfe der folgenden Ansätze eine Verbindung mit Ressourcen her:
- Einem öffentlichen Endpunkt mit Anmeldeinformationen
- Einem privaten Endpunkt mithilfe von Azure Private Link
- Herstellen einer Verbindung als vertrauenswürdiger Dienst
- Herstellen einer Verbindung durch IP-Adressierung
Wenn Sich Ihre Azure-Ressource in einem virtuellen Netzwerk befindet, sollten Sie entweder einen privaten Endpunkt oder eine IP-Adressierung verwenden, um Indexerverbindungen mit den Daten zuzulassen.
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 |
Netzwerkzugriff und Umgebungen für die Indexerausführung
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 Kenntnisse über Ausführungsumgebungen dabei, einen IP-Adressbereich einzurichten, der beide Umgebungen 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 Aufgaben wird der Indexer in einer von zwei Umgebungen ausgeführt/
Ausführungsumgebung | Beschreibung |
---|---|
Privat | Intern für einen Suchdienst. Indexer, die in der privaten Umgebung ausgeführt werden, teilen Computingressourcen mit anderen Indizierungs- und Abfrageworkloads in demselben Suchdienst. Wenn Sie eine private Verbindung zwischen einem Indexer und Ihren Daten einrichten, z. B. einen freigegebenen privaten Link, ist dies die einzige Ausführungsumgebung, die Sie verwenden können, und sie wird automatisch verwendet. |
mehrinstanzenfähig | Von Microsoft ohne zusätzliche Kosten verwaltet und gesichert. 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. Skillsets, das Verarbeiten großer Dokumente oder das Verarbeiten vieler Dokumente. |
Für Standard2-Dienste und höher können Sie einen Indexer so konfigurieren, dass immer die private Umgebung verwendet wird. Die Skillsetverarbeitung wird jedoch immer in der Mehrinstanzenumgebung ausgeführt, auch wenn Sie Ihren Suchdienst für die Verwendung der privaten Umgebung konfigurieren. Weitere Informationen zur Indexerkonfiguration finden Sie unter Erstellen eines Indexers.
Einrichten von IP-Bereichen für die Indizierungsausführung
In diesem Abschnitt wird die IP-Firewallkonfiguration zum Zulassen von Anforderungen aus einer der Ausführungsumgebungen erläutert.
Wenn sich Ihre Azure-Ressource hinter einer Firewall befindet, richten Sie Eingangsregeln, die Indexerverbindungen zulassen, für alle IP-Adressen ein, von denen eine Indexeranforderung stammen kann. Dazu gehören die IP-Adresse, die vom Suchdienst verwendet wird, sowie die IP-Adressen, die von der mehrinstanzenfähigen Umgebung verwendet werden.
Zum Abrufen der IP-Adresse des Suchdienstes (und der privaten Ausführungsumgebung) verwenden Sie
nslookup
(oderping
), 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 möglicherweise ausgeführt wird.Azure-Diensttags verfügen über einen veröffentlichten IP-Adressbereich der mehrinstanzenfähigen Umgebung für jede Region. 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.
Einrichten von IP-Regeln für Azure SQL
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
Ein Suchdienst kann nicht in einem spezifischen virtuellen Netzwerk bereitgestellt werden, das nativ auf einem virtuellen Computer ausgeführt wird. Obwohl manche Azure-Ressourcen VNET-Dienstendpunkte bieten, wird diese Funktionalität von Azure KI-Suche nicht angeboten. Sie sollten daher einen der folgenden Ansätze implementieren.
Vorgehensweise | Details |
---|---|
Sichern der eingehenden Verbindung mit Ihrer Azure-Ressource | Konfigurieren einer eingehenden Firewallregel für Ihre Azure-Ressource, die Indexeranforderungen für Ihre Daten zulässt. Ihre Firewallkonfiguration sollte das Diensttag für die mehrinstanzenfähige Ausführung und die IP-Adresse Ihres Suchdiensts enthalten. Weitere Informationen finden Sie unter Konfigurieren von Firewallregeln, um den Indexerzugriff zuzulassen. |
Private Verbindung zwischen Azure KI-Suche und Ihrer Azure-Ressource | Konfigurieren eines freigegebenen privaten Links, der ausschließlich von Ihrem Suchdienst für Verbindungen mit Ihrer Ressource verwendet wird. Verbindungen laufen über das interne Netzwerk und umgehen das öffentliche Internet. 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. Weitere Informationen finden Sie unter Erstellen ausgehender Verbindungen über einen privaten Endpunkt. |
Verbindungen über einen privaten Endpunkt müssen aus der privaten Ausführungsumgebung des Suchdienstes stammen.
Das Konfigurieren einer IP-Firewall ist kostenlos. Ein privater Endpunkt, der auf Azure Private Link basiert, hat Auswirkungen auf die Abrechnung. Details finden Sie unter Azure Private Link – Preise.
Nachdem Sie die Netzwerksicherheit konfiguriert haben, kümmern Sie sich um die Rollenzuweisungen, die angeben, welche Benutzer und Gruppen Lese- und Schreibzugriff auf Ihre Daten und Vorgänge haben.
Überlegungen zur Verwendung eines privaten Endpunkts
Dieser Abschnitt befasst sich nur mit der Option einer privaten Verbindung.
- 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.
Sobald ein freigegebener privater Link erstellt wurde, verwendet der Suchdienst ihn immer für jede Indizierungsverbindung zu dieser bestimmten Azure-Ressource. Die private Verbindung ist gesperrt und wird intern erzwungen. Sie können die private Verbindung nicht umgehen, um eine öffentliche zu nutzen.
Erfordert eine abrechenbare Azure Private Link-Ressource.
Erfordert, dass ein Abonnementbesitzer die private Endpunktverbindung genehmigt.
Erfordert, dass Sie die mehrinstanzenfähige Ausführungsumgebung für den Indexer deaktivieren.
Legen Sie dazu das
executionEnvironment
des Indexers auf"Private"
fest. 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-Suche überprüft, ob Aufrufer des privaten Endpunkts über entsprechende Rollenzuweisungen 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.
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.
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:
Konfigurieren Sie die Suche so, dass sie als vertrauenswürdiger Dienst ausgeführt wird, und verwenden Sie die Ausnahme des vertrauenswürdigen Diensts in Azure Storage.
Konfigurieren Sie eine Ressourceninstanzregel in Azure Storage, die eingehende Anforderungen von einer Azure-Ressource zulässt.
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: