Chat now with support
Chat with Support

Identity Manager 8.1.4 - Administrationshandbuch für die Anbindung einer SAP R/3-Umgebung

Verwalten einer SAP R/3-Umgebung Einrichten der Synchronisation mit einer SAP R/3-Umgebung Basisdaten für die Verwaltung einer SAP R/3-Umgebung Basisdaten zur Benutzerverwaltung SAP Systeme SAP Mandanten SAP Benutzerkonten SAP Gruppen, SAP Rollen und SAP Profile SAP Produkte Bereitstellen der Daten für die Systemvermessung Berichte über SAP Systeme Anhang: Konfigurationsparameter für die Verwaltung einer SAP R/3-Umgebung Anhang: Standardprojektvorlage für die Synchronisation einer SAP R/3-Umgebung Anhang: Referenzierte SAP R/3-Tabellen und BAPI-Aufrufe Anhang: Beispiel für eine Schemaerweiterungsdatei

Schematypen definieren

Im Definitionsteil für Schematypen (SAPExtendedSchematypes) werden die Schematypen definiert, die im SAP Schema vorhanden sind und mit denen das Konnektorschema erweitert werden soll. Als Name wird der im Attribut Name vergebene Bezeichner verwendet. Dieser Bezeichner muss im erweiterten Konnektorschema eindeutig sein.

Tabelle 20: Schematypdefinition

Attribut

Beschreibung

Bem

Interne Beschreibung.

Name

Name des Schematyps im erweiterten Konnektorschema.

DisplayPattern

Definition eines Anzeigemusters für die Anzeige der Objekte im Synchronization Editor (beispielsweise im Zielsystembrowser oder bei der Definition der Schemaklassen). (Optional) Es können nur die Spalten verwendet werden, die in der Tabellendefinition geladen wurden (Attribute Key oder Load).

WICHTIG: Jede Spalte, die beim Laden der Objektliste zusätzlich geladen werden muss, erzeugt zusätzliche Last im One Identity Manager. Bei großen Datenmengen kann die Synchronisation dadurch deutlich langsamer werden. Geben Sie hier nur Spalten an, die für die weitere Verarbeitung der Objekte zwingend benötigt werden.

AddRevisionTimeOffset

Gibt an, ob an den Revisionszähler die Uhrzeit 23:59:00 angefügt werden soll. (Optional)

Sie können das Attribut nutzen, wenn der Revisionszähler nur ein Änderungsdatum und keine Uhrzeit enthält. Damit werden bei der Synchronisation auch solche Objekte berücksichtigt, die nach dem vorherigen Synchronisationslauf, aber noch am selben Tag geändert wurden.

RevisionProperty

Name einer Eigenschaft, welche den Revisionszähler enthält. (Optional)

ListObjectsDefinition

Funktions- oder Tabellendefinition zum Aufruf einer Objektliste.

ReadObjectDefinition

Funktions- oder Tabellendefinition zum Aufruf eines Einzelobjekts.

WriteObjectDefinition

Funktionsdefinition zum Schreiben des Objekts. (Optional)

DeleteObjectDefinition

Funktionsdefinition zum Löschen des Objekts. (Optional)

ParentType

Kontext, in dem der Schematyp gilt. (Optional)

Standardmäßig sind die Schematypen mandantenbezogen (ParentType="SAPMANDANT"). Wenn der neue Schematyp in allen Mandanten eines SAP R/3-Systems gilt, geben Sie den ParentType mit dem Wert "SAPSYSTEM" an.

Wenn das Attribut nicht definiert ist, ist der Schematyp mandantenbezogen.

Eine Schematypdefinition muss mindestens den Aufruf einer Objektliste (Attribut ListObjectsDefinition) enthalten. Dabei kann eine Tabellen- oder eine Funktionsdefinition angegeben werden. Um ein Einzelobjekt aufzurufen (Attribut ReadObjectDefinition), muss zuvor die Objektliste geladen worden sein. Listenaufruf und Einzelobjektaufruf können sich auf unterschiedliche Tabellen beziehen, jedoch müssen die Schlüsselspalten für die Identifikation der Einzelobjekte entweder gleichnamig sein oder per Mapping in der Tabellendefinition für den Einzelobjektaufruf bekannt gegeben worden sein. Im Beispiel unten werden zu einem Objekt aus der Tabelle USR02 die Einzelobjekte aus der Tabelle RSECUSERAUTH ermittelt. Die Schlüsselspalten zur Identifikation der Objekte sind USR02.BNAME und RSECUSERAUTH.UNAME. Die Spalten haben unterschiedliche Namen und werden daher über den Parameter $BNAME$ gemappt.

