Freigeben über


Indexerverbindungen mit einer SQL Server-Instanz auf einem virtuellen Azure-Computer

Wenn Sie einen Azure SQL-Indexer konfigurieren, um Inhalte aus einer Datenbank auf eine Azure-VM zu extrahieren, sind zusätzliche Schritte für sichere Verbindungen erforderlich.

Eine Verbindung von Azure AI Search zur SQL Server-Instanz auf einer virtuellen Maschine ist eine öffentliche Internetverbindung. Um sichere Verbindungen herzustellen, führen Sie die folgenden Schritte aus:

  • Beschaffen Sie sich ein Zertifikat von einem Zertifizierungsstellenanbieter für den vollständig qualifizierten Domänennamen der SQL Server-Instanz auf dem virtuellen Computer.

  • Installieren Sie das Zertifikat auf dem virtuellen Computer.

Nachdem Sie das Zertifikat auf Ihrer VM installiert haben, können Sie die folgenden Schritte in diesem Artikel ausführen.

Hinweis

Immer verschlüsselte Spalten werden derzeit nicht von Azure AI Search Indexern unterstützt.

Aktivieren von verschlüsselten Verbindungen

Azure AI Search erfordert einen verschlüsselten Kanal für alle Indexer-Anfragen über eine öffentliche Internetverbindung. In diesem Abschnitt sind die entsprechenden Schritte angegeben.

  1. Überprüfen Sie die Eigenschaften des Zertifikats, um sicherzustellen, dass der Antragstellername der vollqualifizierte Domänenname (FQDN) der Azure-VM ist.

    Sie können ein Tool wie CertUtils oder das Zertifikat-Snap-In zum Anzeigen der Eigenschaften verwenden. Sie finden den vollqualifizierten Domänennamen (FQDN) im Azure-Portal auf der Seite des VM-Diensts unter „Zusammenfassung“ im Feld Öffentliche IP-Adresse/DNS-Namensbezeichnung.

    Der FQDN wird in der Regel als <your-VM-name>.<region>.cloudapp.azure.com formatiert.

  2. Konfigurieren Sie SQL Server für die Verwendung des Zertifikats mit dem Registrierungs-Editor (regedit).

    SQL Server-Konfigurations-Manager wird zwar häufig für diese Aufgabe verwendet, aber für dieses Szenario ist dies nicht möglich. Das importierte Zertifikat kann nicht gefunden werden, da der FQDN der VM unter Azure nicht mit dem von der VM ermittelten FQDN übereinstimmt (Domäne wird entweder als lokaler Computer oder als Netzwerkdomäne identifiziert, für die der Beitritt durchgeführt wurde). Verwenden Sie „regedit“, um das Zertifikat anzugeben, wenn die Namen nicht übereinstimmen.

    1. Navigieren Sie in „regedit“ zu diesem Registrierungsschlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      Der Teil [MSSQL13.MSSQLSERVER] variiert je nach Version und Instanzname.

    2. Legen Sie den Wert des Zertifikatschlüssels (Certificate) auf den Fingerabdruck (Thumbprint, ohne Leerzeichen) des TLS/SSL-Zertifikats fest, das Sie in den virtuellen Computer importiert haben.

    Es gibt mehrere Möglichkeiten zur Beschaffung des Fingerabdrucks, von denen einige besser als andere geeignet sind. Wenn Sie ihn aus dem Snap-In Zertifikate in MMC kopieren, ist unter Umständen ein unsichtbares vorangestelltes Zeichen enthalten. Dies führt zu einem Fehler, wenn Sie versuchen, die Verbindung herzustellen. Informationen hierzu finden Sie in diesem Supportartikel. Für dieses Problem gibt es mehrere Lösungen. Die einfachste Methode ist die Verwendung der Rückschritttaste und das erneute Eingeben des ersten Zeichens des Fingerabdrucks, um das vorangestellte Zeichen im Schlüsselwertfeld des Registrierungs-Editors zu entfernen. Alternativ dazu können Sie auch ein anderes Tool zum Kopieren des Fingerabdrucks verwenden.

  3. Gewähren Sie Berechtigungen für das Dienstkonto.

    Stellen Sie sicher, dass dem SQL Server-Dienstkonto die entsprechende Berechtigung für den privaten Schlüssel des TLS/SSL-Zertifikats gewährt wird. Wenn Sie diesen Schritt übersehen, startet SQL Server nicht. Sie können das Zertifikate-Snap-In oder CertUtils für diese Aufgabe verwenden.

  4. Starten Sie den SQL Server-Dienst neu.

