Partager via


Démarrage rapide : Se connecter sans clé

Configurer Recherche Azure AI pour utiliser l’authentification Microsoft Entra ID et le contrôle d’accès en fonction du rôle (RBAC) afin de pouvoir vous connecter depuis votre système local sans clés API, en utilisant des notebooks Jupyter ou un client REST pour interagir avec votre service de recherche.

Si vous avez parcouru d’autres guides de démarrage rapide qui se connectent à l’aide de clés API, ce guide de démarrage rapide vous montre comment basculer vers l’authentification basée sur l’identité afin d’éviter les clés codées en dur dans votre exemple de code.

Prérequis

  • Un abonnement Azure. Créez-en un gratuitement.

  • Recherche Azure AI, toute région ou tout niveau, mais vous avez besoin d’un niveau au minimum Essentiel pour configurer une identité managée pour Recherche Azure AI.

  • Un outil de ligne de commande, tel que PowerShell ou Bash, et Azure CLI.

Étape 1 : obtenir vos ID d’abonnement Azure et de locataire

Vous devez effectuer cette étape si vous avez plusieurs abonnements ou locataires.

  1. Obtenez l’abonnement et le locataire Azure pour votre service de recherche :

    1. Connectez-vous au Portail Azure et accédez à votre service de recherche.

    2. Notez le nom et l’ID de l’abonnement dans Vue d’ensemble>Essentiels.

    3. Sélectionnez ensuite le nom de l’abonnement pour afficher le groupe d’administration parent (ID de locataire) sur la page suivante.

      Capture d’écran de la page du Portail Azure indiquant le nom de l’abonnement

  2. Vous connaissez maintenant l’abonnement et le locataire dans lesquels se trouve Recherche Azure AI. Basculez vers votre appareil local et une invite de commandes, puis identifiez l’abonnement Azure actif et le locataire sur votre appareil :

    az account show
    
  3. Si l’abonnement actif et le locataire diffèrent des informations obtenues à l’étape précédente, modifiez l’ID d’abonnement. Ensuite, connectez-vous à Azure à l’aide de l’ID de locataire que vous avez trouvé à l’étape précédente :

     az account set --subscription <your-subscription-id>
    
     az login --tenant <your-tenant-id>
    

Étape 2 : configurer Recherche Azure AI pour RBAC

  1. Connectez-vous au Portail Azure et accédez à votre service Recherche Azure AI.

  2. Activez également le contrôle d’accès en fonction du rôle (RBAC) :

    1. Accédez à Paramètres>Clés.

    2. Choisissez Contrôle en fonction du rôle ou Les deux si vous avez besoin de temps pour passer des clients au contrôle d’accès en fonction du rôle.

      Si vous choisissez Contrôle en fonction du rôle, veillez à vous affecter à vous-même tous les rôles nommés dans l’instruction suivante, ou vous ne pourrez pas effectuer de tâches dans le Portail Azure ou via un client local.

  3. Attribuez des rôles dans le portail Azure :

    1. Accéder à votre service de recherche.

    2. Sélectionnez Contrôle d’accès (IAM) dans le menu de navigation de gauche.

    3. Sélectionnez + Ajouter>Ajouter une attribution de rôle.

    4. Choisissez un rôle (Contributeur du service de recherche, Contributeur de données d’index de recherche, Lecteur de données d’index de recherche) et affectez-le à votre identité d’utilisateur ou de groupe Microsoft Entra.

      Répétez l’opération pour chaque rôle.

      Vous avez besoin de Contributeur de service de recherche plus Contributeur de données d’index de recherche pour créer, charger et interroger des objets sur Recherche Azure AI. Pour plus d’informations, consultez Se connecter en utilisant des rôles.

Conseil

Si vous rencontrez plus tard des erreurs d’échec d’authentification, revérifiez les paramètres de cette section. Il peut exister des stratégies au niveau de l’abonnement ou du groupe de ressources qui se substituent aux paramètres d’API que vous spécifiez.

Étape 3 : Se connecter à partir de votre système local

Si vous ne vous êtes pas encore connecté à Azure :

az login

Utilisation de notebooks Python et Jupyter

  1. Installez les bibliothèques Azure Identity et Recherche Azure :

    pip install azure-identity azure-search-documents
    
  2. Authentifiez et connectez-vous à la Recherche Azure AI :

    from azure.identity import DefaultAzureCredential
    from azure.search.documents import SearchClient
    
    service_endpoint = "https://<your-search-service-name>.search.windows.net"
    index_name = "hotels-sample-index"
    
    credential = DefaultAzureCredential()
    client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential)
    
    results = client.search("beach access")
    for result in results:
        print(result)
    

Utilisation d’un client REST

Plusieurs guides de démarrage rapide et didacticiels utilisent un client REST, tel que Visual Studio Code avec l’extension REST. Voici comment vous vous connectez à la Recherche Azure AI à partir de Visual Studio Code.

Vous devez avoir un fichier .rest ou .http, similaire à celui décrit dans Démarrage rapide : Recherche vectorielle.

  1. Générez un jeton d’accès.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. En haut de votre fichier, définissez les variables utilisées pour la connexion, en collant le point de terminaison de service de recherche complet et le jeton d’accès que vous avez obtenus à l’étape précédente. Vos variables doivent ressembler à l’exemple qui suit. Notez que les valeurs ne sont pas entre guillemets.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Spécifiez le jeton du porteur d’autorisation dans un appel REST :

     POST https://{{baseUrl}}/indexes/hotels-sample-index/docs/search?api-version=2024-07-01 HTTP/1.1
       Content-type: application/json
       Authorization: Bearer {{token}}
    
         {
              "queryType": "simple",
              "search": "beach access",
              "filter": "",
              "select": "HotelName,Description,Category,Tags",
              "count": true
          }
    

Résoudre les erreurs 401

  • Vérifiez l’abonnement actif et le locataire (az account show) et vérifiez qu’il est valide pour votre service de recherche.

  • Vérifiez les options Paramètres>Clés du service de recherche dans le portail Azure et vérifiez que le service est configuré sur Both" ouContrôle d’accès en fonction du rôle.

  • Pour le client REST uniquement : vérifiez le jeton et le point de terminaison spécifiés dans votre fichier et assurez-vous qu’il n’existe pas de guillemets environnants ou d’espaces supplémentaires.

Si tout le reste échoue, redémarrez votre appareil pour supprimer les jetons mis en cache, puis répétez les étapes décrites dans cette section, en commençant par az login.

Configuration supplémentaire

Configurez une identité managée pour les connexions sortantes :

Configuration de l’accès réseau :