レスポンス本文

アイデンティティ・ドメインREST APIリクエストはJSONレスポンス本文を返します。ステータス・コードは成功または失敗を示します。

サポートされているレスポンス・コード

サポートされているレスポンス・コードの詳細は、ノート

レスポンス・コードを参照してください。

成功時のレスポンス本文

すべてのREST APIリクエストのレスポンス形式はJSONオブジェクトです。レスポンスの実際のコンテンツは、リクエストが成功したかどうかにかかわらず、リクエストのコンテンツとタイプ、および実行された問合せフィルタによって異なります。

ノート

特定のレスポンス本文の例は、各エンドポイント・ページの「例」タブを参照してください。

成功したPOSTレスポンス本体

POSTリクエストによりUserリソースの作成に成功したことを示すレスポンスの例を次に示します。

{
    "idcsCreatedBy": {
        "type": "App",
        "display": "Confidential App",
        "value": "<app-id>",
        "ocid": "<app-ocid>",
        "$ref": "https://<domainURL>/admin/v1/Apps/<app-id>"
    },
    "id": "<user-id>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
        "isFederatedUser": false
    },
    "meta": {
        "created": "2023-08-29T21:04:25.379Z",
        "lastModified": "2023-08-29T21:04:25.379Z",
        "version": "7fd6be02ffc542809e3ea193d1942df7",
        "resourceType": "User",
        "location": "https://<domainURL>/admin/v1/Users/<user-id>"
    },
    "active": true,
    "displayName": "Clarence Saladna",
    "idcsLastModifiedBy": {
        "value": "<app-id>",
        "display": "Confidential App",
        "ocid": "<app-ocid>",
        "type": "App",
        "$ref": "https://<domainURL>/admin/v1/Apps/<app-id>"
    },
    "name": {
        "givenName": "Clarence",
        "familyName": "Saladna",
        "formatted": "Clarence Saladna"
    },
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
        "locked": {
            "on": false
        }
    },
    "ocid": "<user-ocid>",
    "userName": "csaladna@example.com",
    "emails": [
        {
            "secondary": false,
            "verified": false,
            "type": "recovery",
            "primary": false,
            "value": "csaladna@example.com"
        },
        {
            "secondary": false,
            "verified": false,
            "type": "work",
            "primary": true,
            "value": "csaladna@example.com"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
    ],
    "domainOcid": "<domain-ocid>",
    "compartmentOcid": "<compartment-ocid>",
    "tenancyOcid": "<tenancy-ocid>",
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
        "canUseApiKeys": true,
        "canUseAuthTokens": true,
        "canUseConsolePassword": true,
        "canUseCustomerSecretKeys": true,
        "canUseOAuth2ClientCredentials": true,
        "canUseSmtpCredentials": true,
        "canUseDbCredentials": true
    }
}

成功したGETレスポンス本体

