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.
Obtenez l’abonnement et le locataire Azure pour votre service de recherche :
Connectez-vous au Portail Azure et accédez à votre service de recherche.
Notez le nom et l’ID de l’abonnement dans Vue d’ensemble>Essentiels.
Sélectionnez ensuite le nom de l’abonnement pour afficher le groupe d’administration parent (ID de locataire) sur la page suivante.
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
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
Connectez-vous au Portail Azure et accédez à votre service Recherche Azure AI.
Activez également le contrôle d’accès en fonction du rôle (RBAC) :
Accédez à Paramètres>Clés.
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.
Attribuez des rôles dans le portail Azure :
Accéder à votre service de recherche.
Sélectionnez Contrôle d’accès (IAM) dans le menu de navigation de gauche.
Sélectionnez + Ajouter>Ajouter une attribution de rôle.
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
Installez les bibliothèques Azure Identity et Recherche Azure :
pip install azure-identity azure-search-documents
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.
Générez un jeton d’accès.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
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>
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 :
Configurer une identité managée affectée par le système ou affectée par l’utilisateur pour votre service de recherche.
Utiliser des attributions de rôles pour autoriser l’accès à d’autres ressources Azure.
Configuration de l’accès réseau :
- Définir des règles de trafic entrant pour accepter ou rejeter des demandes adressées à la Recherche Azure AI en fonction de l’adresse IP.