Créer des identités d’agent dans la plateforme d’identités d’agent

Après avoir créé un blueprint d’identité d’agent, l’étape suivante consiste à créer une ou plusieurs identités d’agent qui représentent des agents IA dans votre tenant. La création d’identité de l’agent est généralement effectuée lors de l’approvisionnement d’un nouvel agent IA.

Vous pouvez créer des identités d’agent de deux façons :

  • centre d’administration Microsoft Entra : utilisez l’Assistant Centre d’administration pour créer rapidement des identités individuelles.
  • Microsoft API Graph : créez un service web qui crée des identités d’agent par programmation, ce qui est utile pour le provisionnement automatisé à grande échelle.

Si vous souhaitez créer rapidement des identités d’agent à des fins de test, envisagez d’utiliser ce module PowerShell Microsoft Entra pour créer et utiliser des identités d’agent.

Prerequisites

Pour créer des identités d’agent, vous avez besoin des éléments suivants :

  • Un plan directeur d’identité d'agent. Enregistrez l’ID de l’application modèle d’identité de l’agent lors du processus de création.
  • Un service web ou une application (exécuté localement ou déployé sur Azure) qui héberge la logique de création d’identité de l’agent. Cette condition préalable s’applique uniquement si vous créez des identités d’agent par programme.

Utiliser le centre d’administration Microsoft Entra

Vous pouvez créer une identité d’agent directement dans le centre d’administration Microsoft Entra en sélectionnant un blueprint existant et en affectant des propriétaires et des sponsors.

  1. Connectez-vous au Centre d’administration Microsoft Entra.

  2. Accédez à Entra ID>Agents>Identités d'agent.

  3. Sélectionnez Nouvelle identité de l’agent (aperçu).

  4. Sous l’onglet Informations de base :

    • Sous Blueprint Agent, sélectionnez un blueprint à partir duquel créer votre identité d’agent.

    • Entrez un nom dans le champ Nom de l’identité de l’agent , puis sélectionnez Suivant.

      Capture d’écran de l’Assistant Création d’identité de l’agent montrant l’onglet Informations de base avec les champs de sélection de blueprint et de nom.

  5. Sous l’onglet Propriétaires et sponsors, vous pouvez éventuellement ajouter des propriétaires et des sponsors pour l’identité :

    • Sélectionnez l’icône de crayon en regard du champ Propriétaires pour modifier ou ajouter des utilisateurs qui peuvent gérer cette identité d’agent.
    • Sélectionnez l’icône de crayon en regard du champ Sponsors pour modifier ou ajouter des utilisateurs qui peuvent parrainer cette identité d’agent.

    Note

    Les sponsors peuvent être des utilisateurs, des groupes d’appartenance dynamiques ou des groupes Microsoft 365. Les groupes de sécurité et les groupes assignables aux rôles ne sont pas pris en charge en tant que parrains.

  6. Sélectionnez Suivant.

  7. Passez en revue vos paramètres, puis sélectionnez Créer.

  8. Sélectionnez Terminé pour quitter l’Assistant ou Accéder à l’identité de l’agent pour voir les détails de l'identité ou configurer des paramètres supplémentaires.

Dans les étapes suivantes, vous allez apprendre à créer des identités d'agent par programmation à l'aide de Microsoft API Graph et de Microsoft. Identity.Web. Obtenez d’abord un jeton d’accès, puis appelez l’API de création.

Obtenir un jeton d’accès en utilisant le modèle d’identité de l’agent

Vous utilisez le modèle d'identité de l'agent pour créer chaque identité d'agent. Demandez un jeton d’accès à partir de Microsoft Entra à l’aide de votre blueprint d’identité d’agent :

Lorsque vous utilisez une identité managée comme informations d’identification, vous devez d’abord obtenir un jeton d’accès à l’aide de votre identité managée. Les jetons d’identité managée peuvent être demandés à partir d’une adresse IP exposée localement dans l’environnement de calcul. Pour plus d’informations consultez la documentation relative aux identités managées .

GET http://169.254.169.254/metadata/identity/oauth2/token?api-version=2019-08-01&resource=api://AzureADTokenExchange/.default
Metadata: True

Après avoir obtenu un jeton pour l’identité managée, demandez un jeton pour le blueprint d’identité de l’agent :

POST https://login.microsoftonline.com/<my-test-tenant>/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

client_id=<agent-blueprint-id>
scope=https://graph.microsoft.com/.default
client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
client_assertion=<msi-token>
grant_type=client_credentials

Un client_secret paramètre peut également être utilisé au lieu de client_assertion et client_assertion_type, lorsqu’un secret client est utilisé dans le développement local.

Créer une identité d’agent

À l’aide du jeton d’accès acquis à l’étape précédente, vous pouvez maintenant créer des identités d'agent dans votre tenant. La création d’identité de l’agent peut se produire en réponse à de nombreux événements ou déclencheurs différents, tels qu’un utilisateur sélectionnant un bouton pour créer un agent. Nous vous recommandons de créer une identité d’agent pour chaque agent, mais vous pouvez choisir une approche différente en fonction de vos besoins.

Veillez à inclure toujours l’en-tête OData-Version lors de l’utilisation de @odata.type.

POST https://graph.microsoft.com/beta/serviceprincipals/Microsoft.Graph.AgentIdentity
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>
{
	"displayName": "My Agent Identity",
	"agentIdentityBlueprintId": "<my-agent-blueprint-id>",
	"sponsors@odata.bind": [
		"https://graph.microsoft.com/v1.0/users/<id>",
		"https://graph.microsoft.com/v1.0/groups/<group-id>"
	],
}

Note

Lors de l’attribution d’un groupe en tant que sponsor, seuls les types de groupes pris en charge sont acceptés. Les groupes ne sont pas pris en charge en tant que propriétaires.

Supprimer une identité d’agent

Lorsqu’un agent est libéré ou détruit, votre service doit également supprimer l’identité de l’agent associée :

DELETE https://graph.microsoft.com/beta/serviceprincipals/<agent-identity-id>
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>