GETリクエストは通常はListResponseオブジェクトを返し、これには複数のレコードが格納されることがあります。この例では、ユーザーに対するGET検索の結果を、問合せパラメータfilter=userName sw "d"、つまりユーザー名がdで始まるユーザーとともに示します。

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 3,
    "Resources": [
        {
            "idcsCreatedBy": {
                "type": "User",
                "display": "dennis@example.com",
                "value": "OCI User",
                "ocid": "<user-ocid>",
                "$ref": "https://<domainURL>/admin/v1/Users/OCI User"
            },
            "id": "<user-id>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
                "isFederatedUser": false
            },
            "meta": {
                "created": "2023-08-15T20:48:12.736Z",
                "lastModified": "2023-08-15T20:48:12.736Z",
                "version": "087a80ea35614663b05ea69b24b425a7",
                "resourceType": "User",
                "location": "https://<domainURL>/admin/v1/Users/<user-id>"
            },
            "active": true,
            "displayName": "Dean",
            "idcsLastModifiedBy": {
                "value": "OCI User",
                "display": "dean@example.com",
                "ocid": "<user-ocid>",
                "type": "User",
                "$ref": "https://<domainURL>/admin/v1/Users/OCI User"
            },
            "name": {
                "givenName": "Dean",
                "familyName": "",
                "formatted": "Dean"
            },
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
                "locked": {
                    "on": false
                }
            },
            "ocid": "<user-ocid>",
            "userName": "dean@example.com",
            "emails": [
                {
                    "secondary": false,
                    "verified": false,
                    "type": "recovery",
                    "primary": false,
                    "value": "dean@example.com"
                },
                {
                    "secondary": false,
                    "verified": false,
                    "type": "work",
                    "primary": true,
                    "value": "dean@example.com"
                }
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
            ],
            "domainOcid": "<domain-ocid>",
            "compartmentOcid": "<compartment-ocid>",
            "tenancyOcid": "<tenancy-ocid>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
                "canUseApiKeys": true,
                "canUseAuthTokens": true,
                "canUseConsolePassword": true,
                "canUseCustomerSecretKeys": true,
                "canUseOAuth2ClientCredentials": true,
                "canUseSmtpCredentials": true,
                "canUseDbCredentials": true
            }
        },
        {
            "idcsCreatedBy": {
                "type": "User",
                "display": "joel@example.com",
                "value": "OCI User",
                "ocid": "<user-ocid>",
                "$ref": "https://<domainURL>/admin/v1/Users/OCI User"
            },
            "id": "<user-id>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
                "isFederatedUser": false
            },
            "meta": {
                "created": "2023-07-19T18:23:28.381Z",
                "lastModified": "2023-08-09T16:22:41.590Z",
                "version": "0ecbeddb823247d8a24a67739b006892",
                "resourceType": "User",
                "location": "https://<domainURL>/admin/v1/Users/<user-id>"
            },
            "active": true,
            "displayName": "Dennis",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:mfa:User": {
                "preferredDevice": {
                    "value": "<device-id>",
                    "$ref": "https://<domainURL>/admin/v1/Devices/<device-id>"
                },
                "loginAttempts": 0,
                "mfaStatus": "ENROLLED",
                "preferredAuthenticationFactor": "PUSH"
            },
            "idcsLastModifiedBy": {
                "value": "<app-id>",
                "display": "idcssso",
                "ocid": "<app-ocid>",
                "type": "App",
                "$ref": "https://<domainURL>/admin/v1/Apps/<app-id>"
            },
            "name": {
                "givenName": "Dennis",
                "familyName": "",
                "formatted": "Dennis"
            },
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
                "locked": {
                    "on": false
                }
            },
            "ocid": "<user-ocid>",
            "userName": "dennis@example.com",
            "emails": [
                {
                    "secondary": false,
                    "verified": true,
                    "type": "recovery",
                    "primary": false,
                    "value": "dennis@example.com"
                },
                {
                    "secondary": false,
                    "verified": true,
                    "type": "work",
                    "primary": true,
                    "value": "dennis@example.com"
                }
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:mfa:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
            ],
            "domainOcid": "<domain-ocid>",
            "compartmentOcid": "<compartment-ocid>",
            "tenancyOcid": "<tenancy-ocid>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
                "canUseApiKeys": true,
                "canUseAuthTokens": true,
                "canUseConsolePassword": true,
                "canUseCustomerSecretKeys": true,
                "canUseOAuth2ClientCredentials": true,
                "canUseSmtpCredentials": true,
                "canUseDbCredentials": true
            }
        },
        {
            "idcsCreatedBy": {
                "type": "User",
                "display": "colin.torretta@oracle.com",
                "value": "OCI User",
                "ocid": "<user-ocid>",
                "$ref": "https://<domainURL>/admin/v1/Users/OCI User"
            },
            "id": "<user-id>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User": {
                "isFederatedUser": false
            },
            "meta": {
                "created": "2023-08-21T22:36:22.978Z",
                "lastModified": "2023-08-22T03:00:22.934Z",
                "version": "d91908a80bb44ea8bc23e063b42a5e1b",
                "resourceType": "User",
                "location": "https://<domainURL>/admin/v1/Users/<user-id>"
            },
            "active": true,
            "displayName": "Diane",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:mfa:User": {
                "preferredDevice": {
                    "value": "<device-id>",
                    "$ref": "https://<domainURL>/admin/v1/Devices/<device-id>"
                },
                "mfaStatus": "ENROLLED",
                "preferredAuthenticationFactor": "TOTP"
            },
            "idcsLastModifiedBy": {
                "value": "<app-id>",
                "display": "idcssso",
                "ocid": "<app-ocid>",
                "type": "App",
                "$ref": "https://<domainURL>/admin/v1/Apps/<app-id>"
            },
            "name": {
                "givenName": "Diane",
                "familyName": "",
                "formatted": "Diane"
            },
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
                "locked": {
                    "on": false
                }
            },
            "ocid": "<user-ocid>",
            "userName": "diane@example.com",
            "emails": [
                {
                    "secondary": false,
                    "verified": true,
                    "type": "recovery",
                    "primary": false,
                    "value": "diane@example.com"
                },
                {
                    "secondary": false,
                    "verified": true,
                    "type": "work",
                    "primary": true,
                    "value": "diane@example.com"
                }
            ],
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:mfa:User",
                "urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User"
            ],
            "domainOcid": "<domain-ocid>",
            "compartmentOcid": "<compartment-ocid>",
            "tenancyOcid": "<tenancy-ocid>",
            "urn:ietf:params:scim:schemas:oracle:idcs:extension:capabilities:User": {
                "canUseApiKeys": true,
                "canUseAuthTokens": true,
                "canUseConsolePassword": true,
                "canUseCustomerSecretKeys": true,
                "canUseOAuth2ClientCredentials": true,
                "canUseSmtpCredentials": true,
                "canUseDbCredentials": true
            }
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 50
}

