Semion Vasilevitzky e Jonathan Elkabas

Il modo più veloce per far “funzionare” l’Agent ID è realizzarlo una volta sola dall’inizio alla fine. Questa guida non vuole essere uno script da copiare e incollare, ma un percorso guidato che permette di creare l’oggetto principale di cui abbiamo parlato, in modo che i flussi di token successivi siano più facili da comprendere.

Ecco cosa avrai acquisito al termine delle fasi di verifica pratica:

  • Un oggetto "Agent ID" effettivo impostato nel proprio tenant
  • Una corrispondenza concreta tra i capitoli teorici e gli oggetti Graph che è possibile enumerare
  • Una base di riferimento pulita che puoi riutilizzare per testare i permessi, l'ereditarietà e la registrazione

Utilizzeremo Microsoft Graph Explorer per le chiamate di amministratore e PowerShell 7 per la sessione relativa al modello di identità dell'agente, ove necessario. Per semplicità, l'account amministratore in questa demo dispone dei diritti di amministratore globale.

NOTA: l'ID agente è attualmente in anteprima pubblica e molte delle operazioni riportate di seguito si basano su endpoint beta di Microsoft Graph, che potrebbero subire modifiche nel tempo.

Cominciamo.


Creazione di un modello di identità dell'agente e del soggetto a cui si riferisce tale modello

Per creare un modello di identità dell'agente, è necessario fornire almeno:

  • displayName
  • sponsor (almeno uno)

Invia una richiesta POST a /applications/graph.agentIdentityBlueprint endpoint. (Breve aggiornamento: ora questa operazione può essere eseguita anche tramite il Centro di amministrazione di Entra). Il soggetto chiamante deve AgentIdentityBlueprint.Create autorizzazioni.

Figura 1. Denominazione del modello di identità dell'agente

Annota l'ID dell'oggetto blueprint presente nella risposta. (Lo indicheremo come <blueprint-id>.)

Figura 2. Registrazione dell'ID dell'oggetto "blueprint" relativo all'identità dell'agente

Successivamente, creare l’entità principale del blueprint (l’istanza dell’entità di servizio del tenant relativa al blueprint). Inviare una richiesta POST a /servicePrincipals/graph.agentIdentityBlueprintPrincipal e includere l'ID dell'oggetto del progetto come parametro obbligatorio. L'autorizzazione con i privilegi minimi per questa operazione è AgentIdentityBlueprintPrincipal.Create.

Figura 3. Creazione di un soggetto principale del modello di identità di un agente con privilegi limitati

Annotare l'ID dell'oggetto "blueprint principal" (service principal) presente nella risposta. (Lo indicheremo come <blueprint-sp-id>.)

Figura 4. ID oggetto del responsabile del progetto

Aggiunta delle credenziali

Nel passaggio successivo, aggiungerai le credenziali al blueprint. Ti mostreremo come aggiungere un certificato e un FIC; tuttavia, nella demo utilizzeremo un tipo di credenziale "client secret", sebbene non sia consigliabile (maggiori informazioni al riguardo nel capitolo dedicato alle configurazioni errate di questa guida).

Per aggiungere un FIC, chiamare il numero /applications//federatedIdentityCredentials con i seguenti parametri.

Figura 5. Aggiunta dell'agente FIC

Per ottenere un segreto client, chiama /applications//addPassword con un passwordCredential oggetto (nome visualizzato + data di scadenza). Ciò richiede AgentIdentityBlueprint.AddRemoveCreds.All.

Figura 6. Ottenimento del segreto client

Registra il secretText dalla risposta. Questo è il valore che utilizzerai per l'autenticazione successiva.


Autenticazione Blueprint

Passa a PowerShell 7 e ottieni un token di accesso utilizzando il e il segreto client che hai appena creato.

Figura 7. Ottenimento del token di accesso per l'autenticazione tramite blueprint

Ora, se controlli i registri di accesso, vedrai l'ID del soggetto di servizio del blueprint.

Figura 8. L'ID del soggetto di servizio ora compare nei registri di accesso

È inoltre possibile visualizzare l'ID del modello di identità dell'agente nei log.

Figura 9. L'ID dello schema di identità dell'agente nei log

Ora che disponi di un token di accesso per il blueprint, puoi decodificarlo e visualizzare le impostazioni predefinite AgentIdentity.CreateAsManager l'autorizzazione di cui abbiamo parlato prima.

Figura 10. Visualizzazione dei permessi del responsabile dell'agente

Creazione dell'identità dell'agente

Una volta autenticato il modello, è ora possibile utilizzarlo per creare l'identità di un agente.

Per farlo, chiama il /servicePrincipals/Microsoft.Graph.AgentIdentity endpoint e specificare le seguenti proprietà: nome visualizzato, elenco degli sponsor e ID del modello di identità dell'agente.

Figura 11. Avvio della richiesta di identificazione dell'agente

Annotare l'ID dell'oggetto di identità dell'agente presente nella risposta. (Lo indicheremo come <agent-identity-id>.)

Figura 12. Visualizzazione dell'ID del nuovo oggetto identità agente

Creazione di un utente agente

Prima di creare un utente agente, abbiamo già sottolineato che al modello di identità dell’agente devono essere concesse autorizzazioni aggiuntive per questa operazione. Possiamo assegnare tali autorizzazioni richiamando il /servicePrincipals//appRoleAssignments endpoint e assegnando al blueprint il AgentIdUser.ReadWrite.IdentityParentedBy autorizzazione dell'applicazione. Per eseguire questa operazione utilizzeremo un account di amministratore del tenant.

Nel corpo della richiesta, è necessario includere l'ID SP del blueprint, l'ID della risorsa (ID SP di MS Graph) e l'ID del ruolo dell'app, che è possibile trovare qui.

Figura 13. Assegnazione delle autorizzazioni al modello di identità dell'agente

Ora possiamo creare un utente agente. Dopo aver ottenuto un nuovo token per il blueprint utilizzando lo stesso metodo già impiegato in precedenza, potrai vedere il ruolo appena assegnato riportato nel token del blueprint.

Figura 14. Visualizzazione del ruolo di manager appena creato nel nostro nuovo token

Ora possiamo utilizzare questo token per creare un utente agente chiamando il /users/microsoft.graph.agentUser l'endpoint e specificando un nome visualizzato, il nome principale dell'utente, il nickname di posta, l'ID di identità dell'agente come genitore dell'utente agente e, infine, un flag che indica se l'account è abilitato o disabilitato.

Figura 15. Inserimento dei dati relativi al nuovo utente agente

Annotare l'ID dell'oggetto utente dell'agente presente nella risposta. (Lo indicheremo come <agent-user-id>.)

Figura 16. Ricezione dell'ID dell'oggetto utente dell'agente

Promemoria: ogni identità di agente può avere un solo utente agente come elemento figlio (rapporto 1:1).

Congratulazioni! Hai creato l'identità di un agente.

Nel prossimo capitolo della nostra guida approfondiremo la progettazione degli attributi dell’identità dell’agente.


Scopri la guida