監査

概要

監査インターフェースは以下の3つの要素で構成されます。

注記:すべてのPUT / POSTリクエストに対して「accept」ヘッダーを使用する必要があります。そうでない場合は、空の応答本体が返されます。

監査情報

監査API

監査記録 [application/vnd.com.nsn.cumulocity.auditApi+json]

名称 タイプ 発生回数 説明
self URL 1 このリソースへのリンク
auditRecords AuditRecordCollection 1 すべての監査記録のコレクション
auditRecordsForType AuditRecordCollection URI template 1 特定のタイプに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {type})
auditRecordsForUser AuditRecordCollection URI template 1 特定のユーザーに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {user})
auditRecordsForApplication AuditRecordCollection URI template 1 特定のアプリケーションに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {application})
auditRecordsForUserAndType AuditRecordCollection URI template 1 特定のユーザーおよびタイプの監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {user} と {type})
auditRecords    ForUserAndApplication AuditRecordCollection URI template 1 特定のユーザーおよびアプリケーションに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {user} と {application})
auditRecords    ForTypeAndApplication AuditRecordCollection URI template 1 特定のタイプおよびアプリケーションに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {type} と {application})
auditRecords    ForTypeAndUserAndApplication AuditRecordCollection URI template 1 特定のタイプ、ユーザーおよびアプリケーションに関する監査記録すべてから成る読み取り専用コレクション (プレイスホルダー {type}、{user}、{application})

GET - 監査APIリソースの取得

応答本体: application/vnd.com.nsn.cumulocity.auditApi+json

要求されるロール: ROLE_AUDIT_READ

リクエスト例: 監査APIリソースを読み出す

GET /audit
Host: ...
Authorization: Basic ...

応答例:

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.auditApi+json;ver=...
Content-Length: ...

{
  "self" : "<<AuditAPI URL>>",
  "auditRecords" : { "self" :"<<AuditCollection URL>>" },
  "auditRecordsForType" : "<<AuditCollection URL>>?type={type}",
  "auditRecordsForUser" : "<<AuditCollection URL>>?user={user}",
  "auditRecordsForApplication" : "<<AuditCollection URL>>?application={application}",
  "auditRecordsForUserAndType" : "<<AuditCollection URL>>?user={user}&type={type}",
  "auditRecordsForUserAndApplication" : "<<AuditCollection URL>>?user={user}&application={application}",
  "auditRecordsForTypeAndApplication" : "<<AuditCollection URL>>?type={type}&application={application}",
  "auditRecordsForTypeAndUserAndApplication" : "<<AuditCollection URL>>?type={type}&user={user}&application={application}"
}

監査記録コレクション

監査記録コレクション [application/vnd.com.nsn.cumulocity.auditRecordCollection+json]

名称 タイプ 発生回数 説明
self URI 1 このリソースへのリンク
auditRecords AuditRecord 0..n 監査記録のリスト(下記参照)
statistics PagingStatistics 1 ページング統計に関する情報
prev URI 0..1 監査記録の潜在的な前のページへのリンク
next URI 0..1 監査記録の潜在的な次のページへのリンク

監査記録の「ソース」オブジェクトは「id」および「self」のプロパティを含みます。

POST - 新規監査記録の作成

リクエスト本体: AuditRecord

応答本体: AuditRecord

要求されるロール: ROLE_AUDIT_ADMIN

リクエスト例:

POST /audit/auditRecords
Host: ...
Authorization: Basic ...
Content-Length: ...
Content-Type: application/vnd.com.nsn.cumulocity.auditRecord+json;ver=...
{
  "type" : "com_cumulocity_audit_LoginFailure",
  "time" : "2011-09-06T12:03:27.845Z",
  "text" : "Login failed after 3 attempts.",
  "user" : "Spock",
  "application" : "Omniscape",
  "activity" : "login",
  "severity" : "warning"
}

応答例:

HTTP/1.1 201 Created
Content-Type: application/vnd.com.nsn.cumulocity.auditRecord+json;ver=...
Content-Length: ...
Location: <<URL of new audit record>>
{
  "id" : "123",
  "self" : "<<URL of new audit record>>",
  "creationTime" : "2011-09-06T12:03:27.927Z",
  "type" : "com_cumulocity_audit_LoginFailure",
  "time" : "2011-09-06T12:03:27.845Z",
  "text" : "Login failed after 3 attempts.",
  "user" : "Spock",
  "application" : "Omniscape",
  "activity" : "login",
  "severity" : "warning"
}

新規監査記録の「id」と「creationTime」はサーバーによって生成され、応答においてPOSTオペレーションへ返されます。

GET - 監査記録の取得

応答本体: AuditRecordCollection

要求されるロール: ROLE_AUDIT_READ

