Configurer des règles de pare-feu IP pour autoriser les connexions d’indexeur à partir d’Azure AI Recherche

Pour le compte d’un indexeur, un service de recherche émet des appels sortants vers une ressource Azure externe pour extraire les données pendant l’indexation. Si votre ressource Azure utilise des règles de pare-feu IP pour filtrer les appels entrants, vous devez absolument créer une règle de trafic entrant dans votre pare-feu qui admet les demandes d’indexeur.

Cet article explique comment rechercher l’adresse IP de votre service de recherche et configurer une règle d’adresse IP entrante sur un compte Stockage Azure. Bien que propre à Stockage Azure, cette approche fonctionne également pour les autres ressources Azure qui utilisent des règles de pare-feu IP pour l’accès aux données, telles que Azure Cosmos DB et Azure SQL.

Remarque

Applicable uniquement au stockage Azure. Votre compte de stockage et votre service de recherche doivent se trouver dans des régions différentes si vous souhaitez définir des règles de pare-feu IP. Si votre configuration ne l’autorise pas, essayez plutôt l’exception de service approuvé ou la règle d’instance de ressource.

Pour les connexions privées des indexeurs à n’importe quelle ressource Azure prise en charge, nous vous recommandons de configurer une liaison privée partagée. Les connexions privées parcourent le réseau principal Microsoft, en contournant complètement l’Internet public.

Obtenir une adresse IP de service de recherche

  1. Obtenez le nom de domaine complet (FQDN) de votre service de recherche. Cela ressemble à <search-service-name>.search.windows.net. Vous pouvez obtenir le nom de domaine complet en recherchant votre service de recherche sur le portail Azure.

    Capture d’écran de la page Vue d’ensemble du service de recherche.

  2. Recherchez l’adresse IP du service de recherche en exécutant nslookup (ou ping) du nom de domaine complet (FQDN) sur une invite de commandes. Veillez à supprimer le préfixe https:// du nom de domaine complet.

  3. Copiez l’adresse IP afin de pouvoir la spécifier sur une règle de trafic entrant à l’étape suivante. Dans l’exemple ci-dessous, l’adresse IP que vous devez copier est « 150.0.0.1 ».

    nslookup contoso.search.windows.net
    Server:  server.example.org
    Address:  10.50.10.50
    
    Non-authoritative answer:
    Name:    <name>
    Address:  150.0.0.1
    aliases:  contoso.search.windows.net
    

Autoriser l’accès à partir de votre adresse IP cliente

Les applications clientes qui envoient (push) les requêtes d’indexation et d’interrogation au service de recherche doivent être représentées dans une plage d’adresses IP. Sur Azure, vous pouvez généralement déterminer l’adresse IP en effectuant un test ping sur le FQDN d’un service (par exemple, ping <your-search-service-name>.search.windows.net retourne l’adresse IP d’un service de recherche).

Ajoutez votre adresse IP cliente pour autoriser l’accès au service à partir du Portail Azure sur votre ordinateur actuel. Accédez à la section Mise en réseau dans le volet de navigation gauche. Modifiez Accès réseau public pour le définir sur Réseaux sélectionnés, puis cochez Ajouter votre adresse IP cliente sous Pare-feu.

Capture d’écran d’ajout d’IP cliente au pare-feu du service de recherche

Obtenir l’adresse IP du Portail Azure

Si vous utilisez le portail ou l’Assistant Importation de données pour créer un indexeur, vous avez également besoin d’une règle de trafic entrant pour le portail.

Pour obtenir l’adresse IP du portail, exécutez la commande nslookup (ou ping) sur stamp2.ext.search.windows.net, qui est le domaine du gestionnaire de trafic. Pour nslookup, l’adresse IP est visible dans la partie « Réponse ne faisant pas autorité » de la réponse.

Dans l’exemple ci-dessous, l’adresse IP que vous devez copier est « 52.252.175.48 ».

