domingo, 31 de agosto de 2014

Authorization Manager

Como bien se sabe dos de las tareas más comunes en un sistema de seguridad es la “Autenticación” y la “Autorización”, la autenticación es el medio por el cual se comprueba que un usuario es quien dice ser y la autorización es la validación de las tareas que puede llevar a cabo un usuario autenticado.

El Authorization manager o AzMan es una herramienta de Microsoft, que se integra en muchos de sus sistemas operativos, de esta forma se reutilizan las bondades del sistema operativo para una de las tareas que se requieren en casi cualquier sistema como lo es la “Autorización”, del mismo modo se puede también reutilizar las características del sistema operativo para el manejo de la autenticación a través de los usuarios locales de máquinas o el Active Directory.

Esta herramienta, es una de las más flexibles, fáciles y escalables para administrar la seguridad basada en roles, es tan flexible que se pueden administrar varias aplicaciones (sistemas o módulos), cada una con sus operaciones (que es la unidad más pequeña de trabajo), tareas que están compuestas por operaciones y roles (los cuales pueden tener asignados operaciones o tareas), también se pueden crear roles que heredan características de otros roles, al mismo tiempo dichos roles pueden ser asignados a usuarios o grupos del sistema operativo. También se pueden usar scripts para cambiar permisos dinámicamente. Dicha política de seguridad puede estar almacenada en un Active Directory o un archivo XML, a dicho repositorio se le conoce con el nombre de “Store”.

La asignación de funciones y la corroboración de operaciones para un usuario se pueden configurar fuera de la aplicación y se pueden realizar mediante programación dentro de la aplicación.                        
A continuación paso a paso un ejemplo de la administración de seguridad con AzMan.

Paso 1
Clic en el menú inicio y escoger la opción run (Ejecutar), escribir AzMan.msc y dar clic en OK, este comando va a abrir el Authorization Manager.

 
Paso 2
Escoger la opción Action del menú y dar clic en Options…, se abre un cuadro de dialogo con los modo Developer o administrador. Se debe escoger el modo Developer como es de suponerse para la etapa de desarrollo (en este modo se tienen mayor cantidad de opciones, como la posibilidad de crear el store).


Paso 3
Escoger Action en el menú y dar clic en New authorization store. El usuario tiene la opción de crear un XML o utilizar el repositorio de Active Directory como authorization store. En la próxima imagen se utilizará un XML como authorization store.
Especificar la ruta del XML y digitar una descripción en caso de ser necesaria. Igualmente se recomienda en un repositorio XML durante la etapa de desarrollo y un Active Directory en producción.


Paso 4
Ingresar nuevamente al menú Action y seleccionar la opción New Application.


Paso 5
Indicar el nombre de la aplicación, una descripción y la versión de la misma.


Paso 6 
Expandir la aplicación y seleccionar la “Operation Definition” que está dentro de la carpeta Definitions. Ahora ingresar al menú “Action” o posicionar el cursor en el panel derecho y oprimir clic derecho para abrir el menú. Seleccionar la opción para crear una nueva definición de operación. Indicar el nombre, descripción y número, para la nueva operación. Se debe tener el cuidado de indicar un número único para cada una de las operaciones creadas.




Paso 7
Seleccionar la carpeta Task Definitions folder y escoger New Task en el menú Action o dar clic derecho y escoger la opción para crear una tarea nueva. Cada tarea que se crea va a tener una o más operaciones asociadas. Una tarea también puede tener tareas anidadas. Se debe indicar el nombre de la tarea y una descripción y luego dar clic en OK. 

Paso 8
Oprimir clic derecho sobre la nueva tarea y escoger la opción propiedades. En el tab Definition dar clic en Add y seleccionar las operaciones respectivas de la tarea.




Paso 9
Ya se tienen definidas todas las operaciones y tareas para cada módulo.


Paso 10
Oprimir clic derecho sobre Role definitions que está dentro de la carpeta Definitions, elegir la opción New Role Definition, indicar el nombre y la descripción del rol y dar clic en OK. 



Paso 11
Oprimir clic derecho sobre el rol y elegir la opción propiedades. En el tab Definition dar clic en Add, en la ventana que se despliega seleccionar el tab Task y escoger las tareas respectivas.


Paso 12
En el paso anterior se indicó como asignar las tareas a los roles. Ahora se debe asignar solo los roles adecuados para la aplicación creada. Seleccionar la carpeta "Role Assignments" que está en la carpeta Application y escoger la opción Action del Menú y de ahí Assign Roles. Seleccionar los roles adecuados de la lista.


Paso 13
Asignar usuarios y crear grupos para los roles definidos. Escoger la carpeta Group que está dentro de la carpeta de la aplicación, oprimir clic derecho y seleccionar la opción New application group. Indicar el nombre y la descripción del Application Group y oprimir OK.  Oprimir clic derecho sobre el nuevo Application Group y seleccionar propiedades. En la ventana de propiedades, escoger el tab Members y dar clic sobre la "Add Windows Users and Groups..." y agregar los usuarios correspondientes.




Paso 14
Seleccionar el rol que tiene asignada la aplicación (dentro de la carpeta Role Assigments), oprimir clic derecho en el rol y escoger la opción Assign Application Group y seleccionar los grupos de usuarios de la lista que se despliega.


Paso 15
Oprimir clic derecho sobre la carpeta de la aplicación y seleccionar la opción New Scope. Indicar el nombre y la descripción del Scope y oprimir OK.