Identificación de verificaciones de autorización en el sistema SAP

Objective

After completing this lesson, you will be able to identificar verificaciones de autorización en el sistema SAP.

Verificaciones de autorización cuando se inician aplicaciones y en programas

Diagrama de verificaciones de autorización al inicio de la transacción.

Verificaciones de autorización cuando se inician las aplicaciones

Al iniciar aplicaciones (transacción, aplicación Web Dynpro), se realizan verificaciones de autorización.

Iniciar verificaciones de autorización

Las verificaciones de autorización de inicio están disponibles para las siguientes aplicaciones:

  • Transacciones SAP (objeto de autorización S_TCODE)

  • Aplicación Web Dynpro ABAP (objeto de autorización S_START)

  • Módulos de funciones RFC (objeto de autorización S_RFC)

  • Aplicaciones SAP Fiori (objeto de autorización S_SERVICE)

Transacciones SAP (objeto de autorización S_TCODE)

iniciar una transacción, un programa del sistema ejecuta una serie de verificaciones para garantizar que el usuario tiene las autorizaciones adecuadas.

Paso 1: Verifique si el usuario está autorizado para iniciar la transacción. El objeto de autorización S_TCODE (inicio de transacción) contiene el campo de autorización TCD (código de transacción). El usuario debe tener la autorización para el código de transacción que desea ejecutar (como "FB02", Modificar documento).

2: Verifique si un objeto de autorización está asignado al código de transacción. Si este es el caso, el sistema verifica si el usuario tiene autorización para este objeto de autorización. La asignación de código de transacción/objeto de autorización se almacena en la tabla TSTCA.

Si alguno de los pasos anteriores falla, la transacción no comienza y el usuario recibe un mensaje.

Consejo

La verificación de autorización de la sentencia ABAP se utiliza para verificar el objeto de autorización asignado a la transacción. La verificación se realiza durante el inicio de la transacción mediante el programa ABAP llamado por la transacción.

Aplicación Web Dynpro ABAP (objeto de autorización S_START)

De forma similar al objeto de autorización S_TCODE (para transacciones), utilice el objeto de autorización S_START durante la verificación de autorización de inicio de las aplicaciones Web Dynpro ABAP. Tiene los tres campos AUTHPGMID, AUTHOBJTYP y AUTHOBJNAM, que corresponden a los campos clave PGMID, OBJECT y OBJ_NAME del catálogo de objetos (tabla TADIR). Durante la verificación de autorización de inicio, la clave de la entrada de catálogo de objetos de la aplicación Web Dynpro ABAP se verifica mediante el tiempo de ejecución Web Dynpro ABAP. Por ejemplo, si inicia la aplicación Web Dynpro ABAP ABC, necesitará una autorización para el objeto S_START con los valores AUTHPGMID = "R3TR", AUTHOBJTYP = "WDYA" y AUTHOBJNAM = "ABC".

Esta verificación de autorización de inicio está inactiva cuando se entrega y debe activarse como se describe en la nota SAP 1413011 - Nueva verificación de autorización de inicio para Web Dynpro ABAP.

Si activa la verificación de autorización de inicio, puede utilizar autorizaciones para controlar exactamente qué aplicaciones Web Dynpro ABAP pueden ejecutar los usuarios.

Módulos de funciones RFC (objeto de autorización S_RFC)

Al iniciar módulos de funciones compatibles con RFC, se utiliza el objeto de autorización S_RFC para verificar la autorización de inicio.

El objeto de autorización S_RFC tiene los campos clave REC_TYPE, REC_NAME y ACTVT. El objeto de autorización S_RFC se puede actualizar para grupos de funciones (REC_TYPE = FUGR) y módulos de funciones (REC_TYPE = FUNC).

En el tiempo de ejecución, la primera verificación es para el grupo de funciones ejecutado. Si esta verificación falla, se ejecuta una segunda verificación para el módulo de funciones.

Nota

La verificación de autorización solo se realiza una vez con la primera ejecución del módulo de funciones para la sesión RFC concreta.

