Come creare un oggetto autorizzativo in SAP?

Posted by Massimo Manara on Nov 15, 2023 8:15:00 AM
Massimo Manara
Find me on:

Nei sistemi SAP sviluppati in linguaggio ABAP è possibile definire un oggetto autorizzativo.

Lego oggetto autorizzativo

Ma cosa è un oggetto autorizzativo e come deve essere definito e da chi?

 

Cosa è un oggetto autorizzativo?

In breve, è una funzionalità che ti permette di decidere chi può gestire “il cosa” è possibile fare ed il dove è possibile farlo, su quale struttura di business.

 

Ma proviamo ad utilizzare una metafora per arrivarci spendendo qualche parola in più.

 

Immaginiamo di avere tanti rubinetti a disposizione e dover decidere quali di questi sia necessario aprire o chiudere per svolgere una determinata azione.

 

Ecco questo può essere un primo aspetto importante ovvero gli oggetti autorizzativi possono essere visti come dei rubinetti da aprire o chiudere a seconda si voglia segregare qualcosa a sistema.

 

Ad esempio, voglio poter fare una richiesta di acquisto solo per la divisione italiana e non quella tedesca. Ecco, esisterà un oggetto autorizzativo che SAP ha messo a disposizione che mi permetterà di effettuare questa segregazione tecnica dei dati a sistema.

 

Ne consegue, poi lo vedremo meglio a seguito, che alcuni utenti potranno vedere dei dati solo dell’Italia altri solo della Germania. Purtroppo, non esistono oggetti autorizzativi per segregare qualsiasi cosa. Anche se ne esistono diverse migliaia, sono moltissimi. Nelle release ECC o S/4HANA sono più di 3000 oggetti autorizzativi definiti dalla SAP e questo dipende anche da quali moduli o add-on sono poi installati.

 

 

Tecnicamente un oggetto autorizzativo è creato utilizzando linguaggio di programmazione ABAP attraverso l'istruzione AUTHORITY-CHECK.

 

Questo è un aspetto fondamentale del modello autorizzativo SAP. In quanto se non sono stati previsti degli oggetti autorizzativi, di fatto non sarà possibile effettuare determinate segregazioni.

 

Questo è particolarmente importante per gli sviluppi custom ovvero quelli svolti da ogni cliente in aggiunta allo standard (quanto messo a disposizione da SAP).

 

 

L’oggetto autorizzativo è formato da campi (fino a 10). Molti oggetti ne contengono almeno uno chiamato attività. Questo campo permette di dire cosa posso fare in termini di, semplificando, creazione modifica o visualizza.

 

Altri campi sono ad esempio la società, la divisione le organizzazioni commerciali e così via per i principali moduli del sistema SAP. In sostanza attraverso un oggetto autorizzativo posso quini gestire “il cosa” è possibile fare ed il dove è possibile farlo.

 

Chi deve definirlo e come?

Esiste una specifica transazioni per costruire gli oggetti autorizzativi chiamata SU21 "Maintain Authorization Objects"

 

Maintain Authorization Objects

Attraverso il pulsante della "pagina bianca" è possibile creare un nuovo oggetto autorizzativo, chiaramente dovrà essere creato nello spazio nomi cliente; quindi, dovrà iniziare con la lettera Z oppure Y.

Maintain Authorization Objects class

 

Sempre attraverso la medesima icona è anche possibile creare una nuova classe di oggetti, che semplicemente rappresenta un contenitore di oggetti autorizzativi che condividono la medesima area di applicazione.

 

Ad esempio, se dovessi creare diversi oggetti autorizzativi custom per un processo specifico potrei pensare di creare una classe specifica che mi permetterà poi di raggrupparli meglio e vederli poi meglio durante l'utilizzo della transazione PFCG Profile Generator.

 

Una volta proseguito nella definizione è quindi possibile definire

  1. una naming convention
    1. Nello standard la prassi nella maggior parte dei casi è Modulo-Tabella-Campo. Ad esempio, l'oggetto che protegge le scritture contabili si chiama F_BKFP_BUK quindi F come modulo, BKPF come principali tabella e BUK come BUKRS (in tedesco società, il campo tecnico).
  2. una descrizione dell'oggetto autorizzativo
  3. l'appartenenza ad una classe
  4. i campi (fino a 10) che compongono quell'oggetto autorizzativo

 

Nel caso in cui l'oggetto autorizzativo contenta il campo attività (ovvero cosa sarà possibile fare e controllare con quell'oggetto) è possibile definirne le attività ammesse (ed è utile farlo). Nella tabella TACT, infatti, è possibile vedere quali sono tutte le attività possibili. Le principali sono le seguenti (ma ne esistono più di 200):

  • 01 -> Creare
  • 02 -> Modificare
  • 03 -> Visualizzare
  • 04 -> Stampare
  • 06 -> Cancellare

 

Maintain Authorization Objects activity

Così come è importante definire la documentazione dell'oggetto autorizzativo (direttamente in SAP) attraverso l'apposito pulsante "Create Object Documentation" per descrivere come ragiona l'oggetto autorizzativo ed anche dove e perché è stato usato oppure il riferimento alla documentazione "cartacea" per ulteriori approfondimenti.

 

Ma quali sono i ruoli nella definizione di un oggetto autorizzativo?

 

Solitamente i ruoli sono i seguenti:

  • Analisi dei requisiti
    • Team funzionale e team security on demand
  • Definizione e costruzione dell'oggetto
    • Lo sviluppatore ABAP si occupa di trovare la corretta posizione o costruire il programma che ospiterà l'oggetto
    • La definizione come naming e campi può essere svolta a "quattro mani" tra team funzionale/sviluppo e team security
  • Popolamento della transazione SU24 (per collegare gli oggetti autorizzativi alla transazione)
    • Solitamente viene svolto dal team security o a volte dal team sviluppo

 

 

Cosa fare quindi quando serve creare un nuovo oggetto autorizzativo?

  1. Valuta se effettivamente è necessario creare un nuovo oggetto autorizzativo custom
  2. Se devi utilizzare il concetto di attività permessa (come nella maggior parte dei casi) usa il campo autorizzativo tecnico ACTVT (nella quasi totalità dei casi è questo quello che va usato, non altri simili)
  3. Nella definizione dell'oggetto autorizzativo
    1. valuta se ha senso creare una classe ad hoc (se si pensa ne saranno creati altri della stessa area)
    2. Definisci o utilizza o chiedi la naming convention per gli oggetti autorizzativi. La modifica della struttura o definizione di un oggetto, una volta rilasciato è più onerosa
    3. Popola la documentazione come suggerito nella parte dell'articolo dedicata
    4. Se utilizzi il campo attività descrivi quali sono le attività ammesse

Iscriviti al blog se ancora non lo hai fatto!

 

Topics: authorization concept, sap developer

Voglio iscrivermi!

Blog Aglea, cosa puoi trovare?

Ogni mercoledì pubblichiamo articoli, interviste e documenti relativi alla security SAP.

Cosa puoi trovare:

  • Suggerimenti su come mettere in sicurezza i sistemi SAP
  • Come fare a … (How To)
  • Checklist
  • Gli errori comuni che spesso vengono fatti in ambito Security SAP
  • Interviste con esperti del settore
  • Chi è AGLEA quale è la nostra vision security SAP

Post recenti

Post By Topic

Visualizza tutti