È normale in un sistema gestionale l'interrogazione dei dati. Ma quali sono gli strumenti a disposizione in un sistema SAP ERP? È corretto fare la reportistica in un sistema transazionale?
Quali sono gli impatti di sicurezza nel fare reporting aziendale dei dati in SAP e come è possibile mitigarli? Qual è il manuale SAP query di sopravvivenza?
Ne esistono diversi, a seconda delle esigenze, tra i principali ci sono i seguenti:
Spesso ci si scontra con la domanda sopra. Esistono infatti due modalità distinte di database:
I primi progettati per effettuare reporting, mentre gli ultimi per l'elaborazione dei dati (non solo lettura quindi).
Nella famiglia dei prodotti SAP esistono molte soluzioni per effettuare del reporting, ad esempio SAP BW/BI Business Warehouse/Business Intelligence, SAP Business Objects e molti altri. Esistono ovviamente anche software terzi.
La conclusione è che se hai la necessità di analizzare molti dati e produrre molte viste (per ogni dipartimento), forse devi avere uno strumento pensato per svolgere quel lavoro e non puoi utilizzare l'ERP aziendale. Quest'ultimo ha degli strumenti per svolgere il reporting ma non è pensato per svolgere questo lavoro.
Detto quanto sopra, e riprendendo il titolo, uno degli aspetti security più critici è rappresentato dalle query SAP. Non esistono in realtà transazioni di sola visualizzazione in questo ambito.
Tutto viene controllato da un oggetto autorizzativo chiamato S_QUERY.
Questo oggetto, se presente nelle autorizzazioni dell'utente, determina se le transazioni delle query SAP (SQ00 ed SQ01, vedi immagine seguente), siano in sola visualizzazione oppure permettano di modificare il contenuto delle query.
Non solo. Il modulo delle query SAP ha al suo interno un piccolo concetto autorizzativo aggiuntivo a quello normalmente gestito tramite i ruoli (transazione PFCG).
Questo modello autorizzativo permette di gestire i gruppi utenti query (tramite la transazione SQ03).
Facciamo un esempio.
Quanto sopra tuttavia non è sufficiente.
In quanto se disattivo l'oggetto S_QUERY devo obbligatoriamente inserire l'utente in uno o più gruppi utenti query definiti (questo permette di rilasciare all'utente la possibilità di vedere ed eseguire le query presenti in quel/quei gruppi). Solitamente i gruppi query sono strutturati per modulo SAP o funzione aziendale.
Non molto conveniente come gestione! Ma non è finita qui!
Una volta abilitato l'utente alla transazione, disattivato l'oggetto autorizzativo S_QUERY ed inserito l'utente nell'apposito gruppo, dovrai poi attribuire le corrette autorizzazioni sulle tabelle che le query richiamano.
Questo avviene tramite l'oggetto autorizzativo S_TABU_DIS/S_TABU_NAM (dove è possibile autorizzare un gruppo di tabelle o le singole tabelle del database SAP).
Non ci sarà quindi una transazione dedicata a cui associare le tabelle che dovranno essere autorizzate, questa autorizzazione dovrà essere rilasciata utente per utente oppure rilasciata assegnandola alla transazione SQ00 (rilasciando agli utenti più autorizzazioni del previsto).
Ulteriore approfondimento, leggi la nota OSS 24578 - SAP Query: Authorizations.
La soluzione che negli anni abbiamo visto essere quella più efficace è quella di:
Devi mettere in sicurezza un sistema? Non ci sono solamente le query, ma molti altri aspetti security SAP da gestire ed affrontare.