Aplicaciones SAP Fiori (objeto de autorización S_SERVICE)

Autorizaciones de inicio para los servicios OData activados para iniciar una determinada aplicación SAP Fiori. Encontrará los servicios utilizados por aplicación en la documentación específica de la aplicación, en la sección Aplicaciones SAP Fiori.

Verificaciones de autorización en programas

Diagrama sobre la verificación de autorización en un programa.

en programas se realizan mediante el comando ABAP authority-check.

Un programa puede contener cualquier cantidad de verificaciones de autorización.

Ejemplo: el usuario desea llamar la transacción FB02. Se codifica una verificación de autorización en el programa ABAP SAPMF05L, que llama la transacción FB02. Se verifica la siguiente autorización:

  • Objeto de autorización F_BKPF_BUK

  • Campo de autorización ACTVT (actividad) para el valor "02" (modificar)

  • Campo de autorización BUKRS (sociedad) para el valor "1000"

Solo si el usuario tiene el objeto de autorización F_BKPF_BUK con los campos de autorización ACTVT ("02") y BUKRS ("1000") como autorización, podrá ejecutar la transacción.

Después de la verificación de autorización, el sistema devuelve un código de retorno. Los códigos de retorno válidos para el comando de verificación administrativa son:

  • 0: El usuario tiene la autorización para el objeto de autorización con los valores de campo correctos.

  • 4: El usuario tiene una autorización para el objeto de autorización, pero los valores verificados no se asignan al usuario.

  • 12: El usuario no tiene ninguna autorización para el objeto de autorización.

  • 16: No se ha introducido ningún perfil en el registro maestro de usuario.

Los valores devueltos por la verificación del programa dependen de la memoria intermedia del usuario. Decide qué autorizaciones están disponibles para el usuario y cuáles no.

Memoria intermedia de usuario

Diagrama en la memoria intermedia de usuario que contiene todas las autorizaciones para el usuario.

un usuario inicia sesión en un sistema SAP, se crea una memoria intermedia de usuario que contiene todas las autorizaciones para el usuario. Cada usuario tiene su propia memoria intermedia de usuario.

Si el Sr. Peterson (ejemplo de la figura) inicia sesión en el sistema, su memoria intermedia de usuario contiene todas las autorizaciones que se han asignado al rol MY_FI_AR_DISPLAY_MASTER_DATA mediante el perfil.

Consejo

Cada usuario puede visualizar su propia memoria intermedia de usuario mediante la transacción SU56.

Si tiene algunos derechos de administrador adicionales, también puede ver las memorias intermedias de los colegas. Esto se indica con mayor claridad si puede ver el icono Visualizar para otro usuario/objeto de autorización (F5) en "SU56".

Un usuario no superaría una verificación de autorización si:

  • El objeto de autorización no existe en la memoria intermedia.

  • Los valores verificados por la aplicación no se asignan al objeto de autorización en la memoria intermedia de usuario.

Ejercicio del sistema de práctica: Verificar autorizaciones en el sistema SAP

Nota

Si tiene acceso a un sistema de práctica, ahora puede ejecutar este ejercicio.

Ejemplo empresarial

En la práctica, es importante conocer las características especiales de la verificación de autorización realizada cuando se llama una transacción en el sistema. También es importante determinar, si se notifica una verificación de autorización fallida, por qué no se ha realizado correctamente. Este ejercicio consolidará el contenido de la lección con trabajo en el sistema.

Tarea 1: Visualizar la definición de una transacción

Visualice la definición de la transacción FB03.

Pasos

  1. Inicie la transacción ACTUALIZAR TRANSACCIÓN (SE93).

    1. Seleccione Menu path:SAP MenuToolsABAP WorkbenchDevelopmentOther ToolsTransactions (SE93).

    2. Introduzca FB03 en el campo Código de transacción.

    3. Seleccione Visualizar.

  2. ¿Qué objeto de autorización se verifica cuando se llama la transacción?

    Objeto de autorización:____________________

    1. Tome el valor del campo Objeto de autorización.

      Objeto de autorización: F_BKPF_BUK

  3. ¿Qué valores de autorización deben existir para que la verificación de autorización sea positiva y para que se inicie la transacción?

    ____________________

    1. Seleccione el botón Valores.

      Actividad: 03

      La sociedad no se verifica aquí, por lo que no importa qué valores de autorización existen en el registro maestro de usuario para ella.

