Partager via


Créer un blueprint d’identité d’agent

Un schéma d’identité d’agent est utilisé pour créer des identités d’agent et demander des jetons à l’aide de ces identités d’agent. Ce guide vous guide tout au long de la création d’un blueprint d’identité d’agent à l’aide de l’API REST Microsoft Graph et de Microsoft Graph PowerShell.

Prerequisites

Avant de créer votre blueprint d’identité d’agent, vérifiez que vous disposez des points suivants :

  • comprendre les plans d’identité de l’agent
  • Administrateur de rôle privilégié requis pour accorder des autorisations
  • L’un des rôles suivants requis pour créer un blueprint : Développeur d’ID d’agent ou administrateur d’ID d’agent. Préférez le rôle Administrateur d’ID d’agent.

Autoriser un client à créer des blueprints d’identité d’agent

Dans cet article, vous utilisez Microsoft Graph PowerShell ou un autre client pour créer votre blueprint d’identité d’agent. Vous devez autoriser ce client à créer un blueprint d’identité d’agent. Le client nécessite l’une des autorisations Microsoft Graph suivantes :

  • AgentIdentityBlueprint.Create (autorisation déléguée)
  • AgentIdentityBlueprint.Create (autorisation d’application)

Seul un administrateur général ou un administrateur de rôle privilégié est en mesure d’accorder ces autorisations au client. Pour accorder ces autorisations, un administrateur peut :

  • Utilisez la commande Connect-MgGraph.
  • Exécutez un script pour créer un oAuth2PermissionGrant ou appRoleAssignment dans le client.

Créer un blueprint d’identité d’agent

La création d’un blueprint d’identité d’agent fonctionnel dans votre locataire nécessite deux étapes :

  1. Créez un tenant AgentIdentityBlueprint.
  2. Créez un AgentIdentityBlueprintPrincipal dans le client.

Le principal créé dans ce cas est différent de l’identité de l’agent utilisée par l’agent.

Commencez par obtenir un jeton d’accès avec l’autorisation AgentIdentityBlueprint.Create. Une fois que vous avez un jeton d’accès, effectuez la requête suivante.

Conseil / Astuce

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

POST https://graph.microsoft.com/beta/applications/
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
  "@odata.type": "Microsoft.Graph.AgentIdentityBlueprint",
  "displayName": "My Agent Identity Blueprint",
  "sponsors@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/<id>",
  ],
	"owners@odata.bind": [
	  "https://graph.microsoft.com/v1.0/users/<id>"
	]
}

Après avoir créé un modèle d’identité d’agent, enregistrez l’identifiant pour les prochaines étapes du guide. Ensuite, créez un principal de service pour votre blueprint d’identité d’agent :

Pour créer le principal de service, vous devez tout d'abord obtenir un jeton d'accès avec l’autorisation AgentIdentityBlueprint.Create. Une fois que vous avez un jeton d’accès, effectuez la requête suivante :

Conseil / Astuce

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

POST https://graph.microsoft.com/beta/serviceprincipals/graph.agentIdentityBlueprintPrincipal
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
  "appId": "<agent-blueprint-app-id>"
}

Configurer les identifiants pour le modèle d’identité de l’agent

Pour demander des jetons d’accès à l’aide du plan d’identité de l’agent, vous devez ajouter un identifiant client. Nous vous recommandons d'utiliser une identité gérée comme justificatif d'identité fédérée pour les déploiements de production. Pour le développement et les tests locaux, utilisez un secret client.

Ajoutez une identité managée en tant qu'identifiant à l’aide de la requête suivante :

Pour envoyer cette demande, vous devez d’abord obtenir un jeton d’accès avec l’autorisation AgentIdentityBlueprint.AddRemoveCreds.All.

POST https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>/federatedIdentityCredentials
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
    "name": "my-msi",
    "issuer": "https://login.microsoftonline.com/<my-test-tenant-id>/v2.0",
    "subject": "<msi-principal-id>",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Dans certains locataires, d’autres types d’informations d’identification d’application, notamment keyCredentials, passwordCredentials et trustedSubjectNameAndIssuers sont également pris en charge. Ces types d’informations d’identification ne sont pas recommandés pour la production, mais peuvent être pratiques pour le développement et les tests locaux. Pour ajouter des identifiants de mot de passe :

Pour envoyer cette demande, vous devez d’abord obtenir un jeton d’accès avec l’autorisation déléguée AgentIdentityBlueprint.AddRemoveCreds.All

POST https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>/addPassword
Content-Type: application/json
Authorization: Bearer <token>

{
  "passwordCredential": {
    "displayName": "My Secret",
    "endDateTime": "2026-08-05T23:59:59Z"
  }
}

Veillez à stocker en toute sécurité la passwordCredential valeur générée. Il ne peut pas être consulté après la création initiale. Vous pouvez également utiliser des certificats clients comme informations d’identification ; voir Ajouter des informations d’identification de certificat.

Configurer l’URI et l’étendue de l’identificateur

Pour recevoir des demandes entrantes des utilisateurs et d’autres agents, vous devez définir un URI d’identificateur et une étendue OAuth pour votre blueprint d’identité d’agent :

Pour envoyer cette demande, vous devez d’abord obtenir un jeton d’accès avec l’autorisation AgentIdentityBlueprint.ReadWrite.All.

PATCH https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>

{
    "identifierUris": ["api://<agent-blueprint-id>"],
    "api": {
      "oauth2PermissionScopes": [
        {
          "adminConsentDescription": "Allow the application to access the agent on behalf of the signed-in user.",
          "adminConsentDisplayName": "Access agent",
          "id": "<generate-a-guid>",
          "isEnabled": true,
          "type": "User",
          "value": "access_agent"
        }
      ]
  }
}

Créer et supprimer des identités d’agent