Połączenia indeksatora z wystąpieniem programu SQL Server na maszynie wirtualnej platformy Azure

Podczas konfigurowania indeksatora usługi Azure SQL w celu wyodrębniania zawartości z bazy danych na maszynie wirtualnej platformy Azure wymagane są dodatkowe kroki w przypadku bezpiecznych połączeń.

Połączenie z usługi Azure AI Search do wystąpienia programu SQL Server na maszynie wirtualnej jest publicznym połączeniem internetowym. Aby bezpieczne połączenia zakończyły się pomyślnie, wykonaj następujące kroki:

  • Uzyskaj certyfikat od dostawcy urzędu certyfikacji dla w pełni kwalifikowanej nazwy domeny wystąpienia programu SQL Server na maszynie wirtualnej.

  • Zainstaluj certyfikat na maszynie wirtualnej.

Po zainstalowaniu certyfikatu na maszynie wirtualnej możesz wykonać poniższe kroki opisane w tym artykule.

Uwaga

Kolumny Always Encrypted nie są obecnie obsługiwane przez indeksatory usługi Azure AI Search.

Włączanie szyfrowanych połączeń

Usługa Azure AI Search wymaga zaszyfrowanego kanału dla wszystkich żądań indeksatora za pośrednictwem publicznego połączenia internetowego. W tej sekcji wymieniono kroki umożliwiające wykonanie tej pracy.

  1. Sprawdź właściwości certyfikatu, aby sprawdzić, czy nazwa podmiotu jest w pełni kwalifikowaną nazwą domeny (FQDN) maszyny wirtualnej platformy Azure.

    Aby wyświetlić właściwości, możesz użyć narzędzia takiego jak CertUtils lub przystawki Certyfikaty. Nazwę FQDN można uzyskać z sekcji Podstawy usługi maszyny wirtualnej w polu Etykieta publicznego adresu IP/nazwy DNS w witrynie Azure Portal.

    Nazwa FQDN jest zwykle formatowana jako <your-VM-name>.<region>.cloudapp.azure.com

  2. Skonfiguruj program SQL Server do używania certyfikatu przy użyciu Edytora rejestru (regedit).

    Chociaż program SQL Server Configuration Manager jest często używany w tym zadaniu, nie można go używać w tym scenariuszu. Nie znajdzie zaimportowanego certyfikatu, ponieważ nazwa FQDN maszyny wirtualnej na platformie Azure nie jest zgodna z nazwą FQDN określoną przez maszynę wirtualną (identyfikuje domenę jako komputer lokalny lub domenę sieci, do której jest przyłączony). Jeśli nazwy nie są zgodne, użyj regedit, aby określić certyfikat.

    1. W regedit przejdź do tego klucza rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      Część [MSSQL13.MSSQLSERVER] różni się w zależności od wersji i nazwy wystąpienia.

    2. Ustaw wartość klucza certyfikatu na odcisk palca (bez spacji) certyfikatu TLS/SSL zaimportowanego do maszyny wirtualnej.

    Istnieje kilka sposobów uzyskania odcisku palca, niektóre lepsze niż inne. Jeśli skopiujesz go z przystawki Certyfikaty w programie MMC, możesz odebrać niewidoczny znak wiodący zgodnie z opisem w tym artykule pomocy technicznej, co powoduje błąd podczas próby połączenia. Istnieje kilka obejść w celu rozwiązania tego problemu. Najłatwiej jest backspace over, a następnie ponownie wpisz pierwszy znak odcisku palca, aby usunąć wiodący znak w polu wartości klucza w regedit. Alternatywnie możesz użyć innego narzędzia do skopiowania odcisku palca.

  3. Udziel uprawnień do konta usługi.

    Upewnij się, że konto usługi programu SQL Server ma odpowiednie uprawnienia do klucza prywatnego certyfikatu TLS/SSL. Jeśli ten krok zostanie pominięty, program SQL Server nie zostanie uruchomiony. W tym zadaniu można użyć przystawki Certyfikaty lub narzędzia CertUtils .

  4. Uruchom ponownie usługę SQL Server.

Ustanawianie połączenia z programem SQL Server

Po skonfigurowaniu szyfrowanego połączenia wymaganego przez usługę Azure AI Search połącz się z wystąpieniem za pośrednictwem jego publicznego punktu końcowego. W poniższym artykule opisano wymagania i składnię połączenia:

Konfigurowanie sieciowej grupy zabezpieczeń

