Partager via


Connexions de l’indexeur à une instance SQL sur une machine virtuelle Azure

Quand vous configurez un indexeur Azure SQL pour extraire le contenu d’une base de données sur une machine virtuelle Azure, des étapes supplémentaires sont nécessaires pour sécuriser les connexions.

Une connexion entre la Recherche Azure AI et une instance SQL sur une machine virtuelle constitue une connexion Internet publique. Pour que les connexions soient sécurisées, effectuez les étapes suivantes :

Après avoir installé le certificat sur votre machine virtuelle, vous êtes prêt à effectuer les étapes suivantes indiquées dans cet article.

Remarque

Les colonnes Always Encrypted ne sont actuellement pas prises en charge par les indexeurs de Recherche Azure AI.

Activer des connexions chiffrées

Recherche Azure AI requiert un canal chiffré pour toutes les demandes d’indexeur via une connexion internet publique. Cette section répertorie les étapes pour y parvenir.

  1. Vérifiez les propriétés du certificat pour vous assurer que le nom du sujet est le nom de domaine complet (FQDN) de la machine virtuelle Azure.

    Vous pouvez utiliser un outil tel que CertUtils ou le composant logiciel enfichable Certificats pour afficher les propriétés. Vous pouvez obtenir le FQDN à partir de la section Informations de base de la page du service VM, dans le champ Adresse IP publique/Étiquette du nom DNS, dans le portail Azure.

    Le nom de domaine complet présente généralement le format <your-VM-name>.<region>.cloudapp.azure.com

  2. Configurez SQL Server de manière à utiliser le certificat à l’aide de l’Éditeur du Registre (regedit).

    Bien que le Gestionnaire de Configuration SQL Server soit souvent utilisé pour cette tâche, vous ne pouvez pas l’utiliser pour ce scénario. Il ne trouve pas le certificat importé, car le nom de domaine complet de la machine virtuelle sur Azure ne correspond pas au nom de domaine complet tel que déterminé par la machine virtuelle (il identifie le domaine en tant qu’ordinateur local ou domaine du réseau auquel il est joint). Lorsque les noms ne correspondent pas, utilisez regedit pour spécifier le certificat.

    1. Dans regedit, accédez à la clé de Registre suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      La partie [MSSQL13.MSSQLSERVER] varie en fonction du nom de version et de l’instance.

    2. Définissez la valeur de la clé Certificat sur l’empreinte (sans espaces) du certificat TLS/SSL que vous avez importé sur la machine virtuelle.

    Il existe plusieurs manières d’obtenir l’empreinte numérique, certaines étant mieux que d’autres. Si vous le copiez à partir du composant logiciel enfichable Certificats dans MMC, vous risquez de copier un caractère de début invisible comme décrit dans cet article de support, ce qui entraîne une erreur pendant la tentative de connexion. Il existe plusieurs solutions de contournement pour résoudre ce problème. La plus simple consiste à reculer et retaper le premier caractère de l’empreinte numérique pour supprimer le caractère de début dans le champ de la valeur de clé dans regedit. Vous pouvez également utiliser un autre outil pour copier l’empreinte numérique.

  3. Accordez des autorisations pour le compte de service.

    Assurez-vous que le compte de service SQL Server a l’autorisation appropriée sur la clé privée du certificat TLS/SSL. Si vous ignorez cette étape, SQL Server ne démarre pas. Vous pouvez utiliser le composant logiciel enfichable Certificats ou CertUtils pour cette tâche.

  4. Redémarrez le service SQL Server.

Se connecter à SQL Server

Après avoir configuré la connexion chiffrée demandée par la Recherche Azure AI, connectez-vous à l’instance sur son point de terminaison public. L’article suivant décrit les exigences et la syntaxe de la connexion :

Configurer le groupe de sécurité réseau