Tarea 2: Visualizar datos de autorización para usuario

Inicie sesión en el sistema con el usuario "ADM940-SU53" (contraseña: ADM940 ). A continuación, llame la transacción VA07 introduciendo el código de transacción en la línea de comandos o seleccionando el siguiente acceso vía menús: SAPMenuLogisticsSalesandDistributionSalesInformationSystemWorklistsCompareSales - Purchasing (Order).

Pasos

  1. Inicie sesión en el sistema con el usuario "ADM940-SU53" (contraseña: ADM940 ).

  2. Inicie sesión en el sistema como usuario "ADM940-SU53".

    1. Inicie SAP Logon.

    2. Seleccione el sistema T41 y elija Iniciar sesión.

    3. Introduzca el nombre de usuario ADM940-SU53 en el campo Usuario.

    4. Introduzca ADM940 en el campo Contraseña.

    5. Seleccione Intro.

  3. Llame la transacción VA07

    1. Introduzca el código de transacción en la línea de comandos o seleccione el siguiente acceso vía menús: Menú SAPLogísticaComercialVentasSistema de informaciónPools de trabajoComparar Ventas - Compras (pedido).

  4. ¿Puede llamar la transacción?

    ____________________

  5. ¿Qué mensaje devuelve el sistema?

    ____________________

    1. "No tiene autorización para utilizar la transacción VA07"

  6. Averigüe qué objeto se ha verificado y qué autorizaciones tiene.

    Utilice la transacción SU53 para averiguar qué objeto se ha verificado y qué autorizaciones tiene.

    ____________________

    1. Introduzca el código de transacción SU53 en la línea de comandos.

      Se ha verificado el objeto "S_TCODE" y su usuario no tenía autorización para el campo Objeto S_TCODETCD Value1 VA07.

    2. Haga doble clic en la fila que indica la autorización que falta para la transacción VA07.

    3. Marque el nodo Datos de autorización de usuario ADM940-SU53 y seleccione Desplegar subárbol (F6).

      La columna Valores de autorización muestra que su usuario tiene las siguientes autorizaciones para el campo TCD del objeto S_TCODE:

      SESS, SESSION_MANAGER, SMEN, SSC1, SU3, SU53 y SU56 .

  7. Pruebe la llamada remota con su usuario ADM940-##.

    1. Para ello, utilice su usuario ADM940-## para llamar SU53; luego utilice el icono "Usuario (F5)" para la llamada remota de SU53 para un usuario diferente.

Tarea 3: Analizar autorización en la memoria intermedia de usuario

Describa la memoria intermedia de usuario y visualícela para el usuario "ADM940-SU53".

Pasos

  1. ¿Qué ve en la memoria intermedia de usuario? Describa su contenido.

    ________________________________________

    ________________________________________

    ________________________________________

    ________________________________________

    1. La memoria intermedia de usuario tiene el siguiente significado:

      Cada usuario tiene su propia memoria intermedia de usuario, en la que se enumeran todas las autorizaciones que están asignadas al usuario. Esta lista se organiza por Objeto/Autorización/Texto de objeto.

  2. ¿Cómo puede llamar la memoria intermedia de usuario?

    ____________________

    1. Con la transacción SU56.

  3. Visualice la memoria intermedia para su usuario "ADM940-SU53". ¿Cuántas entradas de autorización tiene este usuario?

    ____________________

    1. Inicie la transacción SU56.

    2. El número de entradas es 6.

      - S_TCODE

      - S_USER_AGR

      - S_USER_AUT

      - S_USER_GRP

      - S_DEVELOP

      - S_OC_SEND

  4. Salga del sistema como usuario ADM940-SU53.

    1. En la sesión del usuario ADM940-SU53, seleccione SistemaCerrar sesión en el menú.