エラー時の単純なレスポンス本文

エラー時および成功時は、レスポンス本文はJSONです。すべてのアイデンティティ・ドメインのREST APIエラー・レスポンスの形式は似ています。この例は、無効なリクエストについてステータス・コードと例外メッセージが記述された単純な例外です。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:Error"
  ],
  "detail": "Request failed: HTTP 400 Bad Request.",
  "status": "400"
}

検証例外のレスポンス例

この例は、一部の必須属性が欠落している検証例外です。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:Error",
    "urn:ietf:params:scim:api:oracle:idcs:extension:messages:Error"
  ],
  "detail": "Missing required attribute(s): mappingAttributeValue,password.",
  "status": "400",
  "urn:ietf:params:scim:api:oracle:idcs:extension:messages:Error": {
    "messageId": "error.common.validation.missingReqAttributes"
  }
}

機能例外のレスポンス例

この例は、詳細が追加されている機能例外です。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:Error",
    "urn:ietf:params:scim:api:oracle:idcs:extension:messages:Error"
  ],
  "detail": "INVALID_CREDENTIALS",
  "status": "400",
  "urn:ietf:params:scim:api:oracle:idcs:extension:messages:Error": {
    "additionalData": {
      "csr": false,
      "tenantName": "TENANT1",
      "id": "<tenancy-id>",
      "displayName": "Jane Smith",
      "locale": "en",
      "preferredLanguage": "en",
      "timezone": "America/Chicago"
    }
  }
}

ECIDおよびRID HTTPヘッダーを使用した動的モニタリング

動的モニタリングは、HTTPリクエストを一意に識別してシステム内のフローを追跡できるメカニズムです。

リクエストの遂行に含まれる、連携しているアイデンティティ・ドメイン・コンポーネントの間でコンテキスト情報を通信できる手段も提供します。実行コンテキストID (ECID)およびリレーションシップID (RID)は、サービス間のイベントの順序を追跡する場合に役立ちます。

  • ECID: 一意の識別子。ECIDは、新しいルート・タスクごとに一意です。この番号は、ルート・タスクに関連付けられたタスクのツリー間で共有される番号と同じになります。

  • RID: リレーションシップ識別子。RIDは、タスクのツリーで各タスクの場所を示す順序付けされた数値の集合です。通常、先頭の数字はゼロで、サブタスクが追加されるたびに数字が増加します。

X-ORACLE-DMS-ECIDおよびX-ORACLE-DMS-RID HTTPヘッダーは、アイデンティティ・ドメインからのRESTレスポンスの一部として返されます。これらのHTTPヘッダーは、リクエストのECIDおよびRIDに対応します。これらのヘッダーの値は、レスポンスを返すときにアイデンティティ・ドメインによって設定されます。コール元はECIDおよびRIDを使用して、アイデンティティ・ドメインから発生したイベントで開始されたリクエストを追跡し、関連付けることができます。

たとえば、クライアント側のイベントをサーバー側のエラーに関連付けることが重要であるため、クライアントはこれらの値をエラー・メッセージの一部として含めることができます。ロギングのOracle標準形式には、ECID専用フィールドが含まれます。エラー・レベルのログ・メッセージからの読込みなどでECIDを確認した後、そのECIDを含むメッセージのログ・ファイルを問い合せて、タスクに関連する他のすべてのログ・メッセージを検索できます。

アイデンティティ・ドメインの「診断データ」レポートを使用して、診断のために取得されたロギング・データを表示します。レポートでECIDおよびRIDを検索し、それらの識別子を、アプリケーションによるアイデンティティ・ドメインRESTコールによって返されるECIDおよびRIDに関連付けることができます。診断データ・レポートの実行を参照してください。

動的モニタリングの例

この項では、次の例について説明します:
  • /Usersエンドポイントに対するPOSTリクエスト。

  • /UsersエンドポイントでPOSTを実行した結果のcURLコマンド・ヘッダー。

  • ユーザーを作成するためにサーバーで使用されたものとECIDが同じであることを示す、/AuditEventsエンドポイントに対するGETの戻りレスポンス。

  • /UsersエンドポイントでPOSTリクエストが実行されたときに生成された診断レポートのセクション。

/UsersへのPOSTリクエスト