Najlepszym rozwiązaniem jest skonfigurowanie sieciowej grupy zabezpieczeń i odpowiedniego punktu końcowego platformy Azure lub listy kontroli dostępu (ACL) w celu udostępnienia maszyny wirtualnej platformy Azure innym stronom. Istnieje prawdopodobieństwo, że zrobiono to wcześniej, aby zezwolić własnej logice aplikacji na łączenie się z maszyną wirtualną Usługi SQL Azure. Nie różni się to od połączenia usługi Azure AI Search z maszyną wirtualną Usługi SQL Azure.

Poniższe kroki i linki zawierają instrukcje dotyczące konfiguracji sieciowej grupy zabezpieczeń dla wdrożeń maszyn wirtualnych. Skorzystaj z tych instrukcji, aby utworzyć listę punktów końcowych usługi wyszukiwania na podstawie adresu IP.

  1. Uzyskaj adres IP usługi wyszukiwania. Aby uzyskać instrukcje, zobacz poniższą sekcję .

  2. Dodaj adres IP wyszukiwania do listy filtrów IP grupy zabezpieczeń. Jeden z następujących artykułów zawiera opis kroków:

Adresowanie IP może stanowić kilka wyzwań, które można łatwo przezwyciężyć, jeśli znasz problem i potencjalne obejścia. Pozostałe sekcje zawierają zalecenia dotyczące obsługi problemów związanych z adresami IP w liście ACL.

Zdecydowanie zalecamy ograniczenie dostępu do adresu IP usługi wyszukiwania i zakresu adresów IP tagu AzureCognitiveSearch usługi na liście ACL zamiast otwierania Usługi SQL Azure maszyn wirtualnych dla wszystkich żądań połączenia.

Adres IP można znaleźć, wysyłając polecenie ping do nazwy FQDN (na przykład <your-search-service-name>.search.windows.net) usługi wyszukiwania. Chociaż adres IP usługi wyszukiwania jest możliwy do zmiany, jest mało prawdopodobne, że zmieni się. Adres IP zwykle jest statyczny przez okres istnienia usługi.

Zakres adresów IP tagu AzureCognitiveSearch usługi można znaleźć przy użyciu plików JSON do pobrania lub za pośrednictwem interfejsu API odnajdywania tagów usługi. Zakres adresów IP jest aktualizowany co tydzień.

Dołączanie adresów IP witryny Azure Portal

Jeśli używasz witryny Azure Portal do utworzenia indeksatora, musisz udzielić portalu dostępu przychodzącego do maszyny wirtualnej Usługi SQL Azure. Reguła ruchu przychodzącego w zaporze wymaga podania adresu IP portalu.

Aby uzyskać adres IP portalu, ping stamp2.ext.search.windows.net, który jest domeną usługi Traffic Manager. Upłynął limit czasu żądania, ale adres IP jest widoczny w komunikacie o stanie. Na przykład w komunikacie "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]" adres IP to "52.252.175.48".

Klastry w różnych regionach łączą się z różnymi menedżerami ruchu. Niezależnie od nazwy domeny adres IP zwracany z polecenia ping jest poprawny do użycia podczas definiowania reguły zapory dla ruchu przychodzącego dla witryny Azure Portal w twoim regionie.

Uzupełnienie zabezpieczeń sieci przy użyciu uwierzytelniania tokenów

Zapory i zabezpieczenia sieci są pierwszym krokiem w zapobieganiu nieautoryzowanemu dostępowi do danych i operacji. Autoryzacja powinna być następnym krokiem.

Zalecamy dostęp oparty na rolach, w którym użytkownicy i grupy identyfikatora Entra firmy Microsoft są przypisywane do ról, które określają dostęp do odczytu i zapisu w usłudze. Zobacz Połączenie do usługi Azure AI Search przy użyciu kontroli dostępu opartej na rolach, aby uzyskać opis wbudowanych ról i instrukcji dotyczących tworzenia ról niestandardowych.

Jeśli nie potrzebujesz uwierzytelniania opartego na kluczach, zalecamy wyłączenie kluczy interfejsu API i używanie przypisań ról wyłącznie.

Następne kroki

Po zakończeniu konfiguracji można teraz określić program SQL Server na maszynie wirtualnej platformy Azure jako źródło danych dla indeksatora usługi Azure AI Search. Aby uzyskać więcej informacji, zobacz Indeksowanie danych z usługi Azure SQL.