Rollen und Berechtigungen
Zwei Tabs für Berechtigungsfragen in SAP Fiori®-Apps: Berechtigungen wertet 401, 403 und SAP-Berechtigungsmeldungen der App aus und prüft, warum eine Kachel fehlt. Rollen fragt mit dem ABAP-Add-on das System selbst – Rollen, Kataloge, Startberechtigung, auch für einen anderen Benutzer. Beide gehören zur Enterprise-Edition.
- Edition
- ab Enterprise
- Tabs
- „Berechtigungen“ und „Rollen“
- Datenquelle
- Mitschnitt der OData-Konsole; optional ABAP-Add-on
- Benutzer
- immer maskiert (
D********1) - Auf PROD
- erlaubt – beide Tabs lesen nur
Berechtigungsfehler auswerten
Der Tab Berechtigungen liest den Mitschnitt der OData-Konsole mit; er fragt die Seite nicht noch einmal und sendet nichts. Sobald ein Request mit 401, 403 oder einer SAP-Meldung zu Berechtigung, Service-Aktivierung oder System-Alias zurückkommt, erscheint ein Befund. Gleiche Befunde fasst der Tab zusammen und zählt sie.
- Öffne in den DevTools (F12) das Panel FrontTailor und wähle den Tab Berechtigungen.
- Löse in der App die Aktion aus, die scheitert.
- Lies im Befund das fehlende Objekt mit Feld und Wert und folge den nächsten Schritten.
- Gib den Befund mit Als Markdown kopieren oder Ticket anlegen… an die Basis weiter.

Z_PRODUCT, Aktivität 03.- Der Befund: Art, Request, Service, fehlendes Objekt, Meldungscode, Transaktions-ID, Meldung und letzter Zeitpunkt.
- Nächste Schritte mit Links wie SU53 öffnen und /IWFND/ERROR_LOG öffnen. Sie öffnen SAP GUI for HTML desselben Systems – erst auf Klick.
- Als Markdown kopieren und Herunterladen (.md) – pro Befund oder für alle.
- Ticket anlegen… öffnet den Ticket-Dialog des Issue Reporters mit dem Befund, etwa für ServiceNow.
| Art im Tab | Erkannt an | Nächster Schritt (Auszug) |
|---|---|---|
| Fehlende Berechtigung | HTTP 403 oder /IWBEP/CM_MGW_RT/022 | SU53, Objekt über eine PFCG-Rolle zuordnen, Startberechtigung |
| Nicht angemeldet (HTTP 401) | HTTP 401 | neu anmelden, Anmeldeverfahren des ICF-Knotens (SICF) |
| CSRF-Token abgelehnt (kein Berechtigungsproblem) | 403 mit x-csrf-token: Required | Seite neu laden; sonst Proxy oder Web Dispatcher prüfen |
| Service nicht registriert oder nicht aktiv | /IWFND/MED/170 | /IWFND/MAINT_SERVICE, ICF-Knoten |
| Kein Systemalias für den Service | /IWFND/CM_MGW/096 | Systemalias in /IWFND/MAINT_SERVICE, RFC-Destination in SM59 |
| ICF-Knoten inaktiv | Meldung des ICF | Knoten in SICF aktivieren |
Erkannt werden Standardobjekte wie S_SERVICE und S_START und benannte Objekte („authorization object Z_PRODUCT“), dazu Feld und Wert („activity 03“ wird zu ACTVT = 03) und genannte PFCG-Rollen. Ausgewertet werden JSON (OData V2 und V4), XML und CAP-Fehler, Teile eines $batch einzeln. Benutzerkennungen erscheinen nie im Klartext: DEVELOPER1 wird zu D********1. Exporte enthalten die Seiten-URL ohne Query und Hash.
Warum sehe ich diese Kachel nicht?
Die Prüfkette im selben Tab erklärt, warum eine Kachel im Launchpad fehlt. Weil die Kachel ja nicht zu sehen ist, gibst du ihre Intent ein – Vorschläge kommen aus dem Inhalt des Launchpads; steht eine Intent im aktuellen Hash, ist sie vorbelegt.
- Öffne den Tab Berechtigungen im Launchpad.
- Gib unter Intent die Intent ein, etwa
SalesOrder-display. - Klicke Prüfen. Die Kette läuft Stufe für Stufe; die Zusammenfassung nennt die Stufe, an der die Kachel scheitert.

- Prüfen startet die Kette für die eingegebene Intent.
- Die Zusammenfassung, hier: Im Launchpad-Client kein Hindernis gefunden.
- Stufen, die PFCG- oder SU53-Daten brauchen, sind Nur mit Backend-Service markiert – im Browser wird nicht geraten.
| Stufe | Woher die Antwort kommt |
|---|---|
| Launchpad | Launchpad in der Seite, mit Plattform und Mandant |
| Katalog / Inhalt | Inhalt des Benutzers im Launchpad |
| Rolle (PFCG) | nur mit Backend-Service |
| Target Mapping | Auflösung des Launchpads: App-ID, Komponente, URL |
| Startberechtigung (S_SERVICE, /UI2/…) | nur mit Backend-Service |
| Kachel auf einer Seite | Spaces und Pages des Benutzers; Warnung, wenn die App im Katalog, aber auf keiner Seite liegt |
| OData-Service | Datenquellen der App gegen den OData-Mitschnitt |
Gibt eine Launchpad-Version eine Information nicht preis, ist die Stufe Unbekannt – nie Gesperrt. Jede Abfrage hat ein Zeitlimit von 10 s. Die Prüfkette läuft nur auf Klick; dabei darf das Launchpad seine eigenen Module und Seiteninhalte nachladen, und läuft die Ziel-App nicht, liest FrontTailor einmal ihre manifest.json vom selben Origin. Für eine sichtbare Kachel ist der Launchpad Inspector das passende Werkzeug.
Rollen-Tab und Backend-Service
Was der Browser nicht wissen kann – PFCG-Rollen, Kataloge der Rolle, Startberechtigung –, liefert das ABAP-Add-on /CDNA/FIORITAILOR, ein lesender OData-V4-Service für S/4HANA on-premise und Private Cloud. Der Tab Rollen schaltet ihn pro Host ein.
- Öffne die App auf dem SAP-System und im Panel den Tab Rollen.
- Schalte Backend-Service verwenden ein. Erst jetzt sendet FrontTailor überhaupt Requests an den Service – mit deiner Browser-Sitzung, auf demselben Host.
- Weicht der Pfad vom Standard ab, trage ihn unter Service-Pfad ein und klicke Übernehmen.
- Der Zustand wechselt auf Verfügbar; darunter stehen System, Mandant, Benutzer, Add-on, Vertrag und ob du andere Benutzer prüfen darfst.

