Arquitetura de delegação de identidade

Para aplicar limites de confiança entre usuários humanos, cargas de trabalho autônomas e ferramentas externas sem depender da identidade temporária de conta de serviço, a Identidade do Agente usa um framework de delegação de três identidades. Esse framework separa e coordena três contextos de identidade distintos no seu ambiente:

  • Identidade do usuário: a identidade do usuário final que inicia a ação, autenticada pelo OAuth 2.0 padrão ou pelo OpenID Connect (OIDC) com o Google Identity ou um provedor de identidade (IdP) federado de colaboradores.
  • Identidade do Agente: a identidade SPIFFE exclusiva e criptograficamente atestada do agente implantado e o certificado X.509 de provisionamento automático, que representam o agente agindo sob a própria autoridade.
  • Identidade delegada: o contexto de autoridade combinada quando o agente atua em nome do usuário humano iniciante usando credenciais OAuth de três etapas (3LO) com escopo intermediadas pelo gerenciador de autenticação de Identidade do Agente.

O diagrama a seguir ilustra como a identidade do usuário, a identidade do agente e a identidade delegada interagem entre os limites de confiança de entrada, ambiente de execução e saída:

Diagrama de arquitetura de delegação de identidade que mapeia a identidade do usuário, do agente e delegada em limites de confiança de entrada, ambiente de execução e saída.

Nessa arquitetura, a identidade do usuário estabelece o contexto do autor da chamada durante a entrada, a identidade do agente autentica a carga de trabalho dentro do limite do ambiente de execução e a identidade delegada combina as duas autoridades quando o agente acessa serviços downstream em nome do usuário.

Como as identidades se propagam entre limites de confiança

À medida que uma solicitação se move por esses limites de confiança, a plataforma avalia e propaga cada camada de identidade:

  1. Limite de entrada do cliente para o agente (identidade do usuário): o usuário humano se autentica no aplicativo cliente usando um token OAuth 2.0 ou OIDC. Quando o tráfego entra pelo Gateway de Agente (no modo de entrada CLIENT_TO_AGENT), as políticas de autorização anexadas ao Gateway de Agente verificam a identidade do usuário para confirmar se ele está autorizado a invocar o agente de destino e encaminhar o contexto do usuário verificado para o ambiente de execução.
  2. Ambiente de execução do agente e intermediação de credenciais (identidade do agente): dentro do ambiente de execução isolado, o agente opera com a própria identidade de agente SPIFFE com um certificado X.509 de 24 horas com rotação automática. Quando o agente precisa de credenciais para ferramentas downstream, ele se autentica no gerenciador de autenticação de identidade do agente usando a identidade do agente.
  3. Caminho de saída autônomo (identidade do agente): quando o agente chama APIs do Google Cloud ou endpoints de máquina para máquina com a própria autoridade, ele se autentica usando tokens vinculados a certificados aplicados por TLS mútuo (mTLS) e demonstração de prova de posse (DPoP), tokens de ID OIDC ou credenciais OAuth de duas etapas (2LO) do gerenciador de autenticação. As políticas de permissão e negação do IAM, as políticas de limite de acesso de principal (PAB) e as políticas de acesso baseado no contexto avaliam a solicitação estritamente em relação à identidade do agente.
  4. Caminho de saída delegado pelo usuário (identidade delegada): quando o agente chama servidores do Protocolo de Contexto de Modelo (MCP, na sigla em inglês) no escopo do usuário ou APIs de terceiros em nome do usuário humano, o gerenciador de autenticação intermedia um token de usuário 3LO consentido que representa a identidade delegada. As chamadas de saída são regidas pelas políticas de saída do agente e pelas permissões e escopos OAuth consentidos do usuário delegante. Os registros de auditoria registram a identidade do agente e a do usuário.

Comparação de camadas de identidade

A tabela a seguir resume como as três camadas de identidade controlam o acesso e a auditabilidade:

Camada de identidade Principal e tipo de credencial Limite de confiança e aplicação de políticas Atribuição de registro de auditoria
Identidade do usuário Usuário final inicial (Conta do Google ou principal de identidade de colaboradores) autenticado com um token OAuth 2.0 ou OIDC. Cliente para agente (entrada): as políticas de autorização do Gateway de Agente verificam se o usuário pode invocar o agente e iniciar uma sessão. Registra a identidade do usuário humano como o autor da chamada que invoca o endpoint do agente.
Identidade do agente Carga de trabalho do agente autônomo (principal de identidade do agente) autenticada com um certificado SPIFFE X.509 (mTLS e DPoP), token de ID do OIDC ou credencial 2LO ou chave de API do gerenciador de autenticação. Agente para qualquer lugar (saída): as políticas de permissão, negação, limite de acesso de principal e acesso baseado no contexto do IAM aplicam quais recursos, provedores de autenticação e endpoints externos do Google Cloud o agente pode acessar por conta própria. Registra o principal SPIFFE exclusivo do agente como a identidade em ação.
Identidade delegada Identidade do agente agindo em nome do usuário humano que deu o consentimento (Conta do Google ou principal de identidade de força de trabalho) usando um token de acesso 3LO com escopo intermediado pelo gerenciador de autenticação de identidade do agente. Agente para qualquer lugar (saída): aplica a interseção de privilégio mínimo. A chamada precisa atender às políticas de governança de saída do agente e às permissões e escopos OAuth consentidos do usuário delegante. Registra a atribuição dupla, capturando a identidade SPIFFE do agente e o usuário humano delegante.

A seguir