Critérios para atores

Os aplicativos empresariais modernos dependem cada vez mais de cenários de delegação, nos quais um serviço ou agente age em nome de um usuário. Seja um assistente de IA acessando sua agenda, um microsserviço chamando APIs com permissões do usuário ou um cenário de procuração, a delegação segura é fundamental. IBM® Verify agora oferece maior flexibilidade na forma como você autoriza essas relações de delegação por meio de critérios configuráveis para os atores.

O desafio da troca tradicional de tokens

OAuth 2.0 A Troca de Tokens (RFC 8693) possibilita a delegação, permitindo que um ator obtenha tokens em nome de um sujeito (normalmente um usuário). Tradicionalmente, essa autorização é controlada por meio de uma may_act declaração incorporada ao token do sujeito, que especifica exatamente quais atores estão autorizados a agir em seu nome. Embora essa abordagem funcione, ela apresenta vários desafios práticos:
  • Flexibilidade limitada : é difícil definir um conjunto de participantes autorizados sem comprometer a segurança. É necessário saber a identidade exata do ator ao emitir o token do sujeito.
  • Gerenciamento complexo de tokens : os aplicativos devem realizar etapas adicionais para inserir a may_act afirmação nos tokens de sujeito.

Critérios para atores

IBM Verify agora permite que você defina critérios de atores usando expressões CELx flexíveis diretamente na configuração do seu aplicativo. Isso elimina a necessidade de modificar os tokens de assunto e permite a aplicação de critérios sensíveis ao contexto.

Principais benefícios:
  • Controle centralizado por meio da configuração do aplicativo.
  • Suporte a atores dinâmicos, como agentes de IA e serviços de automação.
  • Operações simplificadas, sem pré-processamento de tokens.
  • Total compatibilidade com versões anteriores do processamento de pedidos de indenização já existente may_act .

Configuração

Para inscrições
  1. Acesse o Console de Administração e selecione Aplicativos > Aplicativos. Clique em “Adicionar aplicativo” e selecione qualquer um dos aplicativos relacionados ao OpenID Connect ou edite um já existente.
  2. Na guia “Login ”, acesse a seção “Troca de token ”. Clique em “Definir critérios” no bloco “Critérios do ator” para inserir sua expressão CELx.
  3. Salve sua configuração.

Expressões de critérios de ator

As expressões de critérios de ator utilizam CELx e têm acesso às reivindicações dos tokens de sujeito e de ator por meio do requestObject. Por exemplo,
{
  "requestContext": {
    "grant_type": ["urn:ietf:params:oauth:grant-type:token-exchange"],
    "scope": ["email:read", "calendar:read", "documents:read"],
    "requested_token_type": ["urn:ietf:params:oauth:token-type:access_token"],
    "client_id": ["ai-assistant-app"],
    "subject_token": {
      "sub": "user-123",
      "email": "Jessica@example.com",
      "name": "Jessica Smith",
      "iss": "https://abc.verify.ibm.com/oauth2",
      "exp": 1737537000,
      "iat": 1737533400,
      "scope": ["openid", "profile", "email"]
    },
    "actor_token": {
      "agent_id": "ai-assistant-gpt-001",
      "name": "AI Assistant GPT",
      "type": "ai-agent",
      "version": "4.0",
      "purpose": "general-assistance",
      "certified": true,
      "provider": "openai",
      "iss": "spiffe://abc.com",
      "exp": 1737537000,
      "iat": 1737533400
    }
  }
}
Para obter a documentação completa sobre a sintaxe do CELx, consulte o guia de funções de atributos.
Exemplos de expressões
Validar as afirmações nos tokens de sujeito e de agente:
requestContext.actor_token.type == 'ai-agent' && 
    requestContext.actor_token.certified == true && 
    requestContext.subject_token.ai_delegation_enabled == true
Validar determinados escopos:
requestContext.actor_token.type == 'ai-agent' && 
    requestContext.scope.all(s, s in ['email:read', 'calendar:read', 'documents:read'])

Comportamento em tempo de execução

Quando uma solicitação de troca de token é recebida, IBM Verify :
  • Valida os tokens de sujeito e de agente.
  • Avalia a expressão de critérios do ator CELx.
  • Verifica, opcionalmente, a alegação tradicional may_act (se não for ignorada).
  • Emite um token delegado com uma reivindicação de ato enriquecida caso todas as verificações sejam aprovadas.
O processo é transparente para os aplicativos e acrescenta uma latência mínima.