Einschränkung des Interface auf CIS mobile

Der CIS mobile Functionsbaustein /GUIXT/SELECT_INTERFACE enthält ein generelles Interface für die Nutzung der SAP Select-Schnittstelle und weiterer für CIS mobile gebrauchter Funktionen über RFC. Innerhalb von CIS mobile ist das kein Problem, da die jeweiligen SAP Berechtigungsprüfungen ausgeführt werden, bevor die Daten weitergereicht werden. Für Fremdanwendungen, die den Funktionsbaustein ebenfalls benutzen könnten, kann das aber nicht garantiert werden.

Es ist deshalb sinnvoll, den RFC-Aufruf des Funktionsbaustein /GUIXT/SELECT_INTERFACE auf CIS mobile einzuschränken.
 

Berechtigung für Funktionsgruppe

Als erste Einschränkung ist SAP-seitig bereits die Berechtigung S_RFC vorgesehen, mit der die Nutzung der Funktionsgruppe /GUIXT/CISM und damit des Bausteins /GUIXT/SELECT_INTERFACE auf  bestimmte Benutzer eingeschränkt werden kann.

Transaktionscode

Als Parameter erhält /GUIXT/SELECT_INTERFACE einen Pseudo-Transaktionscode (Parameter TCODE). Der Baustein prüft, dass der angegebene Code, z.B. CISMOBILE12345678, mit 8 Ziffern endet und dass der Benutzer hierfür die Berechtigung S_TCODE besitzt.

Server Id

CIS mobile bildet diesen Pseude-Transaktionscode mithilfe einer eine generierten Server Id. Sie wird imS10 Repository angezeigt, wenn Sie auf Eigenschaften -> SAP System gehen:

Der erste Teil des Transaktionscodes ist änderbar, z.B. CISMOBILE, während die Server ID nicht geändert werden kann.

Nehmen Sie den hier angezeigten Transaktionscode in die CISMOBILE-Rolle auf, Berechtigungsobjekt S_TCODE.

Dieser Mechanismus verhindert, dass von einem CIS mobile System, das auf einem anderen Server läuft, auf die Daten des produktiven Systems zugegriffen werden kann. Während im produktiven CIS mobile System z.B. die Konfiguration "Nur 'Meine Kunden' anzeigbar" eingestellt ist, könnten in einem  CIS mobile Entwicklungssystem auf einem anderen Server sonst alle Kunden angezeigt werden. Oder Sie haben einige add-ons in der Entwicklung, die vor dem Einsatz im produktiven System offiziell abgenommen werden sollten.

Diese Restriktion ist nicht wirksam, falls Sie das produktive CIS mobile und ein Entwicklungssystem auf dem gleichen Server verwenden, was aus Sicherheitsgründen deshalb weniger empfehlenswert ist.

Bitte beachten Sie

  • Wenn Sie mit CIS mobile auf einen anderen Server umziehen oder auf dem bestehenden Server Windows neu installieren, ändert sich die Server ID. Bitte dann in der CIS mobile-Rolle die neue Transaktions-ID setzen. Falls SIe es vergessen, erfolgt beim Anmelden eine  Meldung, dass die Berechtigung für CISMOBILEnnnnnnnn fehlt (nnnnnnnn = neue Server ID).
     
  • CIS mobile können Sie auch zur Lastverteilung auf mehreren Servern gleichzeitig betreiben, was für sehr grosse Benutzerzahlen sinnvoll ist. In diesem Fall bitte in der Berechtigung S_TOCDE die Transaktionscodes für alle beteiligten Server eintragen, also z.B. CISMOBILE78925648 und CISMOBILE82688253.
Auorisierungscode

Schliesslich ist noch denkbar, dass jemand aus einer selbst programmierten Anwendung  (z.B. in Visual Basic oder ABAP implementiert) versucht, den Funktionsbaustein /GUIXT/SELECT_INTERFACE über RFC aufzurufen, um Daten aus einem produktiven System zu lesen.

Auch in diesem Fall wird ja zunächst die S_RFC Berechtigung für Funktionsgruppe /GUIXT/CISM geprüft. Danach in dem Baustein die Berechtigung für den angegebenen Transaktionscode, der  mit 8 Ziffern enden muss. Damit kommen sehr wahrscheinlich nur Benutzer infrage, die explizit für CIS mobile freigeschaltet wurden.

Der Baustein /GUIXT/SELECT_INTERFACE prüft nun zusätzlich noch einen Autorisierungscode, der von CIS mobile auf dem Server generiert wird. Er hängt vom Tagesdatum und der Server ID ab. Ohne gültigen Autorisierungscode werden keine Daten gelesen.
Eintrag in SAP System Log

Für den Fall eines unberechtigten Zugriffs auf den Funktionsbaustein /GUIXT/SELECT_INTERFACE (ungültiger Autorisierungscode) erfolgt ein Eintrag im Systemlog, damit man derartige Versuche nachverfolgen kann (Benutzername, Uhrzeit).