Exportación mediante la API de REST
En esta sección se proporcionan solicitudes y respuestas de ejemplo cuando desea exportar usuarios, grupos y AppRoles desde su entorno a otro dominio de identidad mediante la API de REST de los dominios de identidad.
Las siguientes secciones le guiarán por los pasos:
Para gestionar de forma segura la exportación del archivo CSV desde un dominio de identidad, se identifica cualquier valor de celda que empiece por los siguientes caracteres. Esto garantiza que si un valor de celda comienza con uno de estos valores en la lista de bloques, se escape en el CSV, lo que evita la inyección de CSV. Por ejemplo, durante la exportación, si el valor es
@test, el valor real será '@test'.- En:
@ - Más:
+ - Menos:
- - Es igual a:
= - Pleca:
| - Porcentaje:
%
Programación del trabajo de exportación
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,idcsSearchableConsulte Transferencia de datos para obtener más información sobre la carga masiva mediante la consola del dominio de identidad.
Para exportar usuarios, grupos o AppRoles, envíe una solicitud POST al punto final /job/v1/JobSchedules y utilice la carga útil proporcionada en la solicitud de ejemplo. En el cuerpo de solicitud de ejemplo de JSON que aparece a continuación, para las exportaciones jobType específicas del recurso, el valor para jobType puede ser UserExport, GroupExport o AppRoleExport, según el tipo de datos que esté intentando exportar.
También hay una opción de exportación genérica disponible en la que el valor para jobType es Export y, a continuación, se agrega el atributo resourceType y los valores pueden ser User, Group o AppRole, según el tipo de datos que esté intentando exportar.
Exporte las afiliaciones de AppRole a una sola aplicación. Al exportar en varias aplicaciones, se exporta la pertenencia a varios AppRoles en todas las aplicaciones.
Los ejemplos siguientes muestran tanto la exportación jobType específica del recurso como las opciones de exportación genéricas.
Ejemplo de solicitud de exportación de jobType específica de recursos
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"
Ejemplo de respuesta para exportación de jobType específica de recursos
Anote el valor
id (en negrita en la respuesta de ejemplo). Éste es el valor de jobScheduleid que se especifica en la siguiente sección.{
"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"
]
}
Ejemplo de solicitud de exportación genérica
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"
Ejemplo de respuesta para exportación genérica
Anote el valor
id (en negrita en la respuesta de ejemplo). Éste es el valor de jobScheduleid que se especifica en la siguiente sección.{
"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"
}
}
Ver Detalles del Trabajo
Para ver los detalles del trabajo de exportación, envíe una solicitud GET al punto final /job/v1/JobHistories mediante el identificador jobScheduleid.
Solicitud de ejemplo
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobHistories?filter=jobScheduleid%20eq%20%229cc824a6-87df-4831-8d2b-6cb524384733%22"
Respuesta de ejemplo
Anote el valor
id (en negrita en la respuesta de ejemplo). Éste es el valor del trabajo historyId que se especifica en la siguiente sección.{
"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"]
}
Ver el informe de trabajo
Para ver el informe del trabajo para el trabajo de exportación, envíe una solicitud GET al punto final /job/v1/JobReports mediante el trabajo historyId como identificador.
Solicitud de ejemplo
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobReports?filter=historyId%20eq%20%22d17135ee4d2a4c2e8d7e29eccb7c4f71%22"
Respuesta de ejemplo
Anote el valor
name (en negrita en la respuesta de ejemplo). Éste es el valor de fileName que se especifica en la siguiente sección.{
"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
}
Descarga del archivo
Para descargar el archivo desde el servidor, envíe una solicitud GET al punto final /storage/v1/Files utilizando fileName como identificador.
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"