Activer ou désactiver le contrôle d’accès en fonction du rôle dans Recherche Azure AI
Par défaut, Recherche Azure AI utilise l’authentification par clé, mais elle prend entièrement en charge l’authentification Microsoft Entra ID et l’autorisation pour toutes les opérations de plan de contrôle et de plan de données via le contrôle d’accès en fonction du rôle Azure (RBAC).
Avant de pouvoir attribuer des rôles pour un accès de plan de données autorisé à Recherche Azure AI, vous devez activer le contrôle d’accès en fonction du rôle sur votre service de recherche. Les rôles d’administration de service (plan de contrôle) sont intégrés et ne peuvent être ni activés, ni désactivés.
Remarque
Le plan de données fait référence aux opérations sur le point de terminaison du service de recherche, comme l’indexation ou les requêtes, ou toute autre opération spécifiée dans les API REST Service de recherche ou les bibliothèques clientes du kit de développement logiciel (SDK) équivalentes. Plan de contrôle fait référence à la gestion des ressources Azure, telle que la création ou la configuration d’un service de recherche.
Prérequis
Un service de recherche dans n’importe quelle région, sur n’importe quel niveau, y compris le niveau gratuit.
Propriétaire ou Administrateur d’accès utilisateur ou rôle personnalisé avec des autorisations Microsoft.Authorization/roleAssignments/write.
Activer le contrôle d’accès en fonction du rôle pour les opérations de plan de données
Configurez votre service de recherche afin qu’il reconnaisse un en-tête d’autorisation sur les demandes de données qui fournissent un jeton d’accès OAuth2.
Lorsque vous activez les rôles pour le plan de données, la modification est effective immédiatement, mais attendez quelques secondes avant d’attribuer des rôles.
Le mode d’échec par défaut pour les requêtes non autorisées est http401WithBearerChallenge
. Vous pouvez également définir le mode d’échec sur http403
.
Connectez-vous au portail Azure et ouvrez la page du service de recherche.
Sélectionnez Paramètres, puis sélectionnez Clés dans le volet de navigation gauche.
Choisissez Contrôle en fonction du rôle ou Les deux si vous utilisez actuellement des clés et avez besoin de temps pour passer des clients vers le contrôle d’accès en fonction du rôle.
Option Description Clé API (Valeur par défaut.) Nécessite des clés API dans l’en-tête de demande pour l’autorisation. Contrôle d’accès en fonction du rôle Nécessite l’appartenance à une attribution de rôle pour terminer la tâche. Nécessite aussi un en-tête d’autorisation dans la demande. Les deux Les demandes sont valides aussi bien avec une clé API qu’un contrôle d’accès en fonction du rôle. Cependant, si vous fournissez les deux dans la même demande, la clé API est utilisée. En tant qu’administrateur, si vous choisissez une approche de rôle uniquement, attribuez des rôles du plan de données à votre compte d’utilisateur pour restaurer un accès administratif complet sur les opérations du plan de données dans le Portail Azure. Les rôles comprennent le Contributeur de service de recherche, le Contributeur de données d’index de recherche et le Lecteur de données d’index de recherche. Vous avez besoin des deux premiers rôles si vous voulez disposer d’un accès équivalent.
Cinq à dix minutes peuvent être nécessaires pour que les attributions de rôles prennent effet. En attendant, le message suivant s’affiche dans les pages du portail Azure utilisées pour les opérations du plan de données.
Désactiver le contrôle d’accès en fonction du rôle
Il est possible de désactiver le contrôle d’accès en fonction du rôle pour les opérations de plan de données et d’utiliser l’authentification basée sur des clés à la place. Vous pourriez faire ainsi dans le cadre d’un flux de travail de test, par exemple pour exclure les problèmes d’autorisation.
Inversez les étapes que vous avez suivies précédemment pour activer l’accès en fonction du rôle.
Connectez-vous au portail Azure et ouvrez la page du service de recherche.
Sélectionnez Paramètres, puis sélectionnez Clés dans le volet de navigation gauche.
Sélectionnez API Keys (Clés API).
Désactiver l'authentification par clé API
L’accès par clé, ou authentification locale, peut être désactivé sur votre service si vous utilisez exclusivement les rôles intégrés et l’authentification Microsoft Entra. La désactivation des clés API entraîne le refus par le service de recherche de toutes les requêtes liées aux données qui passent une clé API dans l’en-tête.
Les clés API d’administration peuvent être désactivées, mais pas supprimées. Vous pouvez supprimer des clés API de requête.
Des autorisations Propriétaire ou Contributeur sont requises pour désactiver les fonctionnalités de sécurité.
Dans le portail Azure, accédez à votre service de recherche.
Dans le volet de navigation gauche, sélectionnez Clés.
Sélectionnez Contrôle d’accès en fonction du rôle.
La modification est effective immédiatement, mais attendez quelques secondes avant de tester. Si vous êtes autorisé à attribuer des rôles en tant que membre Propriétaire, Administrateur de service ou Coadministrateur, vous pouvez utiliser les fonctionnalités du portail pour tester l’accès en fonction du rôle.
Effets du contrôle d’accès en fonction du rôle
Le contrôle d’accès en fonction du rôle peut augmenter la latence de certaines demandes. Chaque combinaison unique de ressource de service (index, indexeur, ensembles de compétences, etc.) et de principal de service déclenche une vérification d’autorisation. Ces vérifications d’autorisation peuvent ajouter jusqu’à 200 millisecondes de latence par demande.
Dans de rares cas où les demandes proviennent d’un grand nombre de principaux de service différents, ciblant chacune différentes ressources de service (index, indexeurs, etc.), il est possible que les vérifications d’autorisation entraînent une limitation. La limitation se produit uniquement si des centaines de combinaisons uniques de chaque ressource du service de recherche et du principal de service ont été utilisées en une seconde.