Compartir a través de


Seguridad basada en la función en aplicaciones administradas

La seguridad basada en la función es un concepto corriente en una aplicación en la que el programador toma decisiones relativas a la autorización basándose en la identidad o en las funciones de la entidad en cuyo nombre se está ejecutando una aplicación. La definición de funciones suele depender de la aplicación en cuestión, al igual que las condiciones en las que un administrador decide autorizar acciones concretas.

Los programadores de aplicaciones suelen tomar decisiones relativas a la autorización basándose en la identidad y las funciones asociadas con el contexto de ejecución. Es lo que suele ocurrir en sistemas financieros o empresariales como medio de imponer directivas. Por ejemplo, puede imponer límites para el valor de una transacción que dependan de la función del usuario que realiza la solicitud. Los empleados podrían procesar transacciones que no superaran un umbral especificado, los supervisores podrían tener un límite superior y los vicepresidentes podría tener un límite todavía mayor. Otro ejemplo es un sistema empresarial que requiera varias aprobaciones para completar una acción. Piense en un sistema de compras en el que cualquier empleado puede generar una solicitud de compra, pero sólo un agente de compras puede procesar la solicitud y generar una orden de compra que se pueda enviar al proveedor.

En el pasado, tales requisitos se solían atender mediante mecanismos patentados. Microsoft introdujo primero la infraestructura para admitir este tipo de seguridad basada en la función en Microsoft Transaction Server y hace poco en Servicios de COM+ 1.0. .NET Framework proporciona una compatibilidad similar, pero de una manera muy bien integrada en el modelo de programación de .NET. Los mecanismos de seguridad basados en funciones tienen las siguientes características:

  • Permiten comprobar la identidad y la función de la entidad en cuyo nombre se ejecuta el código.
  • Se integran muy bien en aplicaciones distribuidas mediante .NET remoting.
  • Funcionan de manera coherente tanto en el entorno de ejecución del servidor como del cliente.
  • Exponen estos servicios a los programadores de aplicaciones a través de mecanismos parecidos a las comprobaciones de seguridad de acceso a código.
  • Se han generalizado y siempre están disponibles.
  • Se pueden configurar fácilmente de manera que utilicen funciones definidas por la aplicación.

Vea también

Seguridad | Seguridad de acceso a código | Seguridad Web de HttpChannel