$ nslookup stamp2.ext.search.windows.net
Server:  ZenWiFi_ET8-0410
Address:  192.168.50.1

Non-authoritative answer:
Name:    azsyrie.northcentralus.cloudapp.azure.com
Address:  52.252.175.48
Aliases:  stamp2.ext.search.windows.net
          azs-ux-prod.trafficmanager.net
          azspncuux.management.search.windows.net

Les services 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.

Pour le test ping, la demande expire, mais l’adresse IP est visible dans la réponse. Par exemple, dans le message « Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48] », l’adresse IP est « 52.252.175.48 ».

Obtenir les adresses IP pour la balise de service « AzureCognitiveSearch »

Vous devez également créer une règle de trafic entrant qui autorise les requêtes de l’environnement d’exécution multilocataire. Cet environnement est géré par Microsoft et il est utilisé pour décharger les tâches intensives de traitement qui pourraient autrement submerger votre service de recherche. Cette section explique comment obtenir la plage d’adresses IP nécessaire pour créer cette règle de trafic entrant.

Une plage d’adresses IP est définie pour chaque région prenant en charge Azure AI Recherche. Spécifiez la plage complète pour garantir la réussite des demandes provenant de l’environnement d’exécution multilocataire.

Vous pouvez récupérer cette plage d’adresses IP à partir de l’étiquette de service AzureCognitiveSearch.

  1. Utilisez l’API de découverte ou le fichier JSON téléchargeable. Si le service de recherche est le cloud public Azure, téléchargez le fichier JSON public Azure.

  2. Ouvrez le fichier JSON et recherchez « AzureCognitiveSearch ». Pour chaque service de recherche dans WestUS2, les adresses IP de l’environnement d’exécution de l’indexeur multilocataire sont les suivantes :

    {
    "name": "AzureCognitiveSearch.WestUS2",
    "id": "AzureCognitiveSearch.WestUS2",
    "properties": {
       "changeNumber": 1,
       "region": "westus2",
       "regionId": 38,
       "platform": "Azure",
       "systemService": "AzureCognitiveSearch",
       "addressPrefixes": [
          "20.42.129.192/26",
          "40.91.93.84/32",
          "40.91.127.116/32",
          "40.91.127.241/32",
          "51.143.104.54/32",
          "51.143.104.90/32",
          "2603:1030:c06:1::180/121"
       ],
       "networkFeatures": null
    }
    },
    
  3. Pour les adresses IP qui présentent le suffixe « /32 », supprimez-le (40.91.93.84/32 devient 40.91.93.84 dans la définition de la règle). Toutes les autres adresses IP peuvent être utilisées textuellement.

  4. Copiez toutes les adresses IP de la région.

Ajouter des adresses IP aux règles de pare-feu IP

Maintenant que vous disposez des adresses IP nécessaires, vous pouvez configurer les règles de trafic entrant. Le moyen le plus simple d’ajouter des plages d’adresses IP à la règle de pare-feu d’un compte de stockage consiste à utiliser le portail Azure.

  1. Localisez le compte de stockage sur le portail et ouvrez Mise en réseau dans le volet de navigation gauche.

  2. Sous l’onglet Pare-feu et réseaux virtuels, choisissez Réseaux sélectionnés.

    Capture d’écran de la page Pare-feu et réseaux virtuels du Stockage Azure

  3. Ajoutez toutes les adresses IP obtenues précédemment dans la plage d’adresses et sélectionnez Enregistrer. Vous devez avoir des règles pour le service de recherche, le Portail Azure (facultatif), ainsi que toutes les adresses IP pour l’étiquette de service « AzureCognitiveSearch » pour votre région.

    Capture d’écran de la section Adresse IP de la page.

La mise à jour des règles de pare-feu prend 5 à 10 minutes après lesquelles les indexeurs accèdent aux données du compte de stockage derrière le pare-feu.

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