Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.
Découvrez comment créer et configurer un service Recherche Azure AI à l’aide des API REST Management. Seules les API REST de gestion sont garanties pour fournir un accès anticipé aux fonctionnalités en préversion.
L’API REST de gestion est disponible dans les versions stables et en préversion. Veillez à définir une version d’API en préversion si vous accédez aux fonctionnalités d’aperçu.
- Créer ou mettre à jour un service
- Mettre à niveau un service
- Modifier les niveaux tarifaires
- Configurer le contrôle d’accès en fonction du rôle pour le plan de données
- Configurer l’informatique confidentielle
- Activer le contrôle d'accès basé sur les rôles Azure pour du plan de données
- Appliquer une politique de clé gérée par le client
- Désactiver les charges de travail qui poussent des données vers des ressources externes
- Créer une clé de requête
- Régénérer une clé d’administration
- Répertorier les connexions de point de terminaison privé
- Répertorier les opérations de recherche
- Supprimer un service de recherche
Toutes les API REST de gestion ont des exemples. Si une tâche n’est pas abordée dans cet article, consultez la référence de l’API à la place.
Conseil
Si vous utilisez CURL pour appeler l’API REST de gestion, veillez à définir un en-tête de type de contenu sur application/json : -H "Content-Type: application/json". Vous pouvez également utiliser l’indicateur --JSON si vous souhaitez incorporer le json.
Conditions préalables
Un compte Azure avec un abonnement actif. Créez gratuitement un compte.
Visual Studio Code avec un client REST.
Azure CLI pour obtenir un jeton d’accès, comme décrit dans les étapes suivantes. Vous devez être propriétaire ou administrateur dans votre abonnement Azure.
Les appels d’API REST de gestion sont authentifiés via Microsoft Entra ID. Vous devez fournir un jeton d’accès sur la demande et les autorisations pour créer et configurer une ressource. Outre le Azure CLI, vous pouvez utiliser Azure PowerShell pour créer un jeton d’accès.
Ouvrez un interpréteur de commandes pour Azure CLI.
Connectez-vous à votre abonnement Azure. Si vous avez plusieurs locataires ou abonnements, veillez à en sélectionner un.
az loginObtenez l’ID de locataire et l’ID d’abonnement.
az account showObtenez un jeton d’accès.
az account get-access-token --query accessToken --output tsvVous devez disposer d’un ID de locataire, d’un ID d’abonnement et d’un jeton d'accès. Vous allez coller ces valeurs dans le fichier
.restou le fichier.httpque vous créez à l’étape suivante.
Configurer Visual Studio Code
Si vous n'êtes pas familiarisé avec le client REST pour Visual Studio Code, cette section inclut la configuration afin de pouvoir effectuer les tâches décrites dans cet article.
Démarrez Visual Studio Code et sélectionnez la vignette Extensions.
Recherchez le client REST et sélectionnez Installer.
Ouvrez ou créez un nouveau fichier nommé avec une extension
.restou.http.Fournissez des variables pour les valeurs que vous avez récupérées à l’étape précédente.
@tenant-id = PUT-YOUR-TENANT-ID-HERE @subscription-id = PUT-YOUR-SUBSCRIPTION-ID-HERE @token = PUT-YOUR-TOKEN-HEREVérifiez que la session est opérationnelle en répertoriant les services de recherche dans votre abonnement.
### List search services GET https://management.azure.com/subscriptions/{{subscription-id}}/providers/Microsoft.Search/searchServices?api-version=2025-05-01 HTTP/1.1 Content-type: application/json Authorization: Bearer {{token}}Sélectionnez Envoyer une demande. Une réponse doit apparaître dans un volet adjacent. Si vous avez des services de recherche existants, ils sont répertoriés. Sinon, la liste est vide, mais tant que le code HTTP est 200 OK, vous êtes prêt pour les étapes suivantes.
HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Length: 22068 Content-Type: application/json; charset=utf-8 Expires: -1 x-ms-ratelimit-remaining-subscription-reads: 11999 x-ms-request-id: f47d3562-a409-49d2-b9cd-6a108e07304c x-ms-correlation-request-id: f47d3562-a409-49d2-b9cd-6a108e07304c x-ms-routing-request-id: WESTUS2:20240314T012052Z:f47d3562-a409-49d2-b9cd-6a108e07304c Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff X-Cache: CONFIG_NOCACHE X-MSEdge-Ref: Ref A: 12401F1160FE4A3A8BB54D99D1FDEE4E Ref B: CO6AA3150217011 Ref C: 2024-03-14T01:20:52Z Date: Thu, 14 Mar 2024 01:20:52 GMT Connection: close { "value": [ . . . ] }
Créer ou mettre à jour un service
Crée ou met à jour un service de recherche sous l’abonnement actuel. Cet exemple utilise des variables pour le nom et la région du service de recherche, qui n’ont pas encore été définies. Fournissez les noms directement ou ajoutez de nouvelles variables à la collection.
### Create a search service (provide an existing resource group)
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PUT https://management.azure.com/subscriptions/{{subscription-id}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"location": "North Central US",
"sku": {
"name": "basic"
},
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "default"
}
}
Mettre à niveau un service
Certaines fonctionnalités Recherche Azure AI sont uniquement disponibles pour les nouveaux services. Pour éviter la recréation du service et intégrer ces fonctionnalités à un service existant, vous pouvez peut-être mettre à niveau votre service.
### Upgrade a search service
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
POST https://management.azure.com/subscriptions/{{subscription-id}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}/upgrade?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Modifier les niveaux tarifaires
Si vous avez besoin de plus ou moins de capacité, vous pouvez basculer vers un autre niveau tarifaire. Actuellement, vous pouvez uniquement basculer entre les niveaux De base et Standard (S1, S2 et S3). Utilisez la sku propriété pour spécifier le nouveau niveau.
### Change pricing tiers
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PATCH https://management.azure.com/subscriptions/{{subscription-id}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"sku": {
"name": "standard2"
}
}
Créer un service S3HD
Pour créer un service S3HD, utilisez une combinaison des propriétés sku et hostingMode. Définissez sku sur standard3 et « hostingMode » sur HighDensity.
### Create an S3HD service
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PUT https://management.azure.com/subscriptions/{{subscription-id}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"location": "{{region}}",
"sku": {
"name": "standard3"
},
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "HighDensity"
}
}
Configurer l’accès en fonction du rôle pour le plan de données
S’applique à : Contributeur de données d’index de recherche, Lecteur de données d’index de recherche, Contributeur du service de recherche
Configurez votre service de recherche pour reconnaître un en-tête d’autorisation sur les demandes de données qui fournissent un jeton d’accès OAuth2.
Pour utiliser le contrôle d’accès en fonction du rôle pour les opérations de plan de données, définissez authOptions à aadOrApiKey puis envoyez la requête.
Pour utiliser exclusivement le contrôle d’accès en fonction du rôle, désactivez l’authentification par clé d’API en suivant une deuxième requête, cette fois en configurant la valeur disableLocalAuth sur true.
### Configure role-based access
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PATCH https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"properties": {
"disableLocalAuth": false,
"authOptions": {
"aadOrApiKey": {
"aadAuthFailureMode": "http401WithBearerChallenge"
}
}
}
}
Configurer l’informatique confidentielle
L’informatique confidentielle est un type de calcul facultatif pour la protection des données en cours d’utilisation. Une fois configuré, votre service de recherche est déployé sur des machines virtuelles confidentielles (DCasv5 ou DCesv5) au lieu de machines virtuelles standard. Ce type de calcul entraîne également une surcharge de 10 % pour les niveaux facturables. Pour plus d’informations, consultez la page de tarification.
Pour une utilisation quotidienne, l’informatique confidentielle n’est pas nécessaire. Nous recommandons uniquement ce type de calcul pour des exigences réglementaires, de conformité ou de sécurité strictes. Pour plus d’informations, consultez les cas d’usage de l’informatique confidentielle.
Le type de calcul est fixe pour la durée de vie de votre service de recherche. Pour configurer définitivement l’informatique confidentielle, définissez la propriété computeType sur confidential sur un nouveau service.
### Configure confidential computing
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PUT https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"location": "{{region}}",
"sku": {
"name": "basic"
},
"properties": {
"computeType": "confidential"
}
}
Appliquer une politique de clé gérée par le client
Si vous utilisez le chiffrement géré par le client, vous pouvez activer « encryptionWithCMK » avec l'instance « enforcement » définie sur « Activé » si vous souhaitez que le service de recherche signale son état de conformité.
Lorsque vous activez cette stratégie, tous les appels REST qui créent des objets contenant des données sensibles, tels que le chaîne de connexion dans une source de données, échouent si une clé de chiffrement n'est pas fournie : "Error creating Data Source: "CannotCreateNonEncryptedResource: The creation of non-encrypted DataSources is not allowed when encryption policy is enforced."
### Enforce a customer-managed key policy
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PATCH https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"properties": {
"encryptionWithCmk": {
"enforcement": "Enabled"
}
}
}
Désactiver les charges de travail qui poussent des données vers des ressources externes
Recherche Azure AI écrit vers des sources de données externes lors de la mise à jour d’une base de connaissances, de l’enregistrement de l’état de session de débogage, ou de la mise en cache des enrichissements. L’exemple suivant désactive ces charges de travail au niveau du service.
### Disable external access
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
PATCH https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"properties": {
"publicNetworkAccess": "Disabled"
}
}
Supprimer un service de recherche
### Delete a search service
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
DELETE https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Répertorier les clés d’API d’administration
### List admin keys
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
POST https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}/listAdminKeys?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Régénérer les clés d’API d’administration
Vous ne pouvez régénérer qu’une seule clé API d’administration à la fois.
### Regnerate admin keys
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
POST https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}/regenerateAdminKey/primary?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Créer des clés API de requête
### Create a query key
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
@query-key = PUT-YOUR-QUERY-KEY-NAME-HERE
POST https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}/createQueryKey/{query-key}?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Répertorier les connexions de point de terminaison privé
### List private endpoint connections
@resource-group = PUT-YOUR-RESOURCE-GROUP-NAME-HERE
@search-service = PUT-YOUR-SEARCH-SERVICE-NAME-HERE
GET https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service}}/privateEndpointConnections?api-version=2025-05-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Répertorier les opérations de recherche
### List search operations
GET https://management.azure.com/subscriptions/{{subscription-id}}/resourcegroups?api-version=2021-04-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
Étapes suivantes
Une fois qu’un service de recherche est configuré, les étapes suivantes incluent création d’un index ou querying un index à l’aide du portail Azure, des API REST ou d’un Kit de développement logiciel (SDK) Azure.