curl -X POST -D dumpedHeadersPostUsers.txt
http://<domainURL>/admin/v1/Users
-H 'Authorization: Bearer eyJ4NXQjUzI....poYw'
-H 'Cache-Control: no-cache'
-H 'Content-Type: application/json'
-d '{
   "schemas": [ 
    "urn:ietf:params:scim:schemas:core:2.0:User"
   ],
   "name": {
 	"givenName": "Clarence",
 	"familyName": "Saladna"
   },
   "userName": "csaladna@example.com",
   "emails": [
 	{
 	  "value": "csaladna@example.com",
 	  "type": "work",
 	  "primary": true
 	},
 	{
 	  "value": "csaladna1@example.com",
 	  "primary": false,
 	  "type": "recovery" 
	}
   ]
 }'

レスポンスのcURLコマンド・ヘッダー

HTTP/1.1 201 Created
Date: Thu, 04 Jan 2018 12:57:37 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 1227
Proxy-Connection: Keep-Alive
X-ORACLE-DMS-RID: 0
X-ORACLE-DMS-ECID: 0000M31FtLAFo2H6yvR_6G1QJ7Wl0000K

/AuditEventsへのGETリクエストに対するレスポンス

ノート:この例では、ユーザーを作成するためにサーバーによって使用されたものとECIDが同じです。

リクエスト
http://<domainURL>/admin/v1/AuditEvents?filter=actorName sw "adm" and ecId eq "0000M31FtLAFo2H6yvR_6G1QJ7Wl0000K^"

レスポンス

{
  "schemas": [
    "urn:scim:api:messages:2.0:ListResponse"
  ],
  "totalResults": 1,
  "Resources": [
    {
      "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "<user-id>",
        "$ref": "https://<domainURL>/admin/v1/Users/<user-id>"
      },
      "actorName": "admin@oracle.com",
      "id": "2a02fb8bc9a548edb21fe1c80ff6ada0",
      "actorDisplayName": "admin opc",
      "meta": {
        "created": "2024-01-04T12:57:46.314Z",
        "lastModified": "2024-01-04T12:57:46.314Z",
        "resourceType": "AuditEvent",
        "location": "https://<domainURL>/admin/v1/AuditEvents/2a02fb8bc9a548edb21fe1c80ff6ada0"
      },
      "actorId": "<user-id>",
      "adminResourceId": "a06ff8169b3640a29792a15ece75c906",
      "adminResourceName": "csaladna@example.com",
      "timestamp": "2024-01-04T12:57:46.312Z",
      "idcsLastModifiedBy": {
        "value": "<user-id>",
        "display": "admin opc",
        "type": "User",
        "$ref": "https://<domainURL>/admin/v1/Users/<user-id>"
      },
      "quotaCount": 0,
      "ecId": "0000M31FtLAFo2H6yvR_6G1QJ7Wl0000K^",
      "rId": "0",
      "eventId": "admin.user.create.success",
      "ssoAuthnLevel": 0,
      "adminResourceType": "User",
      "actorType": "User",
      "serviceName": "Admin",
      "adminValuesAdded": "{\"schemas\":[\"urn:ietf:params:scim:schemas:core:2.0:User\"],\"name\":{\"familyName\":\"Saladna\",\"givenName\":\"Clarence\",\"formatted\":\"Clarence Saladna\"},\"userName\":\"csaladna@example.com\",\"emails\":[{\"value\":\"csaladna@example.com\",\"primary\":\"true\",\"type\":\"work\",\"verified\":\"false\"},{\"value\":\"csaladna@example.com\",\"primary\":\"false\",\"type\":\"recovery\",\"verified\":\"false\"}],\"id\":\"a06ff8169b3640a29792a15ece75c906\",\"displayName\":\"Clarence Saladna\",\"urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User\":{\"status\":\"verified\"},\"active\":\"true\",\"password\":\"*********\",\"urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User\":{\"mustChange\":\"true\",\"lastSuccessfulSetDate\":\"2024-01-04T12:57:37.940Z\",\"cantChange\":\"false\",\"expired\":\"false\",\"passwordHistory\":[{\"sequenceNumber\":\"1\",\"value\":\"*********\"}]},\"urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User\":{\"locked\":{\"on\":\"false\"},\"loginAttempts\":\"0\"},\"meta\":{\"created\":\"2024-01-04T12:57:37.951Z\",\"lastModified\":\"2024-01-04T12:57:37.951Z\"},\"idcsCreatedBy\":{\"value\":\"<user-id>\",\"type\":\"User\",\"display\":\"admin opc\"},\"idcsLastModifiedBy\":{\"value\":\"<user-id>\",\"type\":\"User\",\"display\":\"admin opc\"}}",
      "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:AuditEvent"
      ]
    }
  ],
  "startIndex": 1,
  "itemsPerPage": 50
}

診断レポートのサンプル

これは診断レポートのサンプルです。