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. Damit sichere Verbindungen erfolgreich sind, müssen die folgenden Voraussetzungen erfüllt sein:

  • 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 Ihrem virtuellen Computer 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 im Azure-Portal auf dem Blatt 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 Zertifikate-Snap-In 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 Azure AI Search erforderliche verschlüsselte Verbindung eingerichtet haben, stellen Sie über den öffentlichen Endpunkt eine Verbindung zur Instanz her. Im folgenden Artikel werden Verbindungsanforderungen und Syntax erläutert:

Konfigurieren der Netzwerksicherheitsgruppe

Es ist nicht ungewöhnlich, die Netzwerksicherheitsgruppe und den entsprechenden Azure-Endpunkt oder die Zugriffssteuerungsliste (ACL) zu konfigurieren, um Ihren virtuellen Azure-Computer 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 Links führen zu 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 DiensttagsAzureCognitiveSearch 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 DiensttagsAzureCognitiveSearch 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 AI Search-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 Portals angeben.

Um die IP-Adresse des Portals zu erhalten, pingen Sie stamp2.ext.search.windows.net an, also die Domäne des Traffic-Managers. Die Anforderung wird zu einem Timeout führen, 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.

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.