La bonne pratique est de configurer le groupe de sécurité réseau (NSG), et le point de terminaison Azure ou la liste de contrôle d’accès (ACL) correspondants pour rendre votre machine virtuelle Azure accessible à d’autres parties. Vous avez sans doute déjà effectué cela pour permettre à votre propre logique d’application de se connecter à votre machine virtuelle SQL Azure. C’est la même chose pour une connexion de Recherche Azure AI à votre machine virtuelle SQL Azure.

Les étapes et les liens suivants fournissent des instructions sur la configuration du NSG pour les déploiements VM. Utilisez ces instructions pour faire figurer un point de terminaison de service de recherche dans la liste de contrôle d’accès en fonction de son adresse IP.

  1. Obtenez l’adresse IP de votre service de recherche. Consultez la section suivante pour obtenir des instructions.

  2. Ajoutez l’adresse IP de recherche à la liste de filtres IP du groupe de sécurité. Les deux articles suivants expliquent les étapes :

L’adressage IP peut poser quelques problèmes qui sont facilement surmontés si vous êtes conscient du problème et des solutions de contournement possibles. Les sections restantes fournissent des recommandations pour la gestion des problèmes liés aux adresses IP dans la liste de contrôle d’accès.

Nous vous recommandons fortement de restreindre l’accès à l’adresse IP de votre service de recherche et la plage d’adresses IP de l’étiquette de service AzureCognitiveSearch dans la liste de contrôle d’accès au lieu de rendre vos machines virtuelles SQL Azure disponibles pour toutes les demandes de connexion.

Vous pouvez trouver l’adresse IP en effectuer un test ping sur le nom de domaine complet (par exemple, <your-search-service-name>.search.windows.net) de votre service de recherche. Même s’il est possible que l’adresse IP du service de recherche change, il est peu probable que cela arrive. L’adresse IP a tendance à être statique pour la durée de vie du service.

Vous pouvez trouver la plage d’adresses IP de AzureCognitiveSearch l’étiquette de service en utilisant des fichiers JSON téléchargeables ou via l’API de détection d’étiquettes de service. La plage d’adresses IP est mise à jour chaque semaine.

Inclure les adresses IP du portail Azure

Si vous utilisez le portail Azure pour créer un indexeur, vous devez octroyer l’accès entrant au portail Azure à votre machine virtuelle SQL Azure. Pour une règle de trafic entrant dans le pare-feu, vous devez fournir l’adresse IP du portail Azure.

Pour obtenir l’adresse IP du portail Azure, exécutez la commande ping sur stamp2.ext.search.windows.net, qui est le domaine du gestionnaire de trafic. La demande expire, mais l’adresse IP est visible dans le message d’état. Par exemple, dans le message « Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48] », l’adresse IP est « 52.252.175.48 ».

Les clusters dans différentes régions se connectent à différents gestionnaires de trafic. Quel que soit le nom de domaine, l’adresse IP renvoyée par la commande ping est la bonne à utiliser lors de la définition d’une règle de pare-feu entrante pour le Portail Azure dans votre région.

Compléter la sécurité réseau avec l’authentification par jeton

Les pare-feu et la sécurité réseau sont la première étape pour empêcher l’accès non autorisé aux données et aux opérations. L’autorisation doit être l’étape suivante.

Nous vous recommandons d’utiliser l’accès en fonction du rôle, où les utilisateurs et groupes Microsoft Entra ID reçoivent des rôles qui déterminent l’accès en lecture et en écriture à votre service. Consultez Se connecter à la Recherche Azure AI avec le contrôle d’accès en fonction du rôle pour obtenir une description des rôles intégrés et des instructions pour la création de rôles personnalisés.

Si vous n’avez pas besoin d’une authentification basée sur des clés, nous vous recommandons de désactiver les clés API et d’utiliser exclusivement les attributions de rôle.

Étapes suivantes

Une fois la configuration résolue, vous pouvez maintenant spécifier un serveur SQL Server sur une machine virtuelle Azure comme source de données pour un indexeur Recherche Azure AI. Pour plus d’informations, consultez Indexer les données d’Azure SQL.