Kommentar verfassen
Das Schreiben von Kommentaren ist nur registrierten Benutzern erlaubt, die Registrierung ist kostenlos und erfordert keine E-Mail Adresse und kann schnell hier durchgeführt werden.
Das Schreiben von Kommentaren ist nur registrierten Benutzern erlaubt, die Registrierung ist kostenlos und erfordert keine E-Mail Adresse und kann schnell hier durchgeführt werden.
Berechtigung zur Jobausführung
Hallo zusammen,
Danke für diesen guten Artikel. Ich arbeite mit einem externen Jobscheduler und versuche aktuell Application Job in der HANA Cloud auszuführen. Generell klappt der Zugriff per API auch. Ich kann beispielsweise den Status anderer Jobs abfragen.
Was aber nicht klappt ist die Ausführung von Job Templates. Hier bekomme ich immer die Meldung User MYSCHED_01 is not authorized to schedule job JobDlaABC
Ich vermute es fehlt eine Business Role die den User berechtigt entsprechende Jobs auszuführen. Wie man die BR anlegt ist mir bekannt. Ich finde aber keinen Weg einem Communication User eine Business Role zuzuweisen. Das scheint nur für Business User zu gehen.
Vermutlich fehlt mir noch das genaue Verständnis. Könnt ihr mir helfen?
Hallo Rene,
der Communication User erhält seine Berechtigungen ausschließlich vom Communication Arrangement, wo er zugeordnet ist. Im Grunde müsste also als Workaround ein Communication Scenario mit den entsprechenden Berechtigungen erstellt werden, wozu dann ein Communication Arrangement angelegt wird und der User zugeordnet wird. Soweit ich weiß ist das die aktuelle Lösung zur Berechtigung von Communication Usern, leider noch nicht ganz das Wahre.
Alternativ kannst du aber einen Business User mitgeben für den der Job eingeplant werden soll. Damit wird der Job unter diesem Business User ausgeführt und erhält auch die Berechtigungen. Im ABAP Environment kannst du auch "Dummy User" für Jobausführungen anlegen (müssen sich nicht unbedingt anmelden können).
Grüße Björn
Hallo Björn,
wenn ich das richtig sehe kann man unter einem Communication Scenario keine einzelnen Rollen zuordnen. Die Rechte sollten bereits über das Com. Scenario gegeben sein.
Wir haben das Scenario SAP_COM_0326 verwendet, welches laut Beschreibung alle Rechte enthalten sollte um Jobs zu starten. Dennoch erscheint ein Fehler bei der Jobausführung.
"In this scenario SAP_COM_0326 the communication user has the authorization to do all possible operations on all application jobs, i.e. also on application jobs, which were created by any business user."
Möchtet ihr einen Z-Job einplanen oder den Standard? Jeder Z-Job hat ein eigenes SAJC Berechtigungsobjekt (Link). Selbst mit der Admin-Rolle kann man diese Jobs nicht auf Test/Prod einplanen, ohne dass der User diese expliziten Berechtigungen hat.
Daher würde ich vorschlagen einmal den Dummy/Job-User mit zugeordneter Rolle zu testen.
Ich bin nicht sicher ob ich das richtig verstehe. Es geht erst einmal grundsätzlich darum die Ausführung von Jobs in der HANA Cloud durch den externen Scheduler zu prüfen. Ich habe mir eins der vorhandenen Job Templates ausgesucht und dies über den externen Scheduler ausgeführt.
Konkret das Template APS_GSM_METRIC_COLLECTION_TEMPLATE (https://ibb.co/bgN0p23Z) Die Ausführung über die API klappt auch grundsätzlich
https://myxxxxxx-api.s4hana.cloud.sap/sap/opu/odata/sap/BC_EXT_APPJOB_MANAGEMENT;v=0002/JobSchedule?JobTemplateName='APS_GSM_METRIC_COLLECTION_TEMPLATE'&JobText='RENE_SCHED_EXT01'&JobUser='CB1280000022'&$format=json
https://ibb.co/DPWZrr1B
Der JobUser ist hier die ID meines Business Users. Trage ich dort die Id des Users ein, worüber sich der externer Scheduler authentifiziert (der, der im Communication Scenario hinterlegt ist), so bekomme ich einen Berechtigungsfehler.
User xxx-DEMO-01 is not authorized to schedule job RENE_SCHED_EXT01."
Mein Verständnis war das der technische User über das Communication Arrangement alle notwendigen Berechtigungen bekommt.
Dann hast du soweit alles was du brauchst und bist soweit durch. Der technische User bekommt nur die Berechtigungen für Business User Jobs einzuplanen, was du auch gemacht hast. Da meist mit einem Job auch fachliche oder technische Berechtigungen benötigt werden und diese sehr wahrscheinlich granularer abgebildet sind, werden diese über eigene Rollen vergeben (auch das Starten eines Jobs).
Der technische User für das Communicatiomn Scenario SAP_COM_0326 bekommt nur diese Berechtigungen um die API zu bedienen. Lesen des Status, Prüfen des Jobs oder für einen anderen User einplanen.