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:

Hinweis

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

Hinweis

Verwenden Sie die folgende Anforderung, um auf die vollständige Liste der zulässigen CSV-Spaltennamen und deren Beschreibungen zuzugreifen:
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.

Hinweis

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

Hinweis

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

Hinweis

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

Hinweis

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

Hinweis

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"