Indexeerfunctieverbindingen met een SQL Server-exemplaar op een virtuele Azure-machine

Bij het configureren van een Azure SQL-indexeerfunctie voor het extraheren van inhoud uit een database op een virtuele Azure-machine, zijn extra stappen vereist voor beveiligde verbindingen.

Een verbinding van Azure AI Search naar een SQL Server-exemplaar op een virtuele machine is een openbare internetverbinding. Voer de volgende stappen uit om beveiligde verbindingen te voltooien:

  • Haal een certificaat op bij een certificeringsinstantieprovider voor de volledig gekwalificeerde domeinnaam van het SQL Server-exemplaar op de virtuele machine.

  • Installeer het certificaat op de virtuele machine.

Nadat u het certificaat op uw VIRTUELE machine hebt geïnstalleerd, kunt u de volgende stappen in dit artikel uitvoeren.

Notitie

Always Encrypted-kolommen worden momenteel niet ondersteund door Azure AI Search-indexeerfuncties.

Versleutelde verbindingen inschakelen

Azure AI Search vereist een versleuteld kanaal voor alle indexeeraanvragen via een openbare internetverbinding. In deze sectie vindt u de stappen om dit werk te maken.

  1. Controleer de eigenschappen van het certificaat om te controleren of de onderwerpnaam de FQDN (Fully Qualified Domain Name) van de Azure-VM is.

    U kunt een hulpprogramma zoals CertUtils of de module Certificaten gebruiken om de eigenschappen weer te geven. U kunt de FQDN ophalen via de sectie Essentials van de VM-service, in het veld Openbaar IP-adres/DNS-naamlabel , in Azure Portal.

    De FQDN wordt doorgaans opgemaakt als <your-VM-name>.<region>.cloudapp.azure.com

  2. Configureer SQL Server om het certificaat te gebruiken met behulp van de Register-editor (regedit).

    Hoewel SQL Server Configuration Manager vaak wordt gebruikt voor deze taak, kunt u deze niet gebruiken voor dit scenario. Het geïmporteerde certificaat wordt niet gevonden omdat de FQDN-naam van de VIRTUELE machine in Azure niet overeenkomt met de FQDN zoals bepaald door de VIRTUELE machine (het identificeert het domein als de lokale computer of het netwerkdomein waaraan het lid is). Als namen niet overeenkomen, gebruikt u regedit om het certificaat op te geven.

    1. Blader in regedit naar deze registersleutel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      Het [MSSQL13.MSSQLSERVER] onderdeel varieert op basis van de versie- en instantienaam.

    2. Stel de waarde van de certificaatsleutel in op de vingerafdruk (zonder spaties) van het TLS/SSL-certificaat dat u hebt geïmporteerd in de VIRTUELE machine.

    Er zijn verschillende manieren om de vingerafdruk op te halen, sommige beter dan andere. Als u deze kopieert uit de module Certificaten in MMC, kunt u een onzichtbaar voorloopteken ophalen, zoals beschreven in dit ondersteuningsartikel, wat resulteert in een fout wanneer u een verbinding probeert uit te voeren. Er zijn verschillende tijdelijke oplossingen voor het oplossen van dit probleem. Het eenvoudigste is om backspace opnieuw te maken en vervolgens het eerste teken van de vingerafdruk opnieuw te typen om het voorloopteken in het sleutelwaardeveld in regedit te verwijderen. U kunt ook een ander hulpmiddel gebruiken om de vingerafdruk te kopiëren.

  3. Machtigingen verlenen aan het serviceaccount.

    Zorg ervoor dat aan het SQL Server-serviceaccount de juiste machtiging is verleend voor de persoonlijke sleutel van het TLS/SSL-certificaat. Als u deze stap over het hoofd ziet, wordt SQL Server niet gestart. U kunt de module Certificaten of CertUtils voor deze taak gebruiken.

  4. Start de SQL Server-service opnieuw.

Verbinding maken met SQL Server

Nadat u de versleutelde verbinding hebt ingesteld die is vereist voor Azure AI Search, maakt u verbinding met het exemplaar via het openbare eindpunt. In het volgende artikel worden de verbindingsvereisten en syntaxis uitgelegd:

De netwerkbeveiligingsgroep configureren

Het is een best practice om de netwerkbeveiligingsgroep (NSG) en het bijbehorende Azure-eindpunt of de toegangsbeheerlijst (ACL) te configureren om uw Azure-VM toegankelijk te maken voor andere partijen. De kans is groot dat u dit eerder hebt gedaan om uw eigen toepassingslogica verbinding te laten maken met uw SQL Azure-VM. Het is niet anders voor een Azure AI Search-verbinding met uw SQL Azure-VM.

De volgende stappen en koppelingen bevatten instructies over de NSG-configuratie voor VM-implementaties. Gebruik deze instructies voor het ACL-eindpunt van een zoekservice op basis van het IP-adres.

  1. Haal het IP-adres van uw zoekservice op. Zie de volgende sectie voor instructies.

  2. Voeg het zoek-IP-adres toe aan de IP-filterlijst van de beveiligingsgroep. In een van de volgende artikelen worden de stappen uitgelegd:

IP-adressering kan een aantal uitdagingen opleveren die eenvoudig worden opgelost als u zich bewust bent van het probleem en mogelijke tijdelijke oplossingen. De resterende secties bieden aanbevelingen voor het afhandelen van problemen met betrekking tot IP-adressen in de ACL.

We raden u ten zeerste aan om de toegang tot het IP-adres van uw zoekservice en het IP-adresbereik van AzureCognitiveSearchde servicetag in de ACL te beperken in plaats van uw SQL Azure-VM's open te stellen voor alle verbindingsaanvragen.

U kunt het IP-adres achterhalen door de FQDN (bijvoorbeeld <your-search-service-name>.search.windows.net) van uw zoekservice te pingen. Hoewel het mogelijk is dat het IP-adres van de zoekservice kan worden gewijzigd, is het onwaarschijnlijk dat het wordt gewijzigd. Het IP-adres is meestal statisch voor de levensduur van de service.

U vindt het IP-adresbereik van AzureCognitiveSearchde servicetag door downloadbare JSON-bestanden of via de Service Tag Discovery-API te gebruiken. Het IP-adresbereik wordt wekelijks bijgewerkt.

De IP-adressen van Azure Portal opnemen

Als u Azure Portal gebruikt om een indexeerfunctie te maken, moet u de portal binnenkomende toegang verlenen tot uw virtuele SQL Azure-machine. Voor een regel voor inkomend verkeer in de firewall moet u het IP-adres van de portal opgeven.

Ping, het domein van traffic manager, om het IP-adres stamp2.ext.search.windows.netvan de portal op te halen. Er treedt een time-out op voor de aanvraag, maar het IP-adres is zichtbaar in het statusbericht. In het bericht Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48], is het IP-adres bijvoorbeeld '52.252.175.48'.

Clusters in verschillende regio's maken verbinding met verschillende verkeersbeheerders. Ongeacht de domeinnaam is het IP-adres dat wordt geretourneerd door de ping het juiste adres dat moet worden gebruikt bij het definiëren van een binnenkomende firewallregel voor de Azure-portal in uw regio.

Netwerkbeveiliging aanvullen met tokenverificatie

Firewalls en netwerkbeveiliging zijn een eerste stap bij het voorkomen van onbevoegde toegang tot gegevens en bewerkingen. Autorisatie moet uw volgende stap zijn.

We raden aan op rollen gebaseerde toegang, waarbij Microsoft Entra ID-gebruikers en -groepen worden toegewezen aan rollen die lees- en schrijftoegang tot uw service bepalen. Zie Verbinding maken naar Azure AI Search met behulp van op rollen gebaseerde toegangsbeheer voor een beschrijving van ingebouwde rollen en instructies voor het maken van aangepaste rollen.

Als u geen verificatie op basis van sleutels nodig hebt, raden we u aan API-sleutels uit te schakelen en uitsluitend roltoewijzingen te gebruiken.

Volgende stappen

Met de configuratie kunt u nu een SQL Server op Azure VM opgeven als de gegevensbron voor een Azure AI Search-indexeerfunctie. Zie Indexgegevens uit Azure SQL voor meer informatie.