In alcune situazioni potrebbe essere utile avere a disposizione un ruolo o profilo che permetta solamente di poter visualizzare dati, "SAP_ALL view only"
È disponibile in SAP qualcosa che potrebbe rispondere a questa richiesta? Esiste invece un profilo SAP_ALL per ogni componente applicativo SAP?
Perché dovresti averne bisogno?
Potrebbe essere utile ad esempio in queste situazioni, non necessariamente in ambiente produttivo.
- Analisi del sistema da parte di esterni, continuative o sporadiche
- Ruoli per consulenti esterni che devono effettuare supporto continuativo
- In questi casi è utile pensare anche al SAP Field Masking oppure
- Soluzioni di Emergency Access Management (vedi prodotto SAP GRC), nel caso di debba a seguito della verifica effettuare attività di modifica in ambiente produttivo
- Accesso per revisori o audit. Anche se in questo caso solitamente viene sconsigliato di rilasciare accessi così ampi. Solitamente vengono costruiti dei ruoli ad hoc con le sole transazioni necessarie a svolgere il ruolo di revisore o internal audit.
In questo caso il ruolo in sola visualizzazione dovrebbe permettere l'accesso a tutte le funzionalità di SAP (quindi tutte le transazioni potenzialmente) ma con la sola funzionalità di lettura.
Un ruolo di questo tipo dovrebbe essere quindi assegnato in maniera puntuale e non in aggiunta ad altri ruoli operativi, questo potrebbe ampliare le autorizzazioni già presenti in capo all'utente.
In passato esisteva?
Sì, in passato esisteva (fino alla release 640) un profilo che permetteva l'accesso in sola lettura a SAP.
Tramite la Nota OSS "1752430 SAP_ALL_DISPLAY role does not exist anymore", attualmente non più disponibile in OSS questo profilo è stato rimosso. Vedi anche nota OSS "2988529 - SAP ALL DISPLAY"
Non sono fornite spiegazioni dettagliate ma probabilmente la complessità del sistema, per garantire che questo profilo sia realmente di sola visualizzazione, le recenti normative, ad esempio GDPR, per la protezione dati personali, hanno portato a questa decisione (Vedi anche nota OSS 2988529 SAP ALL DISPLAY). SAP non suggerisce di farlo.
Ma posso comunque? Come?
La soluzione più semplice è quella di, partendo dal profilo SAP_ALL, modificare tutte le autorizzazioni affinché siano in sola visualizzazione.
Una volta all'interno di un ruolo (tab Authorization) è possibile selezionare come template il profilo SAP_ALL
Così facendo tutte le autorizzazioni del profilo SAP_ALL saranno inserite nel ruolo ZSAP_ALL_DISPALY.
Ora non resta altro che andare in ogni oggetto autorizzativo e:
- nel campo attività (ACTVT) inserire solo attività di visualizzazione, puoi vedere quali sono le attività di sola display anche tramite la tabella TACT (Activities which can be Protected). Attenzione, non è immediato, dovrai personalizzare, a seconda della release SAP, dai 2500 ai quasi 3000 oggetti. Sono infatti così tanti gli oggetti autorizzativi che contengono il campo attività.
- gli oggetti che non hanno il campo ACTVT andrebbero disattivati
Punti di attenzione
Purtroppo, non è così semplice, anche se quanto sopra nonostante possa essere laborioso, è possibile. Esistono infatti dei casi particolari che devono essere gestiti e trattati correttamente. Alcuni di questi sono i seguenti.
- Non esistono solo oggetti con il campo attività ACTVT, esistono molti altri campi analoghi che non si chiamano esattamente ACTVT. Cercando tramite la transazione SU20 (elenco dei campi autorizzativi definiti a sistema) con la stringa *ACT* il risultato è che 190 campi (può cambiare a seconda delle release) potrebbero essere simili al campo ACTVT, anche questi devono essere gestiti
- Non tutti i campi che contengono il concetto di attività in SAP possono essere analoghi al campo ACTVT o simili. Ad esempio, nell'ambito del modulo HR, prendendo l'oggetto P_ORGIN, il campo che governa l'attività dell'oggetto è l'AUTHC dove i possibili valori sono:
- R Read
- M Matchcode
- W Write
- E,S, ed * per altre attività
- Un altro caso, nell'ambito finanziario è l'oggetto F_REGU_BUK - Automatic Payment: Activity Authorization for Company Codes, in questo caso tramite il campo FBTCH è possibile definire se il pagamento (transazione F110) deve essere solamente visualizzato, in modalità proposta oppure effettivo. I possibili valori sono in fatti i seguenti:
- Attenzione alle custom, potrebbero non avere sufficienti controlli autorizzativi
- Non è possibile escludere bug standard SAP che permettono anche in sola display di poter accedere anche in modalità operative o comunque ignorare quanto riportato nella nota OSS 2988529 SAP ALL DISPLAY)
È possibile generare un SAP_ALL per modulo SAP?
Anche se in questo caso non stiamo parlando di un ruolo in sola visualizzazione, sì, è possibile. Attraverso il programma REGENERATE_SAP_APP. Vedi anche OSS note 1703299 - Generation of SAP_APP
Puoi decidere se escludere la parte BASIS e HR o altri oggetti. Il risultato sarà in profilo o ruolo SAP_ALL per il componente applicativo selezionato.