jueves, 17 de enero de 2013

Workflow en Project Server 2010 - Seguridad

Este breve artículo pretende describir algunos temas acerca de los permisos necesarios para trabajar con flujos de trabajo en Project Server 2010.

Los permisos estándar

Los permisos específicos para manejo de flujos de trabajos son:

Permisos globales

  • Change Workflow: le permite a un usuario cambiar el EPT (enterprise project type) de un proyecto.
    • Este permiso engloba:
      • La opción de cambiar un EPT
      • La opción de reiniciar un flujo de trabajo (restart workflow)
  • Manage Workflow and Project Details Pages: permiso para administrar flujos de trabajo y PDPs.
    • Este permiso hablita o inhabilita todas las opciones de flujo de trabajo disponibles en Server Settings en la sección "Workflow and Project Detail Pages":

image

Estos permisos están asignados en forma predeterminada al grupo de Administradores únicamente.
 
 
Permisos de categorías
 
No existen permisos exclusivos de flujos de flujos de trabajo en categorías.
 
 
Permisos en SharePoint

Existen en SharePoint los siguientes grupos relacionados con flujos de trabajo:
  • Workflow and Project Detail Pages Administrators Group (Microsoft Project Server)
  • Project Managers Group  (Microsoft Project Server)
  • Team Members Group (Microsoft Project Server)
  • Web Administrators Group (Microsoft Project Server)
Estos grupos tienen algún tipo de acceso a las siguientes listas:
  • Project Details Pages
  • Project Server Workflow History
  • Project Server Workflow Tasks
En particular, los projects managers y los team members tienen permisos de team members (colaboración básicamente) en la lista de tareas del flujo de trabajo (Project Server Workflow Tasks) y en la de historial (Project Server Workflow History). También tienen permiso de lectura en la librería de PDPs (Project Details Pages).
 
Esto nos permite entender que usuarios pueden modificar tareas de flujo de trabajo.
 
El grupo de administradores de PDPs tiene permiso de administrador web en las tres listas.
 

Lo no estándar

Es posible que tengamos algunos requerimientos de seguridad específicos, que hagan necesario crear permisos especiales. A continuación veremos algunos ejemplos. De todas maneras, en la medida de lo posible, siempre es conveniente utilizar los permisos predeterminados.
 

Requerimiento 1: iniciadores de flujo de trabajo

 
Requerimiento

Se necesita que el grupo de personas que inicie los flujos de trabajo pueda:
  • Iniciar un flujo, lo que implica crear un proyecto
  • No pueda modificar flujos de trabajo en donde no es el Owner, sólo los suyos
  • Puede reiniciar un flujo de trabajo
 
Enfoque propuesto
  • Se trabajará con un grupo y una categoría especial que no se solape con otros existentes que puedan haber surgido en base a necesidades específicas
  • Se requiere asignar el permiso "Change Workflow" sólo disponible en Administradores.
  • Se requiere una categoría parecida a My Projects, que sólo permita modificar los proyectos en donde el iniciador es el owner
Nueva categoría: mis flujos de trabajo
 
Las reglas dinámicas de la categoría se configuran de la siguiente forma:
image
 
Nuevo grupo: iniciadores de flujos de trabajo
 
A este nuevo grupo se le asignarán los siguientes permisos para la categoría “mis flujos de trabajo”:
  • Build Team on Project
  • Create New Task Asignment
  • Creat Object Links
  • Delete Project
  • Edit Project Summary Fields
  • Manage Basic Project Security
  • Open Project
  • Publish Project
  • Save Project to Project Server
  • View Project Schedule in Project Web App
  • View Project Site
  • View Project Summary in Project Center
  • Asign Resource
  • View Enterprise Resource Data
  • View Resource Assignments in Assignment Views
Y los siguientes permisos globales:
  • Change Workflow
  • Change Password
  • Log On
  • Manage Personal Notifications
  • Build Team on Project
  • New Project
  • Open Project Template
  • Vie Resource Plan
  • View Project Center
  • View Project Schedule Views
  • View Task Center
  • View Team Builder
Nuevo grupo de SharePoint: Workflows Initiators (Project Server)
 
Es grupo necesita permiso de Team Members en las siguientes librerías de PWA:
  • Project Server Workflow History
  • Project Server Workflow Tasks

Y permiso de Lectura en:

  • Project Details Pages

Es posible que hallamos creado alguna lista para cargar datos en forma de tabla durante alguna de las etapas del flujo de trabajo. Si es así, no debemos olvidar darle permiso al iniciador o a los aprobadores de tareas sobre ese lista. Eso dependerá de nuestras reglas de negocios. Una posible alternativa sería:

  • Colaboración para el iniciador
  • Lectura para el resto

Nota: es posible que necesitemos quebrar la herencia de permisos en esta nueva lista.

 

Requerimiento 2: los aprobadores de tareas


Requerimiento

Se necesita que el grupo de personas a las que se les asignan tareas de flujo de trabajo pueda:
  • Editar y completar las tareas
  • Ver los detalles del proyecto
Enfoque propuesto
  • Se trabajará con un grupo y una categoría especial que no se solape con otros existentes que puedan haber surgido en base a necesidades específicas
Nueva categoría: mis aprobaciones de flujos de trabajo
 
Se crea una categoría llamada “mis aprobaciones de flujos de trabajo” con la siguiente configuración:
image
 
Nuevo grupo: aprobadores de flujos de trabajo
 
A este nuevo grupo se le asignarán los siguientes permisos para la categoría “mis flujos de trabajo”:
  • Open Project
  • View Project Schedule in Project Web App
  • View Project Site
  • View Project Summary in Project Center
  • View Enterprise Resource Data
  • View Resource Assignments in Assignment Views
Y los siguientes permisos globales:
  • Change Password
  • Log On
  • Manage Personal Notifications
 
Nuevo grupo de SharePoint: Workflows Aprobers (Project Server)
Es grupo necesita permiso de Team Members en las siguientes librerías de PWA:
  • Project Server Workflow History
  • Project Server Workflow Tasks

Y permiso de Lectura en:

  • Project Details Pages
 

Conclusión

La funcionalidad de gestión de la demanda de Project Server es flexible, lo cual hace que podamos implementar procesos de negocio complejos y diferentes entre sí. Esa puede ser una razón por la cual necesitemos modificar la seguridad estándar de flujos de trabajo. En este breve artículo, hemos explicado que es lo que viene fuera de la caja y dimos ejemplo de personalizaciones.

Cualquier duda me consultan.

 

Bibliografía

0 comentarios:

Publicar un comentario en la entrada