Criterios de selección de actores
Las aplicaciones empresariales modernas recurren cada vez más a situaciones de delegación en las que un servicio o agente actúa en nombre de un usuario. Ya se trate de un asistente de IA que acceda a tu calendario, de un microservicio que realice llamadas a API con permisos de usuario o de un caso de poder notarial, la delegación segura es fundamental. IBM® Verify Ahora ofrece una mayor flexibilidad a la hora de autorizar estas relaciones de delegación mediante criterios de actor configurables.
El reto que plantea el intercambio tradicional de tokens
may_act declaración integrada en el token del sujeto, que especifica exactamente qué actores están autorizados a actuar en su nombre. Aunque este enfoque funciona, plantea varios retos prácticos:- Flexibilidad limitada : resulta difícil definir un conjunto de agentes autorizados sin comprometer la seguridad. Debes conocer la identidad exacta del actor al emitir el token de sujeto.
- Gestión compleja de tokens : Las aplicaciones deben realizar pasos adicionales para incorporar la
may_actafirmación en los tokens de sujeto.
Criterios de selección de actores
IBM Verify Ahora te permite definir criterios de actores utilizando expresiones CELx flexibles directamente en la configuración de tu aplicación. Esto elimina la necesidad de modificar los tokens de sujeto y permite aplicar criterios que tienen en cuenta el contexto.
- Control centralizado mediante la configuración de la aplicación.
- Compatibilidad con elementos dinámicos, como agentes de IA y servicios de automatización.
- Operaciones simplificadas sin necesidad de preprocesamiento de tokens.
- Compatibilidad total con los procesos de tramitación de reclamaciones ya existentes
may_act.
Configuración
- Para solicitudes
- Accede a la consola de administración y selecciona ». Haz clic en «Añadir aplicación» y selecciona cualquiera de las aplicaciones relacionadas con « OpenID Connect» o edita una ya existente.
- En la pestaña «Inicio de sesión », ve a la sección «Intercambio de tokens ». Haz clic en «Establecer criterios» en el mosaico «Criterios del actor» para introducir tu expresión CELx.
- Guarda tu configuración.
Expresiones de criterios de actor
requestObject. Por ejemplo:{
"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 consultar la documentación completa sobre la sintaxis de CELx, consulta la guía de funciones de atributos.- Ejemplos de expresiones
- Validar las afirmaciones en los tokens «sujeto» y «actor»:
Validar determinados ámbitos: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'])
Comportamiento en tiempo de ejecución
- Valida tanto los tokens de sujeto como los de actor.
- Evalúa la expresión de criterios del actor CELx.
- Comprueba, si se desea, la afirmación tradicional
may_act(si no se ha omitido). - Si se superan todas las comprobaciones, emite un token delegado con una reclamación de acto enriquecida.