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.
In den folgenden Abschnitten werden die Schritte beschrieben:
Um den Export der CSV-Datei aus einer Identitätsdomain sicher zu handhaben, werden alle Zellenwerte, die mit den folgenden Zeichen beginnen, maskiert. Dadurch wird sichergestellt, dass ein Zellenwert in der CSV-Datei maskiert wird, wenn er mit einem dieser Werte in der Blockliste beginnt. Dadurch wird eine CSV-Injection vermieden. Beispiel: Wenn der Wert beim Export
@test lautet, lautet der tatsächliche Wert '@test'.- Um:
@ - Plus:
+ - Minus:
- - Entspricht:
= - 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 Typ der Daten, die Sie exportieren möchten, UserExport, GroupExport oder AppRoleExport lauten.
Außerdem ist eine generische Exportoption verfügbar, bei der der Wert für jobType Export lautet. Anschließend wird das Attribut resourceType hinzugefügt, und die Werte können je nach Typ der Daten, die Sie exportieren möchten, User, Group oder AppRole sein.
Exportieren Sie AppRole-Mitgliedschaften nur in eine einzelne Anwendung. Beim Exportieren über mehrere Anwendungen 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, die 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, die 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, die 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"