Es ist möglich, einen Properties–Block zu definieren, in welchem beliebig viele weitere Eigenschaften eines Objekts und die Art des Zugriffs auf diese Eigenschaften deklariert werden können. Eine einzelne Eigenschaft wird mittels Property-Tag definiert, welches die folgenden Attribute haben kann.

Tabelle 21: Eigenschaftsdefinition

Attribut

Beschreibung

Name

Name der Eigenschaft. Er muss innerhalb des Schematyps eindeutig sein.

Description

Beschreibung der Eigenschaft.

ListFunction

Funktion oder Tabelle zum Aufruf aller Werte.

AddFunction

Funktion zum Hinzufügen eines Wertes. (Optional)

DelFunction

Funktion zum Entfernen eines Wertes. (Optional)

ReplaceFunction

Ersetzen des gesamten Inhalts der Eigenschaft. (Optional)

IsMultivalued

Angabe, ob die Eigenschaft mehrwertig ist. (Optional)

Wenn das Attribut nicht definiert ist, ist die Eigenschaft nicht mehrwertig.

Beispiel:

<Tables>

<TABLE Definition = "USR04-Table" TableName="USR04" Key="BNAME,MANDT" X500="CN,OU" SQL="MANDT = sy-mandt" Load="" />

<TABLE Definition = "USR02-Table" TableName="USR02" Key="BNAME" X500="CN" SQL="MANDT = sy-mandt" Load="MANDT,TRDAT" />

<TABLE Definition = "RSECUSERAUTH-SingleUser" TableName="RSECUSERAUTH" Key="AUTH" X500="CN" SQL="UNAME = '$BNAME$'" Load="">

<Mapping>

<Data ParameterName = "$BNAME$" PropertyName = "BNAME" />

</Mapping>

</TABLE>

</Tables>

<Functions>

<Function Definition = "USER GET" FunctionName="BAPI_USER_GET_DETAIL" OutStructure = "" Key ="USERNAME" X500 ="CN">

<Mapping>

<Data ParameterName = "USERNAME" PropertyName = "BNAME" />

</Mapping>

</Function>

<Function Definition = "USER SET" FunctionName="BAPI_USER_CHANGE" OutStructure ="" Key ="USERNAME" X500 ="CN">

<Mapping>

<Data ParameterName = "USERNAME" PropertyName = "BNAME" />

</Mapping>

</Function>

<Function Definition = "USER DEL" FunctionName="BAPI_USER_DELETE" OutStructure ="" Key ="USERNAME" X500 ="CN" >

<Mapping>

<Data ParameterName = "USERNAME" PropertyName = "BNAME" />

</Mapping>

</Function>

<Function Definition = "USER PROFILE SET" FunctionName="BAPI_USER_PROFILES_ASSIGN" OutStructure ="" Key ="USERNAME" X500 ="CN">

<Mapping>

<Data ParameterName = "USERNAME" PropertyName = "BNAME" />

<Data ParameterName = "BAPIPROF~BAPIPROF" PropertyName = "$Value$" />

</Mapping>

</Function>

<Function Definition = "BWProfileDelFkt" FunctionName="/VIAENET/SAPHR_RSECUSERAUT_DEL" OutStructure ="" Key ="ZUSRNAME,ZHIER" X500 ="CN,OU">

<Mapping>

<Data ParameterName = "ZUSRNAME" PropertyName = "BNAME" />

<Data ParameterName = "ZHIER" PropertyName = "$VALUE$" />

</Mapping>

</Function>

<Function Definition = "BWProfileAddFkt" FunctionName="/VIAENET/SAPHR_RSECUSERAUT_ADD" OutStructure ="" Key ="ZUSRNAME,ZHIER" X500 ="CN,OU">

<Mapping>

<Data ParameterName = "ZUSRNAME" PropertyName = "BNAME" />

<Data ParameterName = "ZHIER" PropertyName = "$VALUE$" />

</Mapping>

</Function>

</Functions>

<SAPExtendedSchematypes>

<SAPExtendedSchematype Bem = "alle Benutzer" Name = "UserFunctionTable" DisplayPattern="%BNAME% (%MANDT%)" RevisionProperty="TRDAT" ListObjectsDefinition = "USR02-Table" ReadObjectDefinition ="USER GET" WriteObjectDefinition = "USER SET" DeleteObjectDefinition = "USER DEL">

<Properties>

<Property Name = "SAPBWP" Description="alle BW Profile des Benutzers" ListFunction="RSECUSERAUTH-SingleUser" AddFunction="BWProfileAddFkt" DelFunction="BWProfileDelFkt" ReplaceFunction="" IsMultivalued = "true" />

