Esportazione mediante l'API REST
Questa sezione fornisce richieste e risposte di esempio quando si desidera esportare utenti, gruppi e AppRoles dall'ambiente in uso in un altro dominio di Identity utilizzando l'API REST dei domini di Identity.
Le sezioni riportate di seguito illustrano i passi da eseguire.
Per gestire in modo sicuro l'esportazione del file CSV da un dominio di Identity, viene eseguito l'escape di tutti i valori di cella che iniziano con i caratteri seguenti. Ciò garantisce che se un valore di cella inizia con uno di questi valori in elenco di blocco, viene salvato nel file CSV, evitando l'inserimento CSV. Ad esempio, durante l'esportazione, se il valore è
@test
, il valore effettivo sarà '@test'
.- all'indirizzo:
@
- Inoltre:
+
- Minus:
-
- uguale a:
=
- Barra verticale:
|
- Percentuale:
%
Pianificazione del job di esportazione
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
Per ulteriori informazioni sul caricamento di massa mediante la console del dominio di Identity, vedere Trasferimento dei dati.
Per esportare utenti, gruppi o AppRoles, inviare una richiesta POST all'endpoint /job/v1/JobSchedules
e utilizzare il payload fornito nella richiesta di esempio. Nel corpo della richiesta di esempio JSON riportato di seguito, per le esportazioni jobType
specifiche della risorsa, il valore per jobType
può essere UserExport,
GroupExport
o AppRoleExport
, a seconda del tipo di dati che si sta tentando di esportare.
È disponibile anche un'opzione di esportazione generica in cui il valore per jobType
è Export
, quindi viene aggiunto l'attributo resourceType
e i valori possono essere User,
Group
o AppRole
, a seconda del tipo di dati che si sta tentando di esportare.
Esportare le appartenenze a AppRole in una sola applicazione. L'esportazione in più applicazioni consente di esportare l'appartenenza di varie applicazioni AppRoles in tutte le applicazioni.
Gli esempi riportati di seguito mostrano sia l'esportazione jobType
specifica della risorsa che le opzioni di esportazione generiche.
Richiesta di esempio per l'esportazione jobType specifica della risorsa
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"
Risposta di esempio per l'esportazione jobType specifica della risorsa
Prendere nota del valore
id
(grassetto nella risposta di esempio). Questo è il valore per il valore jobScheduleid
specificato nella sezione successiva.{
"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"
]
}
Richiesta di esempio per l'esportazione generica
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"
Risposta di esempio per esportazione generica
Prendere nota del valore
id
(grassetto nella risposta di esempio). Questo è il valore per il valore jobScheduleid
specificato nella sezione successiva.{
"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"
}
}
Visualizza dettagli job
Per visualizzare i dettagli dal job di esportazione, inviare una richiesta GET all'endpoint /job/v1/JobHistories
utilizzando jobScheduleid
come identificativo.
Richiesta di esempio
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobHistories?filter=jobScheduleid%20eq%20%229cc824a6-87df-4831-8d2b-6cb524384733%22"
Risposta di esempio
Prendere nota del valore
id
(grassetto nella risposta di esempio). Questo è il valore per il job historyId
specificato nella sezione successiva.{
"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"]
}
Visualizzare il report sul job
Per visualizzare il report dei job per il job di esportazione, inviare una richiesta GET all'endpoint /job/v1/JobReports
utilizzando il job historyId
come identificativo.
Richiesta di esempio
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobReports?filter=historyId%20eq%20%22d17135ee4d2a4c2e8d7e29eccb7c4f71%22"
Risposta di esempio
Prendere nota del valore
name
(grassetto nella risposta di esempio). Questo è il valore per il valore fileName
specificato nella sezione successiva.{
"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
}
Scaricare il file
Per scaricare il file dal server, inviare una richiesta GET all'endpoint /storage/v1/Files
utilizzando fileName
come identificativo.
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"