- Backend-Service verwenden – gespeichert wird nur dieser Schalter (und ein abweichender Pfad), keine Antworten, keine Benutzer, keine Tokens.
- Der Zustand des Service.
- System, Mandant, Benutzer, Add-on, Vertrag, Andere Benutzer prüfen und Service-URL.
- Benutzer: leer für den eigenen Benutzer, sonst ein anderer.
| Zustand | Bedeutung |
|---|---|
| Aus | Schalter aus; FrontTailor sendet nichts an den Service. |
| Verfügbar | Der Service antwortet. |
| Nicht installiert | HTTP 404: Add-on fehlt oder SICF-Knoten inaktiv. |
| Nicht angemeldet | keine SAP-Sitzung in diesem Browser |
| Keine Berechtigung | Dem Benutzer fehlt die Rolle /CDNA/FT_USER. |
| Inkompatibel | unbekannte Vertragsversion: Add-on oder Erweiterung aktualisieren |
Ohne Service arbeitet FrontTailor wie bisher; die Stufen „Nur mit Backend-Service“ bleiben offen. Ist der Service verfügbar, nimmt auch Health den ICF-Timeout aus dem System.
Rollen-Simulator: was sieht ein anderer Benutzer?
- Trage in der Karte Benutzer und Rollen den Benutzer ein. Vor dem Absenden warnt der Tab, dass die Prüfung im Anwendungsprotokoll protokolliert wird.
- Klicke Anzeigen. Rollen, Kataloge, Spaces, Gruppen und erreichbare Intents erscheinen, jeweils mit der Rolle, die sie zuweist.
- Klicke eine erreichbare Intent an, um für diesen Benutzer die Prüfkette zu starten – oder gib unten unter Warum sehe ich diese Kachel nicht? eine Intent ein.

- Der Hinweis vor dem Absenden: Die Prüfung eines anderen Benutzers wird protokolliert (SLG1, Objekt
/CDNA/FT). - Die Nummer des Protokolls nach der Prüfung.
- Rollen des Benutzers.
- Erreichbare Intents mit Filter und zuweisender Rolle.

- Geprüft für – der simulierte Benutzer.
- Die Zusammenfassung: Die Kachel scheitert an: Katalog / Inhalt.
- Startberechtigung mit Service und fehlendem Wert, hier
S_SERVICEmitSRV_NAMEundSRV_TYPE.
Für einen anderen Benutzer beantwortet das Backend Katalog, Rolle, Target Mapping und Startberechtigung. Kachel auf einer Seite und OData-Service beschreiben nur den Benutzer dieses Browsers und bleiben in der Simulation Unbekannt. Für den eigenen Benutzer nutzt auch der Tab Berechtigungen den Service, sobald er verfügbar ist.
Andere Benutzer prüfen darf nur, wer die Rolle /CDNA/FT_SIM hat (Objekt /CDNA/SIM, Aktivität 03). Jede solche Prüfung schreibt das Add-on vorher in SLG1 – mit Aufrufer, Zielbenutzer und Intent bzw. Service. Kann es den Eintrag nicht speichern, verweigert es die Prüfung.
Typische Probleme
| Was du siehst | Ursache und Lösung |
|---|---|
| Keine Befunde trotz Fehler | Die OData-Aufzeichnung ist für den Host aus. Ohne sie zeigt der Tab einen Hinweis; die Prüfkette funktioniert weiter. |
| Befund nennt kein Objekt | Die Meldung des Systems nennt keins. SU53 oder der Berechtigungstrace (STAUTHTRACE) zeigen, welche Prüfung scheiterte. |
| Prüfkette: Stufe Launchpad gesperrt | Die Seite ist kein Launchpad. Öffne den Tab im Launchpad, nicht in der Standalone-App. |
| Rollen-Tab: Nicht installiert | Add-on fehlt, SICF-Knoten inaktiv oder abweichender Service-Pfad. Siehe ABAP-Add-on. |
| Rollen-Tab: andere Benutzer nicht erlaubt | Dir fehlt die Rolle /CDNA/FT_SIM. |
Siehe auch
- Funktionen im Überblick Funktionen · betrieb
- Zum Nachlesen SAP Business Technology Platform – Sicherheit und Berechtigungen (SAP PRESS)
- Hilfe von Menschen Launchpad, Rollen und Berechtigungen
- Doku Launchpad Inspector
- Doku ABAP-Add-on
- Doku Absprung ins Backend
- Doku OData-Konsole
- Belege ADR-0251 · ADR-0322 · ADR-0313