Semion Vasilevitzky y Jonathan Elkabas

La forma más rápida de entender el «funcionamiento» del ID de agente es crearlo de principio a fin una sola vez. Este tutorial no pretende ser un script para copiar y pegar, sino un recorrido guiado que permite crear el objeto principal del que hemos hablado, de modo que resulte más fácil comprender los flujos de tokens posteriores.

Lo que habrás aprendido al finalizar los puntos de control de la práctica:

  • Un objeto «Agent ID» real configurado en tu tenant
  • Una correspondencia concreta entre los capítulos teóricos y los objetos de Graph que puedes enumerar
  • Una base de referencia limpia que puedes reutilizar para probar los permisos, la herencia y el registro de eventos

Utilizaremos Microsoft Graph Explorer para las llamadas de administrador y PowerShell 7 para la sesión de plantilla de identidad del agente, cuando sea pertinente. Para simplificar, la cuenta de administrador de esta demostración tiene permisos de administrador global.

NOTA: El ID de agente se encuentra actualmente en fase de vista previa pública, y muchas de las operaciones que se indican a continuación se basan en puntos de conexión beta de Microsoft Graph, que pueden sufrir cambios con el tiempo.

Empecemos.


Creación de un modelo de identidad de agente y de su sujeto de referencia

Para crear un modelo de identidad de agente, debes proporcionar, como mínimo:

  • displayName
  • patrocinadores (al menos uno)

Envía una solicitud POST al /applications/graph.agentIdentityBlueprint punto final. (Actualización rápida: ahora esto también se puede hacer a través del centro de administración de Entra). El principal que realiza la llamada necesita AgentIdentityBlueprint.Create permisos.

Figura 1. Denominación del modelo de identidad del agente

Anota el ID del objeto «blueprint» que aparece en la respuesta. (Nos referiremos a él como <blueprint-id>.)

Figura 2. Registro del ID del objeto de plantilla de identidad del agente

A continuación, crea el principal del blueprint (la instancia del principal de servicio del blueprint correspondiente al inquilino). Envía una solicitud POST a /servicePrincipals/graph.agentIdentityBlueprintPrincipal e incluye el ID del objeto del plano como parámetro obligatorio. El permiso de menor nivel para esta operación es AgentIdentityBlueprintPrincipal.Create.

Figura 3. Creación de un sujeto de modelo de identidad de agente con privilegios reducidos

Anota el ID del objeto «principal del modelo» (entidad de servicio) que aparece en la respuesta. (Nos referiremos a él como <blueprint-sp-id>.)

Figura 4. El identificador de objeto del director del proyecto

Añadir credenciales

En el siguiente paso, añadirás credenciales al blueprint. Te mostraremos cómo añadir un certificado y un FIC; sin embargo, en la demostración utilizaremos un tipo de credencial de «secreto de cliente», aunque no es lo recomendado (encontrarás más información al respecto en el capítulo sobre configuraciones erróneas de esta guía).

Para añadir un FIC, llama al /applications//federatedIdentityCredentials con los siguientes parámetros.

Figura 5. Incorporación del agente FIC

Para obtener un secreto de cliente, llama a /applications//addPassword con un passwordCredential objeto (nombre para mostrar + fecha de caducidad). Para ello es necesario AgentIdentityBlueprint.AddRemoveCreds.All.

Figura 6. Obtención del secreto de cliente

Anota el secretText según la respuesta. Este es el valor que utilizarás para la autenticación posterior.


Autenticación de Blueprint

Cambia a PowerShell 7 y obtén un token de acceso utilizando el y el secreto de cliente que acabas de crear.

Figura 7. Obtención del token de acceso para la autenticación mediante blueprint

Ahora, cuando consultes los registros de inicio de sesión, verás el ID de entidad de servicio de Blueprint.

Figura 8. El ID del principal de servicio aparece ahora en los registros de inicio de sesión

También puedes consultar el ID del modelo de identidad del agente en los registros.

Figura 9. El ID del modelo de identidad del agente en los registros

Ahora que ya tienes un token de acceso para el blueprint, puedes descodificarlo y ver el valor por defecto AgentIdentity.CreateAsManager el permiso del que hablamos antes.

Figura 10. Consulta de los permisos del responsable del agente

Creación de la identidad del agente

Una vez autenticada la plantilla, ya puedes utilizarla para crear una identidad de agente.

Para ello, llama al /servicePrincipals/Microsoft.Graph.AgentIdentity punto final y proporcionar las siguientes propiedades: nombre para mostrar, lista de patrocinadores e ID del modelo de identidad del agente.

Figura 11. Inicio de la solicitud de identidad del agente

Anota el ID del objeto de identidad del agente que aparece en la respuesta. (Nos referiremos a él como <agent-identity-id>.)

Figura 12. Visualización del ID del nuevo objeto de identidad de agente

Creación de un usuario agente

Antes de crear un usuario agente, ya hemos mencionado que al modelo de identidad del agente se le deben conceder permisos adicionales para esta operación. Podemos asignar estos permisos llamando a la función /servicePrincipals//appRoleAssignments punto final y asignando al modelo el AgentIdUser.ReadWrite.IdentityParentedBy Permiso de la aplicación. Utilizaremos una cuenta de administrador del inquilino para llevar a cabo esta acción.

En el cuerpo de la solicitud, debemos incluir el ID del SP del blueprint, el ID del recurso (ID del SP de MS Graph) y el ID del rol de la aplicación, que se pueden consultar aquí.

Figura 13. Concesión de permisos al modelo de identidad del agente

Ahora podemos crear un usuario agente. Tras obtener un nuevo token para el blueprint utilizando el mismo método que ya has utilizado, podrás ver cómo el rol recién asignado queda reflejado en el token del blueprint.

Figura 14. Visualización del rol de administrador recién creado en nuestro nuevo token

Ahora podemos utilizar este token para crear un usuario agente llamando a la función /users/microsoft.graph.agentUser el punto final y el nombre para mostrar, el nombre principal de usuario, el apodo de correo, el identificador de identidad del agente como padre del usuario del agente y, por último, un indicador que señale si la cuenta está habilitada o deshabilitada.

Figura 15. Introducción de los datos del nuevo usuario agente

Anota el ID del objeto de usuario del agente que aparece en la respuesta. (Nos referiremos a él como <agent-user-id>.)

Figura 16. Obtención del identificador del objeto de usuario del agente

Recordatorio: Cada identidad de agente solo puede tener un usuario de agente como elemento secundario (relación 1:1).

¡Enhorabuena! Has creado una identidad de agente.

En el siguiente capítulo de nuestra guía, profundizamos en el diseño de los atributos de la identidad del agente.


Explora la guía