El sistema de autorizaciones SAP permite gestionar los permisos lectura y escritura sobre los elementos que todo usuario tiene asignados.
El sistema se vehicula a través de papeles o roles (simples o compuestos) que agrupan una serie de objetos de autorización. Cada objeto de autorización incorpora permisos para un elemento de nuestro sistema. Cada uno de estos objetos será el elemento mínimo que nos permitirá conceder un permiso para ejecutar la tarea, sea ésta el acceso a una transacción, a un área de ventas, a un grupo de compras, etc.
El siguiente esquema muestra cómo actúa el sistema de autorizaciones y está extraído de la help de SAP:
Concepto de autorización según la help de SAP |
Es decir, cada transacción, cada sociedad, cada centro… en definitiva cada tarea a la cual tiene acceso un usuario se encuentra definida de un campo de autorización. Este campo se encuentra en un objeto de autorización, y éste a su vez en un rol. Todas las tareas a las cuales tiene permiso un usuario se definen como la suma de objetos de autorización que conforman uno o más roles.
Proyectos de autorización
Montar un proyecto de autorizaciones es complejo y conlleva el análisis de los trabajos que realiza cada usuario para asignar las autorizaciones que le son necesarias. En un proyecto de este tipo hay que:
- Analizar las tareas que realiza cada usuario.
- Agrupar usuarios según tareas comunes.
- Crear roles que se ajusten a cada tarea. En mi opinión los roles deberían ser lo más específicos posibles.
- Asociar las autorizaciones específicas a cada rol. Hay que poner especial atención en las transacciones que se incorporan en cada rol y procurar siempre que se pueda que la misma transacción y, en general, la misma autorización no se encuentra en diferentes roles.
- Asignar los roles según las tareas que realiza cada usuario.
- Dentro de cada usuario hacer un análisis de incompatibilidades de transacciones. Esto es determinar aquellas autorizaciones que juntas nunca las debe poseer el mismo usuario. Esto pasa a veces cuando el usuario tiene dos roles que incluyen la misma autorización. Por ejemplo, la persona que se encarga de hacer pedidos de cliente no debe también poseer autorización para facturarlos. En ese aspecto nos puede ayudar la información de la tabla SUKRI. Esta tabla se entrega vacía y es responsabilidad del cliente su llenado a través de la transacción SU98
- Una vez detectadas las incompatibilidades, solucionarlas ajustando los roles existentes, creando nuevos roles o eliminando roles dentro del perfil de usuario.
Para mayor información sobre proyectos de autorización aconsejo la lectura de este artículo del blog de seguridadsap.
Asignar autorizaciones a transacciones.
Una vez montado el proyecto, ¿cómo mantenemos y asignamos nuevas transacciones a cada rol?
- Para empezar debemos saber qué autorización necesita el usuario. Para eso pediremos al usuario que tan pronto SAP le envíe el mensaje de “falta de autorización” ejecute la transacción SU53 que nos muestra el objeto de autorización necesario. Una vez tengamos esto podemos decidir por modificar el rol directamente o a través del usuario. En seguridadsap explican cómo hacerlo directamente (transacción PFCG). Pero en este post yo voy a mostrar los pasos para asignar autorización a través del usuario.
- Entramos en el perfil del usuario y visualizamos la pestaña ‘Roles’. Aquí veremos todos los roles que tiene asignado el usuario.
Herramientas / Gestión / Actualización de usuarios / SU01 – Usuarios
- Identificamos el rol a modificar y hacemos doble click sobre él.
- Se nos abre una ventana para este rol. Nos movemos hacia la pestaña ‘Menú’ y lo modificamos añadiendo las transacciones a las que queremos dar autorización.
- Nos movemos a la pestaña ‘Autorizaciones’ y pulsamos el botón ‘Modificar datos de autorización’.
- Buscamos el objeto de autorización ‘S_TCODE’ dentro del árbol del rol. Para ello vamos a Tratar / Buscar. Pero si no lo encontramos o no es posible modificarlo, entonces podemos optar por añadir manualmente la transacción a través del botón ‘Manualmente’.
- Seleccionamos el objeto y añadimos nuestras transacciones.
- Grabamos y generamos (botón ‘generar’) el cambio.
Más información en el capítulo 5 del libro Así es SAP R/3 de J.A. Hernández Muñoz y en la help de SAP
Imagen inicial | Lauren Manning
Gracias por los aportes BlogdeSap, están muy bien explicados.
ResponderEliminarSaludos
Gracias a ti Nícol por tus comentarios.
ResponderEliminarÓscar
Estimado, yo tengo 1 transacion en la cual quiero validar el ingreso de datos entre 2 o mas usuarios, el problema es que en el campo proveedor, si un usuario esta usando un proveedor, que otros usuarios no puedan utilizarlos, es decir que si un usuario U001 esta usando el proveedor P001 y el usuario entra a la transaccion e ingrese el proveedor P001 le aparezca un mensaje "EL proveedor P001 esta siendo usado por el usuario U001".
ResponderEliminarHay alguna manera de hacer esto???
Gracias.
Eso podrás hacerlo en un programa propio, pero veo difícil que puedas hacerlo en una transacción propietaria de SAP. Prueba a buscar alguna user exit. En todo caso, a través de la gestión de autorizaciones, no sabría cómo.
EliminarHola Oscar,
ResponderEliminarestoy creando un usuario sap con ciertos roles a traves de un software de administracion de identidades. Al implementar la creación en SAP recibo el siguiente mensaje
SAP BAPI function error - SAP Function call to "BAPI_USER_ACTGROUPS_ASSIGN" failed with error type "E" and error message "Falta autorización de asignación de grupo de usuarios para roles"
Los usuarios tiene en general Roles y Perfiles SAP, es correcto que solo informe los roles SAP de este usuario o es obligatorio tambien indicar los Perfiles?
Muchas gracias
Hola Fernando. Hasta donde yo sé es suficiente asignar roles. Los perfiles los genera automáticamente SAP a partir de los roles.
EliminarHola buen día, no se si me puedan ayudar, necesito ayuda en encontrar alguna autorización que bloquee la creación o configuración de layouts en general, que solo puedan crear su propia configuración para su propio usuario sin que afecte los demás.
ResponderEliminarCreo que puedes utilizar la autorización S_ALV_LAYO
EliminarHola Oscar, gracias por la info
ResponderEliminarTengo una duda
Un usuario quiere poder ver los pedidos de compra pertencientes a un centro independientemente de quien fuera el creador,
es esa opción posible?
Por donde debo tirar para guiarle?
Gracias
¿Te refieres a la transacción ME2C o parecidas?
EliminarHola
ResponderEliminarcomo puedo asginar los objetos sin que el el usuario tenga que entrar transacción por transacción y estar dependiendo de SU53?
Puedes hacerte una copia de alguno de los roles estándar que tiene SAP y trabajar a partir de él.
EliminarEs posible que otra persona desde su orďenador pueda hacer cambios en datos maestros de un interlocutor.
ResponderEliminarSí, por supuesto que es posible si tiene autorizaciones para hacer cambios en el maestro de clientes. Ten en cuenta que en SAP el acceso a la información es compartido por todas las personas que tienen un usuario de SAP y que la información no se almacena en tu ordenador personal sino en servidores centrales.
Eliminarhola buen día, yo tengo una duda, cuando modifico los roles a veces como que necesitan actualizarse, sin embargo me gustaría saber si hay alguna manera de que pueda saber cuales de todos los roles que tengo necesitan actualizarse.
ResponderEliminarPuedes ir al menú Utilidades / Resumen de status de la PFGC.
EliminarHay que tener en cuenta que el mejor modo de administrar el sistema es respetando algunas logicas estandares y recomendaciones que nos dan.
ResponderEliminarNo se recomienda asignar objetos manualmente en el árbol de autorizaciones, ya que esto torna mas complejo los posteriores analisis de riesgo y la misma administracion del roles y perfiles.
Todo esto deberia ser preconfigurado en el componente de la SU24 para luego ser asignado al rol con las autorizaciones necesarias, tomando de este modo automaticamente los objetos y campos desde la asignación de la transaccion por medio del menu a los roles.