![SAP BASIS El concepto de autorización SAP BASIS El concepto de autorización](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/146.jpg)
OBJETOS DE AUTORIZACIÓN Y CHEQUEO DE AUTORIZACIÓN
Comprender el concepto de autorización de SAP requiere el conocimiento del rol y perfil de autorización en el registro maestro de un usuario. Esta lección provee el conocimiento necesario para poder crear los roles y autorizaciones propios.
Las acciones y los accesos a los datos están protegidos a través de los objetos de autorización en el sistema SAP.
Los objetos de autorización se encuentran en el sistema SAP.
Para facilitar un poco la organización, los objetos de autorización están divididos en diferentes clases.
Los objetos de autorización permiten verificaciones complejas que involucran múltiples condiciones que permiten a un usuario realizar una acción. Las condiciones son especificadas en los campos de autorización para el objeto de autorización y son evaluados estos campos mediante la condición lógica AND para la verificación. O sea, se deben cumplir todas las condiciones para que la verificación de autorización sea exitosa.
Los objetos de autorización y los campos que contienen tienen nombres técnicos y descriptivos.
Un objeto de autorización puede incluir hasta diez campos de autorización.
Una autorización siempre se asocia con solo un objeto de autorización y está formada por el valor para los campos del objeto de autorización. Una autorización es un permiso para realizar cierta acción en el sistema SAP. La acción es definida sobre la base de los valores para cada uno de los campos de un objeto de autorización.
Por ejemplo, la autorización B en la figura para el objeto de autorización S_USER_GRP permite mostrar todos los registros de usuarios que NO están asignados al grupo SUPER. La autorización A, en cambio, permite mostrar registros de usuarios pertenecientes a ese grupo.
Es posible que existan múltiples autorizaciones para un objeto de autorización. Algunas autorizaciones ya están incluidas en el sistema por SAP, pero la mayor parte son creadas específicamente por requerimientos de los clientes
Cuando un usuario se loguea a un cliente de un sistema SAP, sus autorizaciones son cargadas en el contexto de usuario. El contexto de usuario se encuentra en el buffer (en la memoria principal, puedes consultarla mediante la transacción SU56) del servidor de aplicación.
Cuando el usuario llama a la transacción, el sistema verifica si el usuario tiene la autorización necesaria en el contexto de usuario para acceder a la transacción. Las verificaciones de autorización utilizan las autorizaciones que existen en el contexto de usuario. Si se asignan nuevas autorizaciones al usuario, podría ser necesario para este usuario volverse a loguear al sistema SAP para poder utilizar estas nuevas autorizaciones.
Si la verificación de autorización para llamar a la transacción es exitosa, el sistema luego muestra la pantalla inicial de la transacción. Dependiendo de la transacción, el usuario puede crear datos o seleccionar acciones. Cuando el usuario realiza la acción, los datos son enviados al dispatcher, el cual los pasa a un work process para que ejecute el procesamiento.
Verificaciones de autorización (AUTHORITYCHECK) que son realizadas durante la ejecución en el work process son programadas dentro del código por los desarrolladores ABAP para proteger los datos y las acciones que van a realizarse.
Si el contexto de usuario contiene todas las autorizaciones requeridas para la verificación (código de retorno = 0), los datos y las acciones son procesadas y la próxima pantalla es devuelta al usuario. Si falta alguna de las autorizaciones requeridas, el procesamiento no se realiza y el usuario recibe un mensaje que indica que las autorizaciones son insuficientes.
Esto se controla mediante la evaluación del código de retorno. En este caso, no sería igual a 0.
Todas las autorizaciones son permisos. No hay autorizaciones para prohibir.
Todo aquello que no está explícitamente permitido está prohibido. Esto es lo que se conoce como concepto de autorización positivo.
MANTENIMIENTO DE ROLES: MENÚ Y AUTORIZACIONES
El Mantenimiento de Roles (transacción PFCG, previamente también llamada Profile Generator o Actividades de Grupo) simplifica la creación de autorizaciones y sus respectivas asignaciones a los usuarios.
En el mantenimiento de roles, las transacciones, que desde el punto de vista de la compañía, pertenecen a un mismo grupo se seleccionan. El mantenimiento de roles crea las autorizaciones con los valores de campos requeridos para los objetos de autorización que son verificados en la transacción elegida.
Un rol puede ser asignado a varios usuarios. Los cambios a un rol por lo tanto tienen efecto sobre todos estos usuarios. Los usuarios pueden ser asignados a más de un rol
El menú de usuario se compone del menú de rol y contiene las entradas (transacciones, URLs, reportes, etc) que son asignadas al usuario a través de los roles.
Se puede acceder al mantenimiento de roles con la transacción PFCG o mediante el menú de la pantalla inicial del sistema en Tools → Administration → User Maintenance → Role Administration → Roles. Ingresa el nombre del rol y presiona el botón Create o Change. Selecciona la solapa Menú.
Selecciona y modifica las funciones: En el árbol de menú se pueden realizar ajustes para los roles individuales. Se pueden insertar o borrar transacciones en el árbol de transacciones.
Si se selecciona el botón Report, puedes integrar reportes (programas ABAP). En este caso la transacción PFCG se encarga de crear los códigos de transacción (si es que no existen para el reporte) con el cual los reportes luego pueden ser accedidos.
Si seleccionamos el botón Other, es posible agregar direcciones de internet o vínculos a archivos.
Modificación de Menús: podemos crear, mover, borrar y renombrar directorios y subdirectorios si es necesario. La función Drag&Drop se puede utilizar también.
El mantenimiento de roles automáticamente crea las autorizaciones que están asociadas con las transacciones especificadas en el árbol del menú. De todas maneras, todos los valores de autorización deben ser verificados manualmente y ajustados si fuese necesario para que concuerden con los requerimientos y permisos que se deben otorgar con el rol.
El administrador del sistema es responsable para esta tarea, junto con el área apropiada para quien se están creando o modificando los roles.
Selecciona la solapa Authorizations y luego el botón Change Authorization Data o Display Authorization Data, dependiendo en cual modo estemos trabajando en la transacción PFCG.
En la pantalla que ingresamos podremos ver y modificar el contenido de las autorizaciones, o sea
los valores propuestos para los campos de los objetos de autorización.
El significado de los indicadores es el siguiente:
- Luz verde: el objeto de autorización tiene un valor propuesto para cada uno de los campos.
- Luz amarilla: el objeto de autorización necesita mantenimiento manual al menos para uno de los campos.
- Luz roja: Los niveles organizacionales no están definidos.
¿Qué son los Niveles Organizacionales?
Son campos determinados por SAP en el Concepto de Autorización que se refieren a la estructura de la compañía. Estos campos aparecen en la mayoría de las autorizaciones.
Por lo tanto dentro de un rol estos campos pueden aparecer muchas veces. El botón Organizational levels… en la transacción PFCG facilita su mantenimiento.
Una vez que todas las autorizaciones han sido mantenidas como se requiere, el perfil de autorización puede ser generado mediante el botón Generate. Las autorizaciones se combinan en un perfil. Los perfiles deben ingresarse en los registros maestros de usuarios, esto se denomina Comparación de Registros Maestros de Usuarios (User Master Record Comparission).
USUARIOS Y ROLES
La asignación de usuarios a roles se realiza mediante la transacción PFCG (mantenimiento de roles) o en la transacción de mantenimiento de usuario SU01. Selecciona la solapa User y los ID de usuarios a los que se les asignará el rol.
Los usuarios pueden recibir más de un rol, esto es útil para algunas actividades (como impresión) que serán permitidas para la mayoría de los usuarios.
La asignación de roles a los usuarios no otorga automáticamente las correspondientes autorizaciones a los usuarios.
Para asignar las autorizaciones, es necesario realizar una comparación de registros de usuarios mediante la cual los perfiles de los roles son insertados en el registro maestro de usuario.
Una comparación de registros maestros de usuarios determina si los perfiles de autorización deben ser agregado o eliminados del usuario basándose en la asignación de roles para este.
Durante una comparación se agregarán perfiles al maestro de usuario si nuevos roles son agregados.
Si la asignación de roles es removida manualmente o porque se cumple la fecha de vencimiento del rol para el usuario los perfiles correspondientes son eliminados del registro maestro de usuario.
La comparación puede realizarse por cada rol individualmente. Seleccionando el rol en la función de mantenimiento de roles en la solapa User y luego seleccionando User comparison. En la ventana que aparece, seleccionamos Complete comparison.
Para más información, seleccionar el botón de información en la transacción PFCG y el mismo botón en la comparación de maestros de usuarios.
Durante una comparación completa, los perfiles obsoletos son eliminados.
Si múltiples asignaciones de roles va a ser actualizada, puedes realizar una comparación en la transacción PFCG seleccionando Utilities → Mass comparison o llamando a la transacción PFUD.
Puedes seleccionar los roles que desees o actualizar todas las asignaciones si ingresas el caracter asterisco (*).
También se puede activar una comparación de registros maestros de usuarios periódicamente si seleccionas Utilities → Mass comparison. Selecciona la opción Schedule o Check job for full reconciliation. El sistema luego muestra una ventana de búsqueda para el job de background PFCG_TIME_DEPENDENCY. Si no encuentra el job, tenemos la opción de crear uno. El valor por defecto es que todos los registros maestros de usuarios serán comparados una vez por día.