Verbindung mit SQL Server herstellen

Nachdem Sie die für die Azure KI-Suche erforderliche verschlüsselte Verbindung eingerichtet haben, stellen Sie über den öffentlichen Endpunkt eine Verbindung mit der Instanz her. Im folgenden Artikel werden Verbindungsanforderungen und Syntax erläutert:

Konfigurieren der Netzwerksicherheitsgruppe

Es ist eine bewährte Methode, die Netzwerksicherheitsgruppe und den entsprechenden Azure-Endpunkt oder die Zugriffssteuerungsliste (ACL) zu konfigurieren, um Ihre Azure-VM für andere Parteien zugänglich zu machen. Wahrscheinlich haben Sie diese Konfiguration bereits durchgeführt, damit Ihre eigene Anwendungslogik die Verbindung mit Ihrer SQL Azure-VM herstellen kann. Bei einer Azure AI Search-Verbindung zu Ihrer SQL Azure-VM verhält es sich nicht anders.

Die folgenden Schritte und Links bieten Anleitungen zur NSG-Konfiguration für VM-Bereitstellungen. Verwenden Sie diese Anweisungen, um einen ACL-Suchdienst-Endpunkt anhand seiner IP-Adresse zu aktivieren.

  1. Rufen Sie die IP-Adresse Ihres Suchdiensts ab. Entsprechende Anweisungen finden Sie im nächsten Abschnitt.

  2. Fügen Sie die Such-IP-Adresse zur IP-Filterliste der Sicherheitsgruppe hinzu. In einem der folgenden Artikel werden die Schritte erläutert:

Die IP-Adressierung kann mit einigen Schwierigkeiten verbunden sein, die leicht bewältigt werden können, wenn Sie mit den Problemen und den entsprechenden Lösungen bereits vertraut sind. Die restlichen Abschnitte enthalten Empfehlungen für die Behandlung von Problemen in Bezug auf IP-Adressen in der ACL.

Wir empfehlen dringend, den Zugriff auf die IP-Adresse Ihres Suchdiensts und den IP-Adressbereich des Diensttags AzureCognitiveSearch in der ACL einzuschränken, anstatt Ihre SQL Azure-VMs für alle Verbindungsanfragen zu öffnen.

Sie können die IP-Adresse herausfinden, indem Sie den vollqualifizierten Domänennamen (z. B. <your-search-service-name>.search.windows.net) Ihres Suchdiensts pingen. Es ist zwar möglich, aber unwahrscheinlich, dass sich die IP-Adresse des Suchdiensts ändert. Die IP-Adresse ist in der Regel während der gesamten Lebensdauer des Diensts statisch.

Sie können den IP-Adressbereich des Diensttags AzureCognitiveSearch ermitteln, indem Sie entweder herunterladbare JSON-Dateien oder die Diensttagermittlungs-API verwenden. Der IP-Adressbereich wird wöchentlich aktualisiert.

Einbeziehen der IP-Adressen des Azure-Portals

Falls Sie das Azure-Portal zum Erstellen eines Indexers verwenden, müssen Sie dem Portal eingehenden Zugriff auf Ihre SQL Azure-VM erteilen. Eine eingehende Regel in der Firewall erfordert, dass Sie die IP-Adresse des Azure-Portals angeben.

Um die IP-Adresse des Azure-Portals zu erhalten, pingen Sie stamp2.ext.search.windows.net an, also die Domäne des Traffic-Managers. Bei der Anforderung tritt ein Timeout auf, aber die IP-Adresse wird in der Statusmeldung angezeigt. In der Meldung "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]" lautet die IP-Adresse zum Beispiel "52.252.175.48".

Cluster 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.

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

Nachdem die Konfiguration abgeschlossen ist, können Sie nun einen SQL Server auf Azure VM als Datenquelle für einen Azure AI Search Indexer angeben. Weitere Informationen finden Sie unter Indexdaten aus Azure SQL.