<Property Name = "USERPROFILE" Description="alle Profile des Benutzers" ListFunction="USR04-Table" AddFunction="" DelFunction="" ReplaceFunction="USER PROFILE SET" IsMultivalued = "true" />

</Properties>

</SAPExtendedSchematype>

<SAPExtendedSchematype Bem = "Asset, Anlagenwerte" Name = "Asset_ANLA" DisplayPattern="%ANLN1% %BUKRS%" AddRevisionTimeOffset="true" RevisionProperty="AEDAT" ListObjectsDefinition = "ANLA-Tabelle" ReadObjectDefinition = "ANLA-Tabelle" InsertObjectDefinition = "" WriteObjectDefinition = "" DeleteObjectDefinition = "" />

</SAPExtendedSchematypes>

Erläuterungen:

Die Liste von Objekten des Schematyps UserFunctionTable wird unter Nutzung der Tabelle USR02 erstellt. Lesen, Schreiben und Löschen erfolgt mit den Funktionen des USER–BAPI, die jeweils als Function deklariert wurden.

Der Schematyp hat einen Properties-Block. Hier werden zwei weitere Eigenschaften definiert, die weder über die Tabellendefinition des Listenaufrufs noch über die Funktionsdefinition des Einzelobjektaufrufs zurückgegeben werden. Definiert wird eine mehrwertige Eigenschaft SAPBWP, deren Werte aus der Tabelle RSECUSERAUTH ermittelt werden. Die Einzelobjekte werden über die Spalten USR02.BNAME und RSECUSERAUTH.UNAME identifiziert. Zum Einfügen und Löschen von Werten werden BAPI-Aufrufe genutzt, die als Funktionen definiert wurden.

Die Eigenschaft Userprofile ist ein Beispiel für eine mehrwertige Eigenschaft, deren Werte beim Lesen aus einer Tabelle stammen (USR04) und die eine Replace–Funktion hat. Daher müssen immer alle Werte bei Änderungen angegeben werden, die in der Eigenschaft verbleiben sollen. Die Schreibfunktion ist die originale Funktion des USER-BAPI zum Setzen von Profilen am Benutzer (Funktionsdefinition für BAPI_USER_PROFILES_ASSIGN). Die Einzelobjekte werden über die Spalten USR02.BNAME und USR04.BNAME identifiziert. Da die Schlüsselspalten den gleichen Namen haben, wird an der Tabellendefinition kein Mapping benötigt.

Der Schematyp Asset_ANLA verwendet den Revisionszähler AEDAT, welcher nur ein Änderungsdatum enthält. An diesen Revisionszähler fügt der Konnektor die Uhrzeit 23:59:00 an (AddRevisionTimeOffset="true").

Beschleunigung der Synchronisation durch Revisionsfilterung

Beim Start der Synchronisation werden alle zu synchronisierenden Objekte geladen. Ein Teil dieser Objekte wurde gegebenenfalls seit der letzten Synchronisation nicht geändert und muss daher bei der Synchronisation nicht verarbeitet werden. Indem nur solche Objekte geladen werden, die sich seit der letzten Synchronisation geändert haben, kann die Synchronisation beschleunigt werden. Zur Beschleunigung der Synchronisation nutzt der One Identity Manager die Revisionsfilterung.

SAP R/3 unterstützt die Revisionsfilterung. Als Revisionszähler wird das Datum der letzte Änderung der SAP Objekte genutzt. Jede Synchronisation speichert ihr letztes Ausführungsdatum als Revision in der One Identity Manager-Datenbank (Tabelle DPRRevisionStore, Spalte Value). Dieser Wert wird als Vergleichswert für die Revisionsfilterung bei der nächsten Synchronisation mit dem selben Workflow genutzt. Bei der Synchronisation mit diesem Workflow wird das Änderungsdatum der SAP Objekte mit der in der One Identity Manager-Datenbank gespeicherten Revision verglichen. Es werden nur noch die Objekte aus dem Zielsystem gelesen, die sich seit diesem Datum verändert haben.

HINWEIS:SAP Rollen erhalten als Änderungsinformation im Zielsystem das Datum der letzten Generierung der Rolle. Bei der Synchronisation mit Revisionsfilterung werden nur die SAP Rollen in der Datenbank aktualisiert, die seit der letzten Synchronisation im Zielsystem erneut generiert wurden.

