Mit der REST-API exportieren
Dieser Abschnitt enthält Beispielanforderungen und Antworten, wenn Sie Benutzer, Gruppen und AppRoles mit der REST-API für Identitätsdomains aus Ihrer Umgebung in eine andere Identitätsdomain exportieren möchten.
Die folgenden Abschnitte führen Sie durch die Schritte:
Um den Export der CSV-Datei aus einer Identitätsdomain sicher zu handhaben, werden alle Zellenwerte, die mit den folgenden Zeichen beginnen, mit Escapezeichen versehen. Dadurch wird sichergestellt, dass ein Zellenwert, der mit einem dieser gesperrten Werte beginnt, in der CSV-Datei mit Escapezeichen versehen wird. Dadurch wird eine CSV-Injektion vermieden. Beispiel: Wenn der Wert beim Export
@test
lautet, lautet der tatsächliche Wert '@test'
.- Unter:
@
- Plus:
+
- Minus:
-
- Gleich:
=
- Pipe:
|
- Prozentsatz:
%
Exportjob planen
GET <domainURL>/admin/v1/ResourceTypeSchemaAttributes?filter=resourceType eq "User" and idcsCsvAttributeName pr&attributes=name,idcsCsvAttributeName,idcsDisplayName,description,type,required,canonicalValues,mutability,caseExact,multiValued,idcsMinLength,idcsMaxLength,idcsSearchable
Weitere Informationen zum globalen Laden mit der Identitätsdomainkonsole finden Sie unter Daten übertragen.
Um Benutzer, Gruppen oder AppRoles zu exportieren, senden Sie eine POST-Anforderung an den Endpunkt /job/v1/JobSchedules
, und verwenden Sie die in der Beispielanforderung angegebene Payload. Im unten stehenden JSON-Beispielanforderungsbody kann für ressourcenspezifische jobType
-Exporte der Wert für jobType
je nach Datentyp, den Sie exportieren möchten, UserExport,
GroupExport
oder AppRoleExport
lauten.
Es ist auch eine generische Exportoption verfügbar, bei der der Wert für jobType
Export
lautet und dann das Attribut resourceType
hinzugefügt wird und die Werte je nach Typ der Daten, die Sie exportieren möchten, User,
Group
oder AppRole
lauten können.
Exportieren Sie AppRole-Mitgliedschaften nur in eine einzelne Anwendung. Durch den Export über mehrere Anwendungen hinweg wird die Mitgliedschaft verschiedener AppRoles in allen Anwendungen exportiert.
Die folgenden Beispiele zeigen sowohl den ressourcenspezifischen jobType
-Export als auch die generischen Exportoptionen.
Beispielanforderung für ressourcenspezifischen jobType-Export
curl
-X POST
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: application/scim+json"
-H "Cache-Control: no-cache"
-d '{
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"],
"jobType": "UserExport",
"runNow": true,
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToExclude",
"value": "userName, profileUrl"
}
]
}'
"https://<domainURL>/job/v1/JobSchedules"
Beispielantwort für ressourcenspezifischen jobType-Export
Notieren Sie sich den Wert
id
(fett in der Beispielantwort). Dies ist der Wert für die jobScheduleid
, den Sie im nächsten Abschnitt angeben.{
"id": "fc565f0f-9555-4a44-803f-c06fe1d5d325",
"jobType": "UserExport",
"nextFireTime": "2022-08-12T15:27:28.057Z",
"runAt": "2022-08-12T15:27:28.057Z",
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToExclude",
"value": "userName, profileUrl"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"
]
}
Beispielanforderung für generischen Export
curl
-X POST
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: application/scim+json"
-H "Cache-Control: no-cache"
-d '{
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"],
"jobType": "Export",
"runNow": true,
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToGet",
"value": "userName,name,emails"
},
{
"name": "resourceType",
"value": "User"
}
]
}'
"https://<domainURL>/job/v1/JobSchedules"
Beispielantwort für generischen Export
Notieren Sie sich den Wert
id
(fett in der Beispielantwort). Dies ist der Wert für die jobScheduleid
, den Sie im nächsten Abschnitt angeben.{
"id": "9cc824a6-87df-4831-8d2b-6cb524384733",
"isDisabled": false,
"jobType": "Export",
"nextFireTime": "Apr 21, 2017 3:44:11 AM CDT",
"runAt": "Apr 21, 2017 3:44:11 AM CDT",
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToGet",
"value": "userName,name,emails"
},
{
"name": "resourceType",
"value": "User"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"
],
"meta": {
"resourceType": "JobSchedule",
"location": "https://<domainURL>/job/v1/JobSchedules"
}
}
Jobdetails anzeigen
Um Details aus dem Exportjob anzuzeigen, senden Sie eine GET-Anforderung mit der ID jobScheduleid
an den Endpunkt /job/v1/JobHistories
.
Beispielanforderung
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobHistories?filter=jobScheduleid%20eq%20%229cc824a6-87df-4831-8d2b-6cb524384733%22"
Beispielantwort
Notieren Sie sich den Wert
id
(fett in der Beispielantwort). Dies ist der Wert für den Job historyId
, den Sie im nächsten Abschnitt angeben.{
"idcsLastModifiedBy": {
"type": "User",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"display": "admin opc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"idcsCreatedBy": {
"type": "User",
"display": "admin opc",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"percentage": 100,
"id": "d17135ee4d2a4c2e8d7e29eccb7c4f71",
"jobScheduleId": "9cc824a6-87df-4831-8d2b-6cb524384733",
"meta": {
"created": "Apr 21, 2017 3:44:11 AM CDT",
"lastModified": "Apr 21, 2017 3:44:12 AM CDT",
"resourceType": "JobHistory",
"location": "https://<domainURL>/job/v1/JobHistories/d17135ee4d2a4c2e8d7e29eccb7c4f71"
},
"jobDescription": "An Oracle Identity Cloud Service job to export User.",
"failureCount": 0,
"status": "succeeded",
"scheduled": "Apr 21, 2017 3:44:11 AM CDT",
"jobDisplayName": "User Export Job",
"totalCount": 1,
"instanceId": "afd082996a7b14927604199281492760419777",
"successCount": 1,
"startTime": "Apr 21, 2017 3:44:11 AM CDT",
"jobType": "Export",
"runNow": true,
"endTime": "Apr 21, 2017 3:44:12 AM CDT",
"parameters": [{
"name": "exportFormat",
"value": "CSV"
}, {
"name": "attributesToGet",
"value": "userName,name,emails"
}, {
"name": "resourceType",
"value": "User"
}
],
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobHistory"]
}
Jobbericht anzeigen
Um den Jobbericht für den Exportjob anzuzeigen, senden Sie eine GET-Anforderung mit dem Job historyId
als ID an den Endpunkt /job/v1/JobReports
.
Beispielanforderung
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobReports?filter=historyId%20eq%20%22d17135ee4d2a4c2e8d7e29eccb7c4f71%22"
Beispielantwort
Notieren Sie sich den Wert
name
(fett in der Beispielantwort). Dies ist der Wert für die fileName
, den Sie im nächsten Abschnitt angeben.{
"schemas": [
"urn:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"Resources": [
{
"idcsLastModifiedBy": {
"type": "User",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"display": "admin opc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"idcsCreatedBy": {
"type": "User",
"display": "admin opc",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"type": "info",
"historyId": "d17135ee4d2a4c2e8d7e29eccb7c4f71",
"id": "9c1a12081ed04aeeaa9dd480c5f39094",
"jobType": "Export",
"meta": {
"created": "Apr 21, 2017 3:44:12 AM CDT",
"lastModified": "Apr 21, 2017 3:44:12 AM CDT",
"resourceType": "JobReport",
"location": "https://<domainURL>/job/v1/JobReports/9c1a12081ed04aeeaa9dd480c5f39094"
},
"message": "fileName",
"name": "files/export/201704210844/Export_d17135ee4d2a4c2e8d7e29eccb7c4f71.csv",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobReport"
]
}
],
"startIndex": 1,
"itemsPerPage": 1
}
Datei herunterladen
Um die Datei vom Server herunterzuladen, senden Sie eine GET-Anforderung mit der ID fileName
an den Endpunkt /storage/v1/Files
.
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: multipart/form-data"
-H "Cache-Control: no-cache"
"https://<domainURL>/storage/v1/Files?fileName=export/201704210844/Export_d17135ee4d2a4c2e8d7e29eccb7c4f71.csv"