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_actafirmaçã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
- Acesse o Console de Administração e selecione . Clique em “Adicionar aplicativo” e selecione qualquer um dos aplicativos relacionados ao OpenID Connect ou edite um já existente.
- 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.
- 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:
Validar determinados escopos:requestContext.actor_token.type == 'ai-agent' && requestContext.actor_token.certified == true && requestContext.subject_token.ai_delegation_enabled == truerequestContext.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.