Die Revision wird zu Beginn einer Synchronisation ermittelt. Objekte, die durch die Synchronisation geändert werden, werden bei der nächsten Synchronisation nochmals geladen und überprüft. Die zweite Synchronisation nach der Initialsynchronisation ist daher noch nicht deutlich schneller.

Die Revisionsfilterung kann an den Workflows oder an den Startkonfigurationen zugelassen werden.

Um die Revisionsfilterung an einem Workflow zuzulassen

  • Öffnen Sie das Synchronisationsprojekt im Synchronization Editor.

  • Bearbeiten Sie die Eigenschaften des Workflows. Wählen Sie in der Auswahlliste Revisionsfilterung den Eintrag Revisionsfilter nutzen.

Um die Revisionsfilterung an einer Startkonfiguration zuzulassen

  • Öffnen Sie das Synchronisationsprojekt im Synchronization Editor.

  • Bearbeiten Sie die Eigenschaften der Startkonfiguration. Wählen Sie in der Auswahlliste Revisionsfilterung den Eintrag Revisionsfilter nutzen.
Detaillierte Informationen zum Thema
  • One Identity Manager Referenzhandbuch für die Zielsystemsynchronisation

Synchronisation von Sammelrollen

In der Tabelle SAPUserInSAPRole werden nur direkt zugewiesene Einzel- und Sammelrollen abgebildet. Die Zuordnungen von Einzelrollen an Sammelrollen sind in der Tabelle SAPCollectionRPG abgebildet. Über beide Tabellen zusammen kann ermittelt werden, welche Einzelrollen einem Benutzerkonto indirekt zugewiesen sind.

Für die Vererbung von Einzelrollen an Benutzerkonten gilt standardmäßig: Ist einem Benutzerkonto eine Einzelrolle zugewiesen und ist diese Einzelrolle Bestandteil einer Sammelrolle, die dem Benutzerkonto ebenfalls zugewiesen ist, dann wird die Einzelrolle nicht zusätzlich an das Benutzerkonto vererbt. Damit wird die Mitgliedschaft des Benutzerkontos in der Einzelrolle bei der Provisionierung von Gruppenmitgliedschaften in die SAP R/3-Umgebung entfernt. Bei der nächsten Synchronisation wird diese Mitgliedschaft in der One Identity Manager-Datenbank gelöscht oder als ausstehend markiert, je nach Konfiguration der Synchronisation.

Um zu verhindern, dass Mitgliedschaften in Einzelrollen entfernt werden, wenn die Einzelrollen Bestandteil von Sammelrollen sind

  • Aktivieren Sie im Designer den Konfigurationsparameter "TargetSystem\SAPR3\KeepRedundantProfiles".

Einschränken der Synchronisationsobjekte über Benutzerrechte

Der One Identity Manager bietet die Möglichkeit die zu synchronisierenden Benutzerkonten und Gruppen über Benutzerrechte einzuschränken. Dabei werden nur die Benutzerkonten und Gruppen synchronisiert, auf die das Benutzerkonto, mit dem sich der SAP R/3 Konnektor am Zielsystem anmeldet, berechtigt ist. Alle übrigen Gruppen und Benutzerkonten werden aus der Userliste und Gruppenliste des Funktionsbausteins "/VIAENET/U" herausgefiltert. Soll nur ein kleiner Teil, der in der SAP R/3-Umgebung vorhandenen Benutzerkonten und Gruppen mit der One Identity Manager-Datenbank synchronisiert werden, kann die Synchronisation auf diese Weise beschleunigt werden.

Voraussetzungen
  • Dem Benutzerkonto, mit dem sich der SAP R/3 Konnektor am Zielsystem anmeldet, sind in der SAP R/3-Umgebung im Berechtigungsobjekt S_USER_GRP, Merkmal CLASS genau die Gruppen zugewiesen, die synchronisiert werden sollen.
  • Es gibt Benutzerkonten, denen eine dieser Gruppen in der SAP R/3-Umgebung als Benutzergruppe für die Berechtigungsprüfung (in den Logondaten) zugewiesen ist.

Bei der Synchronisation werden genau die Gruppen in die One Identity Manager-Datenbank eingelesen, auf die dem Benutzerkonto, mit dem sich der SAP R/3 Konnektor am Zielsystem anmeldet, im Berechtigungsobjekt S_USER_GRP Zugriff gewährt ist. Alle Benutzerkonten, denen eine dieser Gruppen als Benutzergruppe für die Berechtigungsprüfung zugewiesen ist, werden ebenfalls synchronisiert. Alle anderen Gruppen und Benutzerkonten werden bei der Synchronisation wie im Zielsystem nicht vorhandene Objekte behandelt.

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating