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,idcsSearchableWeitere 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"