Los Chequeos de autorización en SAP Los chequeos de autorización son objetos de SAP que protegen los datos críticos del sistema de accesos no autorizados. Se les conoce también como Authority Checks. Suelen usarse para restringir la utilización de nuevas transacciones SAP a ciertos usuarios. Se implementan a través de objetos de autorización, que pueden ser existentes o creados por el usuario. La administración de objetos de autorización se realiza principalmente desde la transacción SU21. Ejemplo y gestión de objetos de autorización Los objetos de autorización están agrupados por clases en la pantalla de SU21. Ejemplo: El objeto S_CARRIL, dentro de la clase DC_C, controla permisos sobre compañías aéreas usando los campos Carril y Actividad. Las actividades permitidas pueden ser: 01 (Añadir), 02 (Modificar), 03 (Visualizar). Si el usuario tiene asignado el objeto S_CARRIL y pasa el chequeo, puede generar, modificar o visualizar según permisos asignados. La asignación de estos objetos se realiza mediante roles con la transacción SU01 o solicitando al equipo de seguridad. Administración de campos de autorización Los campos (o ámbitos) de autorización deben existir previamente o pueden ser creados según necesidad. Se gestionan desde el menú Entorno, Campos de Autorización o directamente con la transacción SU20. Desde SU20 se crean, modifican, eliminan y visualizan estos campos. Ejemplo: Visualización y gestión del campo de autorización Carril usado en objetos relevantes. Implementación en programas ABAP Se utiliza la sentencia "Authority Check" para validar si un usuario tiene permiso sobre un objeto. Tras ejecutar la sentencia, es necesario comprobar la variable del sistema SYSVRC (o SISRC) para verificar el resultado. El proceso incluye crear parámetros en el programa, asociar el objeto de autorización y definir la actividad. Ejecución práctica: Si el resultado del chequeo es exitoso (SYSVRC=0), el usuario tiene autorización. Creación de clases y objetos de autorización Para crear una clase de objeto: en SU21, seleccionar Crear – Clase de Objeto, indicar nombre, descripción y guardar. Para crear un objeto: clic derecho sobre la clase, Crear Objeto de Autorización, ingresar los datos necesarios y grabar. Se recomienda ver el material en video para más detalles sobre la profundización en objetos de autorización en SAP. Módulos de funciones para saltar chequeos de autorización Existen tres módulos de funciones en SAP que permiten ejecutar transacciones evitando los chequeos de autorización habituales. Los módulos mencionados son: transaction_call_via_rfc: Se le debe pasar el parámetro TCODE con la transacción a ejecutar. C160_TRANSACTIONCALL: Requiere el parámetro y_tcode con la transacción. RS_HDSYICALL_TC_Variant: Usando el parámetro TCODE según la transacción deseada. Para que funcione correctamente, es necesario desmarcar el flag de authority check. Conceptos de seguridad en SAP La seguridad en SAP incluye el uso de objetos de autorización para restringir acceso a los datos por usuarios. Además de los objetos de autorización, existen otros componentes relacionados con la seguridad que pueden ser relevantes en desarrollos. Uno de estos elementos son los grupos de autorización, que sirven para agrupar y restringir accesos. Uso de grupos de autorización en ABAP y tablas Al crear programas ABAP se puede asignar un grupo de autorización desde el menú de atributos. Los grupos de autorización son administrados comúnmente por responsables de seguridad en la empresa, no por programadores. Es común que, al recibir requerimientos para un desarrollo, se especifique qué grupo de autorización aplicar, o que surja la necesidad de crear un grupo nuevo. Los grupos de autorización también pueden aplicarse a tablas desde el diccionario de datos (SE11), permitiendo filtrar accesos según usuarios. En caso de no requerirse uno específico, se puede asignar "NC" (sin grupo de autorización).