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

OAuth 2.0 El intercambio de tokens (RFC 8693) permite la delegación al facilitar que un actor obtenga tokens en nombre de un sujeto (normalmente un usuario). Tradicionalmente, esta autorización se gestiona mediante una 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_act afirmació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.

Ventajas principales:
  • 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
  1. Accede a la consola de administración y selecciona «Aplicaciones » > «Aplicaciones ». Haz clic en «Añadir aplicación» y selecciona cualquiera de las aplicaciones relacionadas con « OpenID Connect» o edita una ya existente.
  2. 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.
  3. Guarda tu configuración.

Expresiones de criterios de actor

Las expresiones de criterios de actor utilizan CELx y tienen acceso a las afirmaciones de los tokens de sujeto y de actor a través de 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»:
requestContext.actor_token.type == 'ai-agent' && 
    requestContext.actor_token.certified == true && 
    requestContext.subject_token.ai_delegation_enabled == true
Validar determinados ámbitos:
requestContext.actor_token.type == 'ai-agent' && 
    requestContext.scope.all(s, s in ['email:read', 'calendar:read', 'documents:read'])

Comportamiento en tiempo de ejecución

Cuando se recibe una solicitud de intercambio de tokens, IBM Verify :
  • 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.
El proceso es transparente para las aplicaciones y añade una latencia mínima.