Compartilhar via


Protocolo de suplantação de usuário do agente

A representação do usuário do agente permite que as identidades do agente operem com o contexto do usuário por meio de usuários do agente, combinando permissões de usuário com operações autônomas. Nesse cenário, um blueprint de identidade do agente (ator 1) imita uma identidade de agente (ator 2) que imita um usuário de agente (assunto) usando FIC. O acesso é limitado a delegações atribuídas à identidade do agente. O usuário do agente pode ser impersonado apenas por uma única identidade de agente.

Aviso

A Microsoft recomenda usar os SDKs aprovados, como as bibliotecas do SDK do Microsoft.Identity.Web e do Microsoft Agent ID para implementar esses protocolos. A implementação manual desses protocolos é complexa e propensa a erros e usar os SDKs ajuda a garantir a segurança e a conformidade com as práticas recomendadas.

Integração de identidades gerenciadas

As identidades gerenciadas são o tipo de credencial preferencial. Nessa configuração, o token de identidade gerida serve como a credencial para o modelo de identidade do agente pai, enquanto os protocolos MSI padrão aplicam-se à aquisição de credenciais. Essa integração permite que a ID do agente receba os benefícios completos da segurança e do gerenciamento da MSI, incluindo rotação automática de credenciais e armazenamento seguro.

Etapas do protocolo

Em seguida, a seguir estão as etapas de protocolo.

Diagrama mostrando a ilustração do fluxo de aquisição de token de usuário do agente para agentes.

  1. O plano de identidade do agente solicita um token de troca (T1) que ele usa para a falsificação de identidade do agente. O roteiro de identidade do agente apresenta credenciais de cliente que podem ser um segredo, um certificado ou um token de identidade gerenciada usado como FIC.

    Aviso

    Segredos do cliente não devem ser usados como credenciais de cliente em ambientes de produção para planos de identidade do agente devido a riscos de segurança. Em vez disso, use métodos de autenticação mais seguros, como fic (credenciais de identidade federadas) com identidades gerenciadas ou certificados de cliente. Esses métodos fornecem segurança aprimorada eliminando a necessidade de armazenar segredos confidenciais diretamente na configuração do aplicativo.

    POST /oauth2/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=AgentBlueprint
    &scope=api://AzureADTokenExchange/.default
    &fmi_path=AgentIdentity
    &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
    &client_assertion=TUAMI
    &grant_type=client_credentials
    

    Onde TUAMI é o token MSI para a identidade gerenciada atribuída pelo usuário (UAMI). Isso retorna o token T1.

  2. A identidade do agente solicita um token (T2) que é usado para a representação do usuário do agente. A identidade do agente apresenta T1 como sua asserção de cliente. A ID do Microsoft Entra retorna T2 para a identidade do agente depois de validar o blueprint de identidade do agente T1 (aud) == Aplicativo pai da identidade do agente == Blueprint de identidade do agente.

    POST /oauth2/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=AgentIdentity
    &scope=api://AzureADTokenExchange/.default
    &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
    &client_assertion={T1}
    &grant_type=client_credentials
    

    Isso retorna o token T2.

  3. Em seguida, a identidade do agente envia uma solicitação de troca de token OBO para o Microsoft Entra ID, incluindo T1 e T2. Microsoft Entra ID valida que T2 (aud) == identidade do agente.

    POST /oauth2/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=AgentIdentity
    &scope=https://resource.example.com/scope1
    &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
    &client_assertion={T1}
    &assertion={T2}
    &username=agentuser@contoso.com
    &grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
    &requested_token_use=on_behalf_of
    
  4. O ID do Microsoft Entra emite o token de recurso.

Diagrama de sequência

O diagrama de sequência a seguir mostra o fluxo de impersonação do usuário agente

Diagrama mostrando a sequência de tokens do fluxo de aquisição de token de usuário para agentes.

A representação do usuário do agente requer o encadeamento de credenciais que siga o padrão blueprint de identidade do agente → identidade do agente → usuário do agente. Cada etapa nessa cadeia usa o token da etapa anterior como uma credencial, criando um caminho de delegação segura. A mesma ID do cliente deve ser usada para ambas as fases para evitar ataques de escalonamento de privilégios.