リクエスト例: 特定の監査記録の取得

GET /audit/auditRecords
Host: ...
Authorization: Basic ...
Accept: application/vnd.com.nsn.cumulocity.auditRecordCollection+json;

応答例:

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.auditRecordCollection+json;ver=...
Content-Length: ...
{
  "self" : "",
  "auditRecords" : [
    {
      "id" : "123",
      "self" : "<<AuditRecord 123 URL>>",
      "creationTime" : "2011-09-06T12:03:27.927Z",
      "type" : "com_cumulocity_audit_LoginFailure",
      "time" : "2011-09-06T12:03:27.845Z",
      "text" : "Login failed after 3 attempts.",
      "user" : "Spock",
      "application" : "Omniscape",
      "activity" : "login",
      "severity" : "warning"
    }
  ],
  "statistics" : {
    "totalPages" : 3,
    "pageSize" : 5,
    "currentPage" : 1
  }
}

監査ログAPIに対して範囲のクエリ、例えばdateFromおよびdateToによるクエリを実行する場合、監査記録はデフォルトで新しいものから順に返されます。

クエリパラメータ「revert=false」をリクエストURLに追加することで、順序を変えることが可能です。 リクエスト例は次の通りになります: “«url»/audit/auditRecords?dateFrom=2019-09-01&dateTo=2019-09-06T08:26:42%2B02:00&revert=false”.

DELETE - 監査記録コレクションの削除

DELETEメソッドは監査記録コレクションの削除を可能にします。適用可能なクエリパラメータはGET手法と同じです。

リクエスト本体: N/A

応答本体: N/A

要求されるロール: ROLE_AUDIT_ADMIN

リクエスト例:

 DELETE: /audit/auditRecords ....
 Host: ...
 Authorization: Basic ...

応答例:

HTTP/1.1  204 NO CONTENT

注記: このメソッドは廃止されており、2020年7月のリリース(10.6.6)で完全に削除されます。 Things Cloud IoT 10.6.6以降では、監査ログの削除は許可されなくなります。 監査APIへのすべてのDELETE要求は、エラー「405 Method not allowed」を返します。 なお、保持ルールは引き続き監査ログに適用され、指定された保持時間よりも古い監査ログ記録は削除されます。

監査記録

監査記録 [application/vnd.com.nsn.cumulocity.auditRecord+json]

名称 タイプ 発生回数 説明 PUT/POST
id String 1 この監査記録を固有に識別します なし
self URI 1 このリソースへのリンク なし
creationTime String 1 監査記録がデータベース内で作成された時間 なし
type String 1 この監査記録のタイプを識別します。 POST: 必須 PUT: なし
time String 1 監査記録の時間 POST: 必須 PUT: なし
text String 1 監査記録を説明するテキスト POST: 必須 PUT: なし
source ManagedObject 1 監査記録の発生源となった任意選択的マネージドオブジェクト。オブジェクトは「id」および「self」のプロパティを含みます POST: 必須 PUT: なし
user String 1 監査対象アクションに責任を負うユーザー 任意
application String 1 監査対象アクションの実行に使用されたアプリケーション 任意
activity String 1 行われたアクション POST: 必須 PUT: 任意
severity String 1 アクションの重大度:極めて重大(“critical”)、重大(“major”)、軽微(“minor”)、警告(“warning”) POST: 必須 PUT: 任意
changes Set 0..1 実施された変更を表わすオブジェクトから成る任意のコレクション なし
* Object 0..n 監査記録の付加的プロパティ 任意

注記:ソース(“source”)はマネージドオブジェクトの「id」と「self」を保持するだけでなく、「オペレーション」タイプの場合は「operation id」、「アラーム」タイプの場合は「alarm Id」も保持します。このような場合、ソース内の"self"が示すリンクは正しくありませんが、ソースからManagedObjectを取得したいクライアントを壊さないように保持されます。

GET - 監査記録の取得

応答本体: AuditRecord

要求されるロール: ROLE_AUDIT_READ

リクエスト例: 特定の監査記録を取得する

GET /audit/auditRecords/<<recordId>>
Host: ...
Authorization: Basic ...
Accept: application/vnd.com.nsn.cumulocity.auditRecord+json;

応答例:

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.auditRecord+json;ver=...
Content-Length: ...
 
{
  "id" : "123",
  "self" : "<<AuditRecord URL>>",
  "creationTime" : "2011-09-06T12:03:27.927Z",
  "type" : "com_cumulocity_audit_LoginFailure",
  "time" : "2011-09-06T12:03:27.845Z",
  "text" : "Login failed after 3 attempts.",
  "user" : "Spock",
  "application" : "Omniscape",
  "activity" : "login",
  "severity" : "warning"
}