La protezione dei dati in SAP passa anche attraverso il controllo delle transazioni.
Come SAP ne controlla l'esecuzione? Quali sono le attenzioni durante la definizione delle transazioni custom in SAP?
Il flusso autorizzativo SAP
Quanto avvii una transazione in SAP cosa accade? Quali sono tutti i controlli che SAP esegue all'avvio di una transazione? Non tutte le attività svolte riguardano la security SAP.
- Viene controllata l'esistenza della transazione, nella tabella TSTC, dove sono definite tutte le transazioni SAP (dalla release ECC 6 ne esistono più di centomila)
- Viene controllato lo stato di blocco della transazione, infatti tramite le transazioni SM01 oppure nelle release più recenti tramite SM01_CUS o SM01_DEV, leggi qui quali sono le transazioni SAP Security da avere nei preferiti.
- Iniziano le verifiche autorizzative. Viene controllato se l'utente possiede la transazione nelle sue autorizzazioni. Tecnicamente viene verificato se l'oggetto autorizzativo S_TCODE, campo TCD contiene la transazione che l'utente sta cercando di eseguire. Solo se l'esito è positivo, questo controllo viene superato
- Non è detto che si riesca ad eseguire la transazione. Infatti a seguito del controllo sopra ne avviene un ulteriore chiamato "header transaction check". Ovvero ogni transazione può contenere un oggetto autorizzativo nella sua definizione, necessario per eseguire quella transazione. Questa parametrizzazione è visibile nella transazione SE93.
- Non è finita. A seguito dell'esecuzione della transazione, se nel codice ABAP sviluppato e collegato alla transazione, sono presenti controlli autorizzativi, ovvero statement ABAP AUTHORITY-CHECK, allora devono essere superati anche quelli. Ogni transazione SAP può contenere da uno a diverse decine di oggetti autorizzativi. Ne esistono più di 3000, di oggetti autorizzativi, nelle ultime release SAP.
Di seguito la rappresentazione grafica di quanto sopra. Vedi anche qui per ulteriori dettagli.
Come gestire le nuove transazioni SAP?
La definizione o il rilascio di una transazione, in particolar modo quelle custom, dovrebbe seguire uno specifico processo. Formato da diversi documenti (oppure un unico documento formato da diverse sezioni). Quali potrebbero essere queste sezioni e cosa dovrebbero contenere?
Documento di Analisi
- Documento di analisi, ovvero il documento che descrive la funzionalità richiesta partendo dal requisito del business. Quali sono qui i punti di attenzione?
- Verifichi ci sia sempre qualcosa nello standard che possa soddisfare il requisito, prima di partire a testa bassa sul custom? La manutenzione del sistema è esternalizzata? Sei sicuro che questa verifica sia presente?
- È lo strumento giusto? Può capitare che SAP sia utilizzato impropriamente ad esempio sviluppando query o reportistiche molto pesanti. Andrebbero utilizzati sistemi appositamente pensati per gestire molti dati. Leggi qui su come le reportistiche SAP come devono essere gestite.
Il processo Security e di conformità
- Processo valutazione security, in questo caso ci sono diversi aspetti da considerare
- Quanto sviluppato viene controllato prima di essere importato in produzione? Non solo gli aspetti security sono importanti in questo caso, ma anche:
- Performance
- Robustezza del codice
- Manutenibilità nel tempo
- Processo SOD. La transazione verte su processi SoD relevant? Allora deve essere identificato dove inserirla nella matrice. Chi svolge nella tua organizzazione questa verifica?
- Processo GDPR. La transazione agisce o mostra dei dati personali, quali e come sono gestiti? Viene applicato il principio di data minimization (art. 5 del GDPR)? Deve essere effettuato del masking sui dati SAP (vedi anche SAP Data Masking)?
- Descrizione requisito funzionale security. Quali sono i controlli che devono essere inseriti nella transazione? La transazione modifica dati di bilancio? Allora dovranno essere definiti gli oggetti autorizzativi standard o custom da dover gestire. Nessun oggetto autorizzativo da inserire, anche questa scelta deve essere documentata.
- Controllo del codice sviluppato
Dove mantieni la documentazione delle transazioni custom?
- Foglio Excel o Word?
- Solution Manager?
- Altro?
In base alle nostre statistiche il 40% delle transazioni custom sviluppate dopo 5 anni non viene più utilizzato, approfondisci qui con il video sul custom SAP!
Cosa verificare?
Ci sono funzionalità che gli utenti finali non dovrebbero avere. Ogni attività avviata dagli utenti finali dovrebbe "passare" da una specifica transazione. Cosa può essere critico e bypassare i controlli transazionali SAP?
- Il rilascio agli utenti finali di transazioni per l'esecuzione arbitraria di programmi, ad esempio transazioni SA38, SE38 o analoghe
- Il rilascio agli utenti finali di transazioni per la visualizzazione diretta del database SAP, ad esempio SE16 o SE16n, SE11, SE17 o analoghe. Questo potrebbe essere un problema anche in ottica GDPR
- Il rilascio ad utenti finali di transazioni come SM30 o SM31 per la modifica delle tabelle SAP
- Funzionalità di DEBUG del sistema, soprattutto in modifica