Compartilhar via


Tokens na plataforma de identidade do agente da Microsoft

Os tokens são o mecanismo de segurança fundamental que permite a comunicação segura e a autorização na plataforma de identidade do agente da Microsoft. Este artigo explica como os tokens funcionam em cenários de aplicativo de agente.

Em cenários de aplicativo de agente, os tokens carregam declarações aprimoradas para dar suporte aos requisitos exclusivos. Ao contrário dos tokens de aplicativo não dinâmicos, os tokens usados pelos agentes incluem declarações especializadas que identificam tipos de entidade, relações de delegação e contextos de autorização específicos para operações de agente.

Esses tokens habilitam a comunicação segura entre:

  • Blueprints de identidade do agente e suas identidades de agente
  • Identidades do agente e APIs de recursos
  • Usuários do agente e os serviços com os quais interagem
  • Cadeias de delegação complexas envolvendo várias entidades de agente

Identificadores de entidade de declarações de token

Os tokens de agente incluem declarações especializadas que identificam o tipo e a função de entidades que participam de fluxos de autenticação:

  • Declarações de faceta do ator (xms_act_fct): identifique a entidade executando ações dentro do fluxo de token. Essas declarações permitem que os sistemas entendam quem está realmente solicitando acesso ou executando operações.

  • Declarações de faceta do assunto (xms_sub_fct): identifique o assunto final para quem as operações estão sendo executadas. Ele habilita a atribuição adequada mesmo em cenários de delegação complexos.

  • Declarações de tipo de identidade (idtyp): distingue entre contextos de usuário e aplicativo, habilitando a aplicação de política apropriada e a imposição de segurança.

  • Declarações de relação de identidade (xms_idrel): descreva a relação entre o assunto do token e o locatário do recurso, dando suporte a cenários de acesso de vários locatários e convidados.

Padrões de fluxo de token

Os agentes participam de vários padrões de fluxo de token distintos, cada um projetado para cenários operacionais específicos. Para obter mais informações, consulte protocolos de autenticação na plataforma de identidade do agente da Microsoft.

Tokens em cenários de delegação de usuário

Os cenários de delegação de usuários permitem que aplicativos de agente operem em nome dos usuários. Nesse cenário, os tokens preservam a identidade do usuário ao identificar o blueprint de identidade do agente como a entidade em ação. O protocolo OBO requer que o público-alvo do token corresponda à ID do cliente. No entanto, para a identidade do agente (ID do agente), o token de entrada tem o público-alvo do blueprint de identidade do agente. Nesse cenário, os tokens têm as seguintes características principais:

  • Manter o contexto de identidade do usuário ao longo das operações
  • Incluir permissões delegadas concedidas ao blueprint de identidade do agente
  • Habilitar a avaliação de política nos níveis de usuário e aplicativo
  • Dar suporte a operações interativas e em segundo plano

A identidade do agente recebe permissões delegadas que podem ser atribuídas diretamente ou herdadas do blueprint de identidade do agente pai quando a representação é usada.

Tokens em cenários somente de aplicativo

Os cenários somente de aplicativo representam operações autônomas em que os blueprints de identidade do agente atuam em seu próprio nome sem o contexto do usuário.

Nesse cenário, os tokens têm as seguintes características principais:

  • Representar a própria identidade do blueprint de identidade do agente
  • Incluir permissões no nível do aplicativo diretamente atribuídas pelo administrador do locatário
  • Habilite o acesso não copiado dentro dos limites de permissão concedidos. As permissões delegadas não são aplicadas.
  • Suporte a operações em segundo plano totalmente autônomas

Tokens em cenários de representação de usuário do agente

Os cenários de representação do usuário do agente permitem que os usuários do agente operem como usuários humanos. Esses tokens dão suporte a cenários em que os agentes precisam de contexto semelhante ao usuário, mas com identidades controladas e predefinidas.

Nesse cenário, os tokens têm as seguintes características principais:

  • Usar identidades de usuário de agente especializado
  • Manter padrões de comportamento de contexto do usuário
  • Incluir permissões delegadas com escopo
  • Exigir atribuição explícita para identidades de agente

Nesse cenário, o blueprint de identidade do agente representa a identidade do agente, que, em seguida, representa o usuário do agente atribuído. O acesso tem como escopo as permissões delegadas atribuídas à identidade do agente, garantindo que o agente não possa exceder suas permissões concedidas mesmo ao operar com o contexto do usuário. Os usuários do agente só podem ser usados quando atribuídos a uma identidade de agente e não podem se autenticar de forma independente.

Integração da API não engenhosa

Os agentes e os clientes OBO não dinâmicos levam as facetas do assunto adiante. Ele permite que os servidores de recursos apliquem políticas apropriadas e log para entidades de agente. Ele também habilita a atribuição adequada mesmo quando os tokens passam por intermediários não dinâmicos.

Declarações de aplicativo do Construtor

Plataformas que criam agentes e se integram com o Microsoft Entra Agent ID não recebem declarações de token especiais. Essas plataformas usam declarações de token padrão apropriadas para seu método de autenticação e não participam da estrutura de declaração de agente especializado.

Modelos de locação e comportamento de token

Todos os tokens contêm uma ID de locatário (tid) que representa o locatário da organização. Os tokens são limitados dentro do locatário da identidade do agente. Cada identidade do agente recebe tokens com escopo para seu locatário operacional. As identidades do agente não podem acessar recursos fora do locatário do cliente atribuído. A herança de permissão flui diretamente de entidades pai para filho.

Validação de token

Espera-se que os clientes que usam identidades de agente tratem os tokens de acesso emitidos a eles para usar em servidores de recursos como opacos e não tente analisá-los. No entanto, os servidores de recursos que recebem tokens de acesso emitidos aos agentes precisam analisar os tokens para validá-los e extrair declarações para fins de autorização.

Os servidores de recursos devem validar tokens de agente:

  • Verificando declarações OAuth padrão (aud, exp, iss)
  • Verificando declarações de faceta do agente para identificação de entidade adequada
  • Validando permissões com base no tipo de token (delegado versus somente aplicativo)
  • Garantindo a conformidade do limite do locatário

As declarações de token permitem que os mecanismos de política:

  • Identificar agentes versus clientes não avançados
  • Distinguir entre diferentes cenários de agente
  • Aplicar políticas de acesso condicional apropriadas
  • Gerar logs de auditoria precisos

O exemplo do processo de validação seria executar as seguintes ações:

  • Verifique se um token foi emitido para uma identidade de agente e para qual blueprint do agente.

    HttpContext.User.GetParentAgentBlueprint()
    
  • Verifique se um token foi emitido para uma identidade de usuário do agente.

    HttpContext.User.IsAgentUserIdentity()
    

Esses dois métodos de extensões se aplicam a ambos ClaimsIdentity e ClaimsPrincipal.

Auditoria e integração de log

As declarações de token fornecem a base para trilhas de auditoria abrangentes:

  • azp identifica a identidade do agente solicitante para a atribuição do cliente
  • oid identifica o assunto para a atribuição de acesso a recursos
  • xms_act_fct e habilite a xms_sub_fct análise de fluxo detalhada
  • tid garante o contexto de locatário adequado nos logs

Declarações de token do agente