Benutzerschemas anpassen
Wenn Sie mit der Verwendung von Identitätsdomains beginnen, können Sie eine andere Gruppe von Benutzeridentitäten basierend auf den Anforderungen verschiedener Abteilungen innerhalb oder außerhalb Ihrer Organisation laden. Mit der Schemaanpassung können Sie identitätsdomainspezifische benutzerdefinierte Schemas erstellen, um die Out-of-the-box-(OOTB-)Attribute für eine Ressource zu ergänzen. Außerdem können Benutzerschemas erweitert werden.
Ein benutzerdefiniertes Schema ist OOTB als leeres Schema ohne definierte Attribute verfügbar. Das folgende Schema "Benutzerdefinierter Benutzer" ist ein Beispiel für ein leeres benutzerdefiniertes Schema ohne Attribute. Dieses benutzerdefinierte Schema wird als Beispiel für alle Beispielanforderungs-Payloads in diesem Anwendungsfall verwendet.
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"meta": {
"resourceType": "Schema",
"created": "2022-08-15T05:02:13.788Z",
"lastModified": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
},
"idcsLastModifiedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Sie können die folgenden Eigenschaften nicht aktualisieren. Jeder Versuch, diese Eigenschaften zu aktualisieren, wird ignoriert.
Typ
idcsSearchable
Eindeutigkeit
caseExact
idcsSensitive
multiValued
erforderlich
Benutzerdefinierte Benutzerschemaattribute hinzufügen
Die folgenden Links enthalten Informationen und Beispielanforderungen zum Hinzufügen benutzerdefinierter Benutzerschemaattribute mit den PUT- und PATCH-Methoden. Informationen zu den Validierungen, die beim Hinzufügen von Attributen ausgeführt werden, sind ebenfalls enthalten.
Attribute für benutzerdefiniertes Benutzerschema aktualisieren
Die folgenden Links enthalten Informationen und Beispielanforderungen für die Aktualisierung benutzerdefinierter Benutzerschemaattribute mit den PUT- und PATCH-Methoden. Informationen zu Validierungen, die beim Aktualisieren von Attributen ausgeführt werden, sind ebenfalls enthalten.
Benutzerdefinierte Schemaattribute entfernen
Die folgenden Links enthalten Informationen und Beispielanforderungen, wenn benutzerdefinierte Benutzerschemaattribute mit den PUT- und PATCH-Methoden entfernt werden. Informationen zu Validierungen, die beim Entfernen von Attributen ausgeführt werden, sind ebenfalls enthalten.
Import von benutzerdefinierten Benutzerschemaattributen aktivieren
Der folgende Link enthält Informationen und Beispielanforderungen beim Importieren benutzerdefinierter Benutzerschemaattribute.
Benutzerdefinierte Benutzerschemaattribute mit PUT hinzufügen
Füllen Sie ein leeres benutzerdefiniertes Schema, indem Sie neue Attribute mit der PUT-Methode hinzufügen.
In diesem Beispiel aktualisieren wir die folgenden Attribute:
| Attribut | Typ |
|---|---|
|
subDivision |
Zeichenfolge |
|
branchAddress |
Zeichenfolge |
PUT-Beispielanforderung
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 30,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"idcsMaxLength": 300,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsDisplayName": "Sub Division",
"name": "subDivision",
"mutability": "readWrite",
"idcsMinLength": 5,
"description": "SubDivision",
"type": "string",
"idcsSearchable": true,
"idcsMaxLength": 30,
"multiValued": false,
"returned": "always",
"uniqueness": "none",
"required": false,
"caseExact": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_40_IFLEX_1"
},
{
"name": "branchAddress",
"description": "Branch Office Address",
"mutability": "readWrite",
"idcsMinLength": 5,
"type": "string",
"idcsSearchable": true,
"idcsMaxLength": 300,
"multiValued": false,
"returned": "always",
"idcsDisplayName": "Branch Address",
"uniqueness": "none",
"required": false,
"caseExact": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1"
}
],
"meta": {
"lastModified": "2022-08-15T19:26:40.603Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
}
Benutzerdefinierte Benutzerschemaattribute mit PATCH hinzufügen
In diesem Beispiel wird gezeigt, wie Sie mit PATCH "op": "add" benutzerdefinierte Attribute hinzufügen.
Die Validierungen, die während der Ausführung dieser Vorgänge durchgeführt werden, ähneln der PUT-Methode. Weitere Informationen finden Sie im Abschnitt Beim Hinzufügen von Attributen ausgeführte Validierungen.
Aktualisieren Sie das benutzerdefinierte Schema, um neue Attribute mit PATCH hinzuzufügen. In diesem Beispiel wird der PATCH-Vorgang "add" verwendet, und der Attributname wird aus der Anforderungs-Payload für das Patching ausgewählt. Wenn der angegebene Name bereits vorhanden ist, wird er automatisch ersetzt. Wenn das Attribut nicht vorhanden ist, wird es automatisch hinzugefügt. Wenn die Eigenschaft name fehlt, wird eine Fehlermeldung angezeigt.
PATCH-Beispielanforderung
PATCH /Schemas/urn:itef:params:scim:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "attributes",
"value": [
{
"idcsValuePersisted": true,
"uniqueness": "none",
"name": "nickName",
"idcsDisplayName": "NICKNAME100",
"description": "NICKNAME100",
"required": false,
"type": "string",
"idcsMinLength": 10,
"idcsMaxLength": 100,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsSearchable": true,
"multiValued": false
}
]
}
]
}
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "I_VC_4K_IFLEX_2",
"idcsDisplayName": "NICKNAME100",
"description": "NICKNAME100",
"type": "string",
"idcsAuditable": true,
"required": false,
"returned": "default",
"idcsValuePersisted": true,
"idcsMaxLength": 100,
"idcsSearchable": true,
"idcsMinLength": 10,
"multiValued": false,
"caseExact": true,
"uniqueness": "none",
"name": "nickName"
}
],
"meta": {
"lastModified": "2022-08-15T19:31:37.247Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
Validierungen beim Hinzufügen von Attributen
Beim Hinzufügen benutzerdefinierter Attribute führen Identitätsdomains bestimmte Validierungen aus. In der folgenden Tabelle werden die Validierungen basierend auf dem Vorgang "Hinzufügen" beschrieben.
Validierungen hinzufügen
In dieser Tabelle werden die Validierungen beschrieben, die Identitätsdomains ausführen, wenn Sie dem Zielschema neue benutzerdefinierte Attribute hinzufügen.
| Attributname | Ausgeführte Validierungen |
|---|---|
|
Name |
Auf Duplikat prüfen. Dieser Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
|
idcsDisplayName |
Nach Duplikaten suchen. Dieser Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
|
idcsMaxLength |
Wert darf nicht kleiner als 2 sein. |
|
idcsMinLength |
Wert darf nicht kleiner als 1 sein. |
|
returned |
Der Wert muss ein gültiger Rückgabewert sein, z.B. immer, Standardwert, Anforderung oder nie. |
|
Typ |
Der Wert muss eine Zeichenfolge sein, die ein- oder mehrwertig sein kann. |
|
Mutabilität |
Der Wert muss eine gültige Mutabilität wie readWrite, readOnly, unveränderbar oder schreibgeschützt sein. |
|
idcsCsvAttributeNameMappings.columnHeaderName |
Der Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
|
idcsCsvAttributeNameMappings.multiValueDelimiter |
Obligatorisches Attribut für mehrwertige Attribute mit idcsCsvAttributeNameMappings. |
Benutzerdefinierte Benutzerschemaattribute mit PUT aktualisieren
Aktualisieren Sie Attribute in Ihrem benutzerdefinierten Schema mit der PUT-Methode.
Attribute aktualisieren
In diesem Beispiel aktualisieren wir die Attribute für "subDivision" und "branchAddress".
PUT-Beispielanforderung
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"idcsMaxLength": 350,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsDisplayName": "Sub Division Office",
"idcsMaxLength": 35,
"required": false,
"idcsValuePersisted": true,
"caseExact": true,
"uniqueness": "none",
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"name": "subDivision",
"type": "string",
"idcsMinLength": 5,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
},
{
"required": false,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1",
"idcsMaxLength": 350,
"caseExact": true,
"uniqueness": "none",
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T19:45:17.046Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Attribute für mehrfach bewertete Zeichenfolgen aktualisieren
Sie können mehrwertige Zeichenfolgenattribute in Ihrem vorhandenen benutzerdefinierten Schema mit der PUT-Methode aktualisieren. In diesem Beispiel wird das mehrwertige Zeichenfolgenattribut "hobbies" hinzugefügt.
PUT-Beispielanforderung
PUT admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "workName",
"idcsDisplayName": "workName",
"description": "workName",
"required": false,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 4000,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsSearchable": false,
"multiValued": false,
"idcsCsvAttributeName": "CSV1"
},
{
"name": "hobbies",
"idcsDisplayName": "hobbies",
"description": "hobbies",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": true
},
{
"name": "county",
"idcsDisplayName": "county",
"description": "county",
"type": "string",
"required": false,
"idcsMinLength": 1,
"idcsMaxLength": 40,
"idcsAuditable": true,
"caseExact": true,
"returned": "default",
"idcsCsvAttributeName": "CSV3",
"idcsSearchable": false,
"multiValued": false
},
{
"name": "nationality",
"idcsDisplayName": "nationality",
"description": "nationality",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": false
}
]
}
Benutzerdefinierte Benutzerschemaattribute mit PATCH aktualisieren
Ersetzen Sie Attribute im benutzerdefinierten Schema mit der PATCH-Methode.
Ersetzungsvorgang verwenden
In diesem Beispiel wird der PATCH-Vorgang "ersetzen" verwendet, und der Attributname wird aus der Anforderungs-Payload für das Patching ausgewählt. Wenn der angegebene Name bereits vorhanden ist, wird er automatisch ersetzt. Wenn sie nicht vorhanden ist, wird eine Fehlermeldung angezeigt.
PATCH-Beispielanforderung
Patch /Schemas/urn:item:params:scam:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "attributes",
"value": [
{
"name": "nickName",
"idcsDisplayName": "nickName",
"description": "Nickname",
"required": false,
"type": "string",
"idcsMinLength": 3,
"idcsMaxLength": 25,
"idcsAuditable": false,
"caseExact": true,
"returned": "default",
"multiValued": false
}
]
}
]
}
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "U_VC_40_IFLEX_1",
"idcsAuditable": false,
"idcsValuePersisted": true,
"description": "Nickname",
"idcsSearchable": true,
"idcsMaxLength": 25,
"uniqueness": "none",
"name": "nickName",
"idcsDisplayName": "nickName",
"required": false,
"type": "string",
"idcsMinLength": 3,
"caseExact": true,
"returned": "default",
"multiValued": false
}
],
"meta": {
"lastModified": "2022-08-15T19:55:17.467Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Ersetzungsvorgang mit Filtern verwenden
-
In diesem Beispiel wird der PATCH "replace"-Vorgang mit Filtern verwendet, um alle Attribute, bei denen die Eigenschaft "required" mit dem Attribut "returned" auf "always" gesetzt ist, auf "true" zu aktualisieren:
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "replace", "path": "attributes[name eq \"workName\"].idcsDisplayName", "value": "workplace Name" }] } -
In diesem Beispiel wird der PATCH-Vorgang "ersetzen" mit Filtern verwendet, um alle Attribute auf "false" zu aktualisieren, wobei die Eigenschaft "auditable" auf "true" gesetzt ist.
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "replace", "path": "attributes[returned eq \"default\"].required", "value": true }] }
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"idcsMinLength": 1,
"idcsValuePersisted": true,
"idcsMaxLength": 20,
"type": "string",
"idcsSearchable": true,
"idcsDisplayName": "nationality",
"name": "nationality",
"idcsAuditable": true,
"multiValued": false,
"description": "nationality",
"returned": "default",
"required": false,
"uniqueness": "none",
"caseExact": true
},
{
"idcsTargetAttributeName": "U_VC_4K_IFLEX_1",
"idcsDisplayName": "workplace Name",
"description": "workName",
"idcsCsvAttributeName": "CSV1",
"type": "string",
"idcsMaxLength": 4000,
"idcsAuditable": true,
"required": false,
"returned": "default",
"idcsMinLength": 1,
"name": "workName",
"idcsSearchable": false,
"multiValued": false,
"caseExact": true,
"uniqueness": "none",
"idcsValuePersisted": true
}
],
"meta": {
"lastModified": "2022-08-15T20:15:21.969Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Attribut mit mehreren Werten mit dem Ersetzungsvorgang aktualisieren
Sie können mehrwertige Zeichenfolgenattribute in Ihrem benutzerdefinierten Schema mit der PATCH-Methode ersetzen. In diesem Beispiel wird der PATCH-Vorgang "ersetzen" verwendet, und der Attributname wird aus der Anforderungs-Payload für das Patching ausgewählt. Wenn der angegebene Name bereits vorhanden ist, wird er automatisch ersetzt. Wenn sie nicht vorhanden ist, wird eine Fehlermeldung angezeigt.
PATCH-Beispielanforderung
Patch admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [{
"op": "replace",
"path": "attributes",
"value": [
{
"name": "hobbies",
"idcsDisplayName": "hobbies",
"description": "hobbies",
"required": true,
"type": "string",
"idcsMinLength": 1,
"idcsMaxLength": 20,
"idcsAuditable": true,
"returned": "default",
"idcsValuePersisted": true,
"idcsSearchable": true,
"multiValued": true
}
]
}
]
}
Validierungen beim Aktualisieren von Attributen
Wenn Sie benutzerdefinierte Attribute ersetzen, führen Identitätsdomains bestimmte Validierungen durch. In der folgenden Tabelle werden die Validierungen basierend auf dem Vorgang "Ersetzen/Aktualisieren" beschrieben.
Validierungen ersetzen/aktualisieren
In dieser Tabelle werden die Validierungen beschrieben, die Identitätsdomains ausführen, wenn Sie vorhandene benutzerdefinierte Attribute in das Zielschema aktualisieren.
| Attributname | Ausgeführte Validierungen |
|---|---|
|
idcsMinLength |
Wert darf nicht kleiner als 1 sein. Sie darf nicht über dem für das Attribut zugewiesenen Spaltenlimit liegen. Beispiel: Wenn die Spalte U_VC_40 zugewiesen wurde, darf idcsMinLength 40 nicht überschreiten. |
|
idcsMaxLength |
Wert darf nicht kleiner als 1 sein. Er muss größer/gleich dem Wert idcsMaxLength für das Attribut sein und darf nicht über dem für das Attribut zugewiesenen Spaltenlimit liegen. Beispiel: Wenn die Spalte U_VC_40 zugewiesen wurde, darf idcsMaxLength 40 nicht überschreiten. |
|
idcsMinValue |
Der Wert darf nicht kleiner sein als der Wert, der derzeit in der Filiale vorhanden ist. |
|
idcsMaxValue |
Der Wert darf nicht größer sein als der aktuelle Wert in der Filiale. |
|
canonicalValues |
Werte müssen eine übergeordnete Gruppe von Werten sein, die derzeit in der Filiale vorhanden sind. |
|
idcsCsvAttributeName |
Der Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
|
Name |
Der Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
|
idcsDisplayName |
Der Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
Benutzerdefinierte Benutzerschemaattribute mit PUT entfernen
Entfernen Sie Attribute in Ihrem benutzerdefinierten Schema mit der PUT-Methode.
Wenn die benutzerdefinierten Attribute "subDivision" und "branchAddress" bereits im benutzerdefinierten Schema vorhanden sind, können Sie branchAddress mit der folgenden PUT-Anforderung entfernen.
Es wird empfohlen, Attribute nur dann aus dem benutzerdefinierten Schema zu entfernen, wenn Sie zum ersten Mal ein benutzerdefiniertes Schema erstellen. Wenn Sie Attribute entfernen, nachdem Sie ein benutzerdefiniertes Schema erstellt haben, können Probleme auftreten, da möglicherweise bereits viele Benutzer mit den benutzerdefinierten Attributen bereitgestellt wurden. Um benutzerdefinierte Schemaattribute zu entfernen, nachdem Benutzer mit den Attributen durch Provisioning bereitgestellt wurden, müssen Sie zuerst alle Daten löschen, die sich auf die benutzerdefinierten Schemaattribute beziehen, aus der Datenbank.
PUT-Beispielanforderung
PUT /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:extension:custom:2.0:User",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"idcsResourceTypes": ["User"],
"attributes": [
{
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
]
}
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"required": false,
"idcsValuePersisted": true,
"caseExact": true,
"uniqueness": "none",
"idcsTargetAttributeName": "I_VC_40_IFLEX_1",
"name": "subDivision",
"idcsDisplayName": "Sub Division Office",
"type": "string",
"idcsMinLength": 5,
"idcsMaxLength": 35,
"description": "SubDivision",
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T20:02:04.354Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Benutzerdefinierte Benutzerschemaattribute mit PATCH entfernen
In diesem Abschnitt wird die Verwendung von PATCH "op":"remove" beim Entfernen benutzerdefinierter Benutzerschemaattribute beschrieben.
Entfernen mit Filtern verwenden
-
In diesem Beispiel wird der PATCH-Vorgang "remove" mit Filtern verwendet, um das Attribut "subDivision" zu entfernen.
PATCH /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "remove", "path": "attributes[name eq \"subDivision\"]" }] } -
In diesem Beispiel wird der PATCH-Vorgang "remove" mit Filtern verwendet, um alle Attribute zu entfernen, bei denen die Eigenschaft "required" auf "false" gesetzt ist.
Patch /Schemas/urn:item:params:scam:schemas:ides:extension:custom:User { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [{ "op": "remove", "path": "attributes[required eq false]" }] }
Beispiel für JSON-Antwort
{
"name": "CustomUser",
"description": "Custom User",
"id": "urn:ietf:params:scim:schemas:idcs:extension:custom:User",
"idcsResourceTypes": [
"User"
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Schema"
],
"attributes": [
{
"required": true,
"idcsValuePersisted": true,
"idcsTargetAttributeName": "I_VC_4K_IFLEX_1",
"idcsMaxLength": 350,
"caseExact": true,
"uniqueness": "none",
"name": "branchAddress",
"idcsDisplayName": "Branch Address",
"type": "string",
"description": "Branch Office Address",
"idcsMinLength": 5,
"multiValued": false,
"returned": "always",
"mutability": "readWrite",
"idcsSearchable": true
}
],
"meta": {
"lastModified": "2022-08-15T20:06:53.745Z",
"resourceType": "TenantSchema",
"created": "2022-08-15T05:02:13.788Z",
"location": "https://<domainURL>/admin/v1/TenantSchemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User"
},
"idcsLastModifiedBy": {
"type": "App",
"display": "admin",
"$ref": "https://<domainURL>/admin/v1/Apps"
},
"idcsCreatedBy": {
"value": "158d625222f442ef8fcc817593701dd9",
"type": "App",
"display": "idcssm",
"$ref": "https://<domainURL>/admin/v1/Apps/158d625222f442ef8fcc817593701dd9"
}
}
Validierungen beim Entfernen von Attributen
Wenn Sie benutzerdefinierte Attribute entfernen, führen Identitätsdomains bestimmte Validierungen aus.
Wenn benutzerdefinierte Attribute mit PUT oder PATCH entfernt werden, führen Identitätsdomains Löschvalidierungen durch, um sicherzustellen, dass zuvor keine Daten in der Datenbank für dieses Attribut bereitgestellt wurden. Wenn Daten bereitgestellt wurden, verläuft der Löschvorgang nicht erfolgreich.
Import von benutzerdefinierten Benutzerschemaattributen aktivieren
Um Daten mit einer CSV-Datei in die neuen Schemaattribute zu importieren, müssen Sie zuerst Spaltennamenswerte für die neuen Attribute festlegen.
In diesem Beispiel wurde ein neues Benutzerattribut namens employeeStatus. erstellt. Um den Wert für den Spaltennamen für dieses Attribut festzulegen, damit Sie Daten aus einer CSV-Datei in dieses Attribut importieren können, ordnen Sie das Attribut intern idcsCsvAttributeNameMappings zu.
PATCH-Beispielanforderung
Das folgende Anforderungsbeispiel zeigt, wie der Wert des Spaltennamens für das benutzerdefinierte Attribut der Zeichenfolge employeeStatus festgelegt wird.
PATCH /admin/v1/Schemas/urn:ietf:params:scim:schemas:idcs:extension:custom:User
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "attributes[name eq \"employeeStatus\"].idcsCsvAttributeNameMappings",
"value": [
{
"columnHeaderName": "Employee Status"
}
]
}
]
}
Sie können Daten jetzt mit einer CSV-Datei importieren, die eine Spalte (mit Daten) mit dem Namen Mitarbeiterstatus enthält.
Das folgende Anforderungsbeispiel zeigt, wie Sie einen Spaltennamen für ein benutzerdefiniertes Zeichenfolgenarrayattribut mit dem Namen Favoritenfarben festlegen, dessen Werte in einer CSV-Datei durch Komma getrennt wären.
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "attributes[name eq \"favoriteColors\"].idcsCsvAttributeNameMappings",
"value": [
{
"columnHeaderName": "Favorite Colors",
"multiValueDelimiter": ","
}
]
}
]
}
Weitere Informationen
-
Der Anwendungsfall zum Importieren von Benutzerdaten mit der REST-API für Identitätsdomains finden Sie unter Importieren.