Auditoria

Solo disponible en BuenasTareas
  • Páginas : 6 (1291 palabras )
  • Descarga(s) : 4
  • Publicado : 25 de febrero de 2010
Leer documento completo
Vista previa del texto
La funcionalidad de las ACL
La funcionalidad de listas de control de acceso en CakePHP es una de las más comentadas, en parte porque es una de las más solicitadas, y en parte porque puede ser algo confusa al principio. Si estás buscando un buen lugar para comenzar a utilizar ACL en general, continúa leyendo.
Debes ser valiente, incluso cuando las cosas se compliquen. Una vez que asimiles estosconceptos, las listas de control de acceso son una herramienta extremadamente poderosa para tener a mano al desarrollar tu aplicación.

Que son las ACL:
Las listas de control de acceso permiten gestionar detalladamente los permisos de una aplicación de forma sencilla y escalable.
Las listas de control de acceso, o ACL, manejan principalmente dos cosas: las entidades que solicitan el control dealgo y las entidades que se quiere controlar. En la jerga de ACL, las entidades que quieren controlar algo, que la mayoría de las veces son los usuarios, son los ARO (en inglés access request objects), y las entidades del sistema que se quiere controlar, que normalmente son acciones o datos, son los ACO (en inglés access control objects). A los ARO se les llama 'objetos' porque quien realiza lapetición no siempre es una persona; los ACO son cualquier cosa que desees controlar: desde la acción de un controlador o un servicio Web, hasta el diario en línea íntimo de tu abuela.
En resumen:
• ACO - Access Control Object - Objeto que se quiere controlar
• ARO - Access Request Object - Objeto que solicita el control de algo
Esencialmente, las ACL se utilizan para decidir cuándo un AROpuede acceder a un ACO.
Vamos a utilizar un ejemplo práctico para ver cómo encajan todas estas piezas. Imaginemos que el grupo de aventureros de la novela de fantasía El señor de los Anillos trabaja con una aplicación CakePHP, y que el líder, Gandalf, se encarga de gestionar los elementos del grupo. Para garantizar la privacidad y la seguridad de los miembros del grupo, pues, lo primero que haceGandalf es crear la lista de AROs involucrados:
• Gandalf
• Aragorn
• Bilbo
• Frodo
• Gollum
• Legolas
• Gimli
• Pippin
• Merry
Fíjate que ACL no es lo mismo que la autenticación; ACL es lo que ocurre después de que el usuario se autentica. Aunque suelen utilizarse los dos a la vez, es importante ver la diferencia entre saber quién es alguien (autenticación) y saber qué puedehacer (ACL).
A continuación, Gandalf tiene que crear una lista con las cosas, o ACOs, que el sistema maneja. Esta lista puede ser como la siguiente:
• Armas
• El Anillo
• Jamón
• Diplomacia
• Cerveza
Armas El Anillo Jamón Diplomacia Cerveza
Gandalf Permitir Permitir Permitir
Aragorn Permitir Permitir Permitir Permitir
Bilbo Permitir
Frodo Permitir Permitir
GollumPermitir
Legolas Permitir Permitir Permitir Permitir
Gimli Permitir Permitir
Pippin Permitir Permitir
Merry Permitir
A simple vista, parece que este tipo de sistema funciona bastante bien. En efecto, las asignaciones garantizan la seguridad (sólo Frodo puede acceder al anillo) y previenen los accidentes (los Hobbits se mantienen lejos del jamón y de las armas). Parece bastantedetallado y fácil de leer, ¿verdad?
Sin embargo, una matriz como esta sólo funciona en un sistema pequeño; en un sistema que tenga previsto crecer, o que tenga muchos recursos (ACOs) y usuarios (AROs), es difícil mantenerla. Ciertamente, ¿te imaginas, en este ejemplo, cómo se controlaría el acceso a cientos de campamentos de guerra, gestionándolos por unidad? Otro inconveniente de las matrices es que nopermiten formar grupos lógicos de usuarios ni aplicar cambios de permiso en cascada a estos grupos. En otras palabras, estaría muy bien que, una vez terminada la batalla, los hobbits pudieran acceder a la cerveza y al jamón; en otras palabras, otorgar individualmente permisos a hobbits es tedioso y propenso a errores, mientras que aplicarles un cambio en cascada es mucho más fácil.
ACL se suele...
tracking img