Guide pratique pour configurer Azure OpenAI Service avec des identités managées

Les scénarios de sécurité plus complexes nécessitent un contrôle d’accès en fonction du rôle Azure (Azure RBAC). Ce document explique comment s’authentifier auprès de votre ressource OpenAI à l’aide d’Azure Active Directory (Azure AD).

Dans les sections suivantes, vous utiliserez Azure CLI pour attribuer des rôles et obtenir un jeton du porteur pour appeler la ressource OpenAI. Si vous êtes bloqué, des liens sont fournis dans chaque section avec toutes les options disponibles pour chaque commande dans Azure Cloud Shell/Azure CLI.

Prérequis

  • Un abonnement Azure - En créer un gratuitement

  • Accès accordé au service Azure OpenAI dans l’abonnement Azure souhaité

    L’accès à ce service n’est accordé qu’à l’application. Vous pouvez demander l’accès à Azure OpenAI en complétant le formulaire à l’adresse https://aka.ms/oai/access. Ouvrez un problème sur ce dépôt pour nous contacter si vous rencontrez un problème.

  • Azure CLI - Guide d’installation

  • Bibliothèques Python suivantes : os, requests, json

Se connecter à l’interface Azure CLI

Pour vous connecter à Azure CLI, exécutez la commande suivante et terminez la connexion. Vous devrez peut-être le faire à nouveau si votre session a été inactive depuis trop longtemps.

az login

Attribuez-vous-même le rôle d’utilisateur Cognitive Services

L’attribution de vous-même au rôle d’utilisateur Cognitive Services vous permet d’utiliser votre compte pour accéder à la ressource Cognitive Services spécifique

  1. Obtenir les informations de votre utilisateur

    export user=$(az account show -o json | jq -r .user.name)
    
  2. Attribuez-vous le rôle « Utilisateur Cognitive Services ».

    export resourceId=$(az group show -g $myResourceGroupName -o json | jq -r .id)
    az role assignment create --role "Cognitive Services User" --assignee $user --scope $resourceId
    

    Notes

    Le changement d’attribution de rôle prendra environ 5 minutes pour être effectif.

  3. Obtenez un jeton d’accès Azure AD. Les jetons d’accès expirent en une heure. Vous devrez alors en acquérir un autre.

    export accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com -o json | jq -r .accessToken)
    
  4. Effectuez un appel d’API Utiliser le jeton d’accès pour autoriser votre appel d’API en définissant la valeur d’en-tête Authorization.

    curl ${endpoint%/}/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2023-05-15 \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $accessToken" \
    -d '{ "prompt": "Once upon a time" }'
    

Autoriser l'accès aux identités managées

OpenAI prend en charge l’authentification Azure Active Directory (Azure AD) avec des identités managées pour ressources Azure. Les identités managées pour ressources Azure peuvent autoriser l’accès à des ressources Cognitive Services en utilisant les informations d’identification Azure AD d’applications s’exécutant dans des machines virtuelles Azure, des applications de fonction, le service Virtual Machine Scale Sets et d’autres services. En utilisant des identités managées pour ressources Azure et Azure AD Authentication, vous pouvez éviter de stocker des informations d’identification avec les applications qui s’exécutent dans le cloud.

Activer les identités managées sur une machine virtuelle

Avant de pouvoir utiliser les identités managées pour ressources Azure en vue d’autoriser les ressources Cognitive Services à partir de votre machine virtuelle, vous devez activer les identités managées pour ressources Azure sur la machine virtuelle. Pour savoir comment activer des identités managées pour ressources Azure, consultez :

Pour plus d’informations sur les identités managées, consultez Identités managées pour les ressources Azure.