In der über den Endpunkt /ServiceproviderConfig abgerufenen Struktur ist eine authenticationSchemes-Liste enthalten. Die Liste publiziert die möglichen Authentifizierungsmethoden und Autorisierungsmethoden, mit denen das SCIM Plugin genutzt werden kann.
Unterstützt werden:
-
HTTP Basic access authentication
-
NTLM Authentication and Kerberos
-
OAuth 2.0 client authorization
Verwandte Themen
Zum Zugriff auf die One Identity Manager-Datenbank muss sich das SCIM Plugin authentifizieren. Die Authentifizierung erfolgt über die One Identity Manager Authentifizierungsmodule. Ausführliche Informationen erhalten Sie im One Identity Manager Handbuch zur Autorisierung und Authentifizierung.
Die Authentifizierungsmodule werden in der folgenden Reihenfolge überprüft und das erste erfolgreiche Authentifizierungsmodul zur Anmeldung verwendet. Stellen Sie sicher, dass das mindestens ein Authentifizierungsmodul aktiviert und konfiguriert ist. Ausführliche Informationen zur Authentifizierung von Benutzern am API Server finden Sie im One Identity Manager API-Entwicklungshandbuch.
-
Active Directory Benutzerkonto (ADSAccount)
-
HTTP Header (HTTPHeader)
-
OAuth 2.0/OpenID Connect (rollenbasiert) (OAuthRoleBased)
Verwandte Themen
Das am Endpunkt /Schemas exportierte SCIM 2.0 Schema wird aus dem One Identity Manager Schema generiert. Die zu berücksichtigenden Tabellendefinitionen und zu publizierenden M:N-Abbildungen sind vorgegeben. Es entsteht pro Tabelle eine Datenobjektbeschreibung mit einfachen und komplexen Eigenschaften.
Spalten einer Tabelle
Die Spalten einer Tabelle werden auf einfache Eigenschaften integraler Typen abgebildet.
Fremdschlüssel-Beziehungen
Die Fremdschlüssel-Beziehungen einer Tabelle werden nur dann in das Schema aufgenommen, wenn die Zieltabelle der Referenz ebenfalls Bestandteil des Schemas ist. In diesem Fall wird eine komplexe Eigenschaft mit dem Spaltennamen des Fremdschlüssels publiziert. Diese komplexe Eigenschaft besitzt die Eigenschaften value, $ref und displayName.
Die komplexe Eigenschaft wird im Schema mit dem Attribut „returned“ : „request“ gekennzeichnet. Um diese Daten lesen zu können, muss die Eigenschaft vom SCIM Client explizit über den URL–Parameter attributes angefordert werden.
Beispiel:
https://<servername>.<domainname>/ApiServer/scim/v2/Locality/0294ce3c-8286-4641-bc13-9bcd4a2fd714?attributes=cn,City,UID_PersonHead
M:N-Tabellen
M:N-Tabellen werden unter der komplexen Eigenschaft members im Schema publiziert. Dies gilt auch, wenn mehrere M:N-Tabellen zu berücksichtigen sind. Diese komplexe Eigenschaft definiert ein Array von Unterelementen, die die Eigenschaften value, type, $ref und display besitzen.
Die komplexe Eigenschaft members wird im Schema mit dem Attribut „returned“ : „request“ gekennzeichnet. Um diese Daten lesen zu können, muss die Eigenschaft vom SCIM Client explizit über den URL–Parameter attributes angefordert werden.
Beispiel:
http://<servername>.<domainname>/ApiServer/scim/v2/UNSGroupB/94bbe614-0a6e-4659-8fe9-20da94d967c8?attributes=cn,members
Bei mehreren zusammengefassten M:N-Tabellen erfolgt die Unterscheidung, aus welcher Tabelle das jeweilige Element stammt, anhand des Wertes in der Eigenschaft type. Bei schreibenden Zugriffen auf die Eigenschaft ist darauf zu achten, dass der Wert in der Eigenschaft type mit übergeben wird. Die als korrekt akzeptierten Werte sind im Schema am jeweiligen type-Subattribut als Liste in canonicalValues definiert.
Ist der Wert für type für den SCIM Client nicht ermittelbar, so kann dieser leer gelassen werden und nicht mit im PUT- oder PATCH-Request übertragen werden. Das SCIM Plugin versucht den korrekten type zu ermitteln. Dabei wird das Element anhand seiner in der Eigenschaft value übergebenen ID in allen One Identity Manager Tabellen gesucht, die Teil der members-Definition sind. Wird das Objekt dabei gefunden, kann die Operation ausgeführt werden.
Benötigte Berechtigungen
Um Filterausdrücken mit relationalen Vergleichsoperatoren zu verarbeiten, benötigt das verwendeten Benutzerkonto die Programmfunktion ApiServer_SCIM. Ausnahmen davon sind der Test auf Gleichheit (eq) und auf Vorhandensein eines Wertes (pr). Dies gilt sowohl für Filter im URL-Parameter filter als auch für die Verwendung von Path-Filtern in Patch-Operationen.
Soll es bestimmten Benutzern möglich sein, Filterausdrücke zu verarbeiten, können Sie die Berechtigungen über Berechtigungsgruppen an die Benutzer vergeben.
-
Für die nicht-rollenbasierte Anmeldung wird die Berechtigungsgruppe QBM_ApiServer_SCIM bereitgestellt. Diese Gruppe besitzt die Programmfunktion. Nehmen Sie die Systembenutzer in die Berechtigungsgruppe auf. Administrative Systembenutzer erhalten diese Berechtigungsgruppe automatisch.
-
Für die rollenbasierte Anmeldung wird die Berechtigungsgruppe QER_4_ApiServer_SCIM bereitgestellt. Diese Gruppe besitzt die Programmfunktion. Die Berechtigungsgruppe ist mit der Anwendungsrolle Basisrollen | API Server SCIM Filter verbunden. Nehmen Sie die Identitäten in die Anwendungsrolle auf.
Anfragen an die Basis-URL
Die SCIM 2.0 Spezifikation sieht optionale Anfragen an die Basis-URL des SCIM Serviceproviders vor. Diese Anfragen können optional einen Filterausdruck enthalten. Dies dient vorwiegend der Suche nach Objekten, wenn deren Endpunkt nicht genau bekannt ist und somit der Endpunkt-übergreifenden Suche.
Das SCIM Plugin unterstützt diese Anfragen. Im Filter sind nur logische OR-Verknüpfungen und die Vergleichsoperatoren eq, sw, ew sowie co zugelassen, die sich auf die Metainformation Resourcetype beziehen müssen.
Beispiel:
https://<servername>.<domainname>/ApiServer/scim/v2?filter=(meta.Resourcetype eq “Locality”) or (meta.Resourcetype sw “D”)
Das Ergebnis kann eine Liste von Objekten verschiedenen Typs enthalten, wobei die Anzahl der zurückgelieferten Elemente 10.000 aus Last- und Performance-Gründen nicht überschreiten darf. Andernfalls wird eine Fehlermeldung von Typ tooMany zurückgegeben. Die Suchbedingung sollte verfeinert werden und das Ergebnis stärker einschränken.
Anfragen an eine Endpunkt-URL
Die SCIM 2.0 Spezifikation sieht bei Anfragen an die über /ResourceTypes definierten Endpunkte optional die Parameter filter, attributes, count und startIndex vor. Bei Anfragen mit der ID eines konkreten Objektes (die URL enthält die id des Objektes) sind die Parameter excludedAttributes und attributes erlaubt. Das SCIM Plugin unterstützt diese Parameter.
Bei Anfragen an einen Endpunkt wird eine Liste aller Elemente (oder aller Elemente, die dem Filter entsprechen) zurückgegeben. So kann vom SCIM Client ein indexbasiertes Paging mit Angabe der gewünschten Anzahl von Sätzen pro Seite initiiert werden (Parameter count und startIndex).
Beispiel: Anfrage an einen Endpunkt
http://<servername>.<domainname>/ApiServer/scim/v2/Person
Beispiel: Anfrage der ersten 100 Elemente an einen Endpunkt mit Paging
http://<servername>.<domainname>/ApiServer/scim/v2/Person?startindex=1&count=100
Beispiel: Anfrage an einen Endpunkt mit Filter
http://<servername>.<domainname>/ApiServer/scim/v2/Person?filter=InternalName co "Y"
Beispiel: Anfrage an einen Endpunkt mit Filter und Ausgabe von zwei zusätzlichen Eigenschaften
http://<servername>.<domainname>/ApiServer/scim/v2/Person?filter=InternalName co "Y"&attributes=ExitDate,TechnicalEntryDate
Beispiel: Anfrage eines Objektes an einen Endpunkt
http://<servername>.<domainname>/ApiServer/scim/v2/UNSGroupB/94bbe614-0a6e-4659-8fe9-20da94d967c8
Beispiel: Anfrage von konkreten Eigenschaften eines Objektes an einen Endpunkt
http://<servername>.<domainname>/ApiServer/scim/v2/UNSGroupB/94bbe614-0a6e-4659-8fe9-20da94d967c8?attributes=cn,members