Benutzerschemas anpassen
Wenn Sie mit der Verwendung von Identitätsdomains beginnen, können Sie je nach Anforderungen verschiedener Abteilungen innerhalb oder außerhalb Ihrer Organisation eine andere Gruppe von Benutzeridentitäten laden. Mit der Schemaanpassung können Sie identitätsdomänenspezifische 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 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 in diesem Anwendungsfall als Beispiel für alle Anforderungs-Payloads 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
Einzigartigkeit
caseExact
idcsSensitive
multiValued
erforderlich
Benutzerdefinierte Benutzerschemaattribute werden hinzugefügt
Die folgenden Links enthalten Informationen und Beispielanforderungen zum Hinzufügen benutzerdefinierter Benutzerschemaattribute mit den Methoden PUT und PATCH. Informationen zu den Validierungen, die beim Hinzufügen von Attributen ausgeführt werden, sind ebenfalls enthalten.
Benutzerdefinierte Benutzerschemaattribute aktualisieren
Die folgenden Links enthalten Informationen und Beispielanforderungen zum Aktualisieren benutzerdefinierter Benutzerschemaattribute mit den Methoden PUT und PATCH. Informationen zu Validierungen, die beim Aktualisieren von Attributen ausgeführt werden, sind ebenfalls enthalten.
Benutzerdefinierte Schemaattribute entfernen
Die folgenden Links enthalten Informationen und Beispielanforderungen beim Entfernen benutzerdefinierter Benutzerschemaattribute mit den Methoden PUT und PATCH. Informationen zu Validierungen, die beim Entfernen von Attributen ausgeführt werden, sind ebenfalls enthalten.
Import benutzerdefinierter Benutzerschemaattribute aktivieren
Der folgende Link enthält Informationen und Beispielanforderungen beim Import 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 werden die folgenden Attribute aktualisiert:
Attribut | Typ |
---|---|
subDivision |
Zeichenfolge |
branchAddress |
Zeichenfolge |
Beispiel für eine PUT-Anforderung
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
}
]
}
JSON-Beispielantwort
{
"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 PATCH "op" verwenden: "add", um benutzerdefinierte Attribute hinzuzufügen.
Die Validierungen, die während dieser Operationen 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 Nameigenschaft fehlt, wird eine Fehlermeldung angezeigt.
Beispiel für eine PATCH-Anforderung
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
}
]
}
]
}
JSON-Beispielantwort
{
"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
Wenn Sie benutzerdefinierte Attribute hinzufügen, 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 | Durchgeführte Validierungen |
---|---|
name |
Nach Duplikaten suchen. Dieser Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
idcsDisplayName |
Nach Duplikaten suchen. Dieser Wert muss im gesamten benutzerdefinierten Schema eindeutig sein. |
idcsMaxLength |
Der Wert darf nicht kleiner als 2 sein. |
idcsMinLength |
Der Wert darf nicht kleiner als 1 sein. |
zurückgegeben |
Der Wert muss ein gültiger Rückgabewert sein, z.B. immer, Standardwert, Anforderung oder nie. |
Typ |
Der Wert muss eine Zeichenfolge sein, die einzeln oder mehrwertig sein kann. |
Mutation |
Der Wert muss eine gültige Veränderbarkeit wie readWrite, readOnly, unveränderlich 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.
Aktualisieren von Attributen
In diesem Beispiel werden die Attribute für "subDivision" und "branchAddress" aktualisiert.
Beispiel für eine PUT-Anforderung
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
}
]
}
JSON-Beispielantwort
{
"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 mehrbewertete Zeichenfolgen aktualisieren
Sie können mehrwertige Zeichenfolgenattribute in Ihrem vorhandenen benutzerdefinierten Schema mit der PUT-Methode aktualisieren. In diesem Beispiel fügen wir das mehrwertige Zeichenfolgenattribut "Hobbys" hinzu.
Beispiel für eine PUT-Anforderung
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.
Vorgang "Ersetzen" 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.
Beispiel für eine PATCH-Anforderung
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
}
]
}
]
}
JSON-Beispielantwort
{
"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"
}
}
Vorgang "Ersetzen" mit Filtern verwenden
-
In diesem Beispiel wird der PATCH-Vorgang "ersetzen" mit Filtern verwendet, um alle Attribute auf "true" zu aktualisieren, bei denen die Eigenschaft "required" mit dem Attribut "returned" auf "always" 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[name eq \"workName\"].idcsDisplayName", "value": "workplace Name" }] }
-
In diesem Beispiel wird der PATCH-Vorgang "ersetzen" mit Filtern verwendet, um alle Attribute auf "falsch" 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 }] }
JSON-Beispielantwort
{
"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"
}
}
Mit dem Vorgang "Ersetzen" ein mehrwertiges Zeichenfolgenattribut 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.
Beispiel für eine PATCH-Anforderung
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 aus. In der folgenden Tabelle werden die Validierungen beschrieben, die auf dem Ersetzen/Aktualisieren-Vorgang basieren.
Validierungen ersetzen/aktualisieren
In dieser Tabelle werden die Validierungen beschrieben, die Identitätsdomains ausführen, wenn Sie vorhandene benutzerdefinierte Attribute im Zielschema aktualisieren.
Attributname | Durchgeführte Validierungen |
---|---|
idcsMinLength |
Der Wert darf nicht kleiner als 1 sein. Das Spaltenlimit, das für das Attribut zugeteilt wurde, darf nicht überschritten werden. Beispiel: Wenn die Spalte U_VC_40 zugewiesen wurde, darf idcsMinLength 40 nicht überschreiten. |
idcsMaxLength |
Der Wert darf nicht kleiner als 1 sein. Der Wert muss größer/gleich dem Wert idcsMaxLength für das Attribut sein und darf den für das Attribut zugewiesenen Spaltengrenzwert nicht überschreiten. Beispiel: Wenn die Spalte U_VC_40 zugewiesen wurde, darf idcsMaxLength 40 nicht überschreiten. |
idcsMinValue |
Der Wert darf nicht kleiner als der aktuelle Wert in der Filiale sein. |
idcsMaxValue |
Der Wert darf nicht größer als der aktuelle Wert in der Filiale sein. |
canonicalValues |
Werte müssen ein Superset dessen sein, was derzeit in der Filiale vorhanden ist. |
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 zusammenstellen. Das Entfernen von Attributen, nachdem Sie ein benutzerdefiniertes Schema erstellt haben, kann zu Problemen führen, da möglicherweise bereits viele Benutzer mit den benutzerdefinierten Attributen durch Provisioning 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.
Beispiel für eine PUT-Anforderung
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
}
]
}
JSON-Beispielantwort
{
"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, wobei 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]" }] }
JSON-Beispielantwort
{
"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 aus, um sicherzustellen, dass zuvor keine Daten für dieses Attribut in der Datenbank bereitgestellt wurden. Wenn Daten bereitgestellt wurden, verläuft der Löschvorgang nicht erfolgreich.
Import benutzerdefinierter Benutzerschemaattribute 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 mit dem Namen employeeStatus.
erstellt. Um den Spaltennamenswert für dieses Attribut so festzulegen, dass Sie Daten aus einer CSV-Datei in dieses Attribut importieren können, ordnen Sie das Attribut intern idcsCsvAttributeNameMappings
zu.
Beispiel für eine PATCH-Anforderung
Das folgende Anforderungsbeispiel zeigt, wie der Spaltennamenswert für das benutzerdefinierte Zeichenfolgenattribut 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 jetzt Daten 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
-
Informationen zum Importieren von Benutzerdaten mit der REST-API für Identitätsdomains finden Sie unter Importieren.