Audit Logs for Schemes

The scheme audit log system tracks all changes and operations performed on schemes, their settings, and associated components. It provides a comprehensive audit trail for:

  • Scheme lifecycle events (creation, deployment, undeployment)
  • Camera settings modifications within schemes
  • Trigger associations and removals
  • Firmware additions and removals

Each audit entry captures detailed information about the action performed, including:

  • Who performed the action (user or API key)
  • When it was performed (timestamp)
  • What exactly was changed (previous and new states)
  • Where it was applied (target level - tenant, group, or endpoint)
  • Specific components affected (camera settings, triggers, firmware)

This tracking ensures complete visibility into who changed what, when, and how, making it easy to troubleshoot issues and maintain security compliance.

Overview

Scheme audit logs track all modifications and deployments related to schemes, including camera settings changes, trigger associations, and firmware management. Each audit log entry captures the specific action, target level, and relevant configuration changes.

Auditable Resources and Actions

Scheme Management

  • Resource: SCHEME
  • Actions:
    • CREATE: When a new scheme is created
    • DEPLOY: When a scheme is deployed to a target level
    • UNDEPLOY: When a scheme is undeployed from a target level

Camera Settings

  • Resource: CAMERA_SETTINGS
  • Actions:
    • ADD: When new camera settings are added to a scheme
    • UPDATE: When existing camera settings are modified
    • REMOVE: When camera settings are removed from a scheme

Trigger Management

  • Resource: TRIGGER
  • Actions:
    • ADD: When a trigger is associated with a scheme
    • REMOVE: When a trigger is removed from a scheme

Firmware Management

  • Resource: FIRMWARE
  • Actions:
    • ADD: When firmware is added to a scheme
    • REMOVE: When firmware is removed from a scheme

Example Audit Log Entries

Scheme Deployment

{
    "auditableResource": "SCHEME",
    "auditableAction": "DEPLOY",
    "resourceName": "SchemeA",
    "additionalMetadata": "{
        \"tenantName\": \"TenantA\",
        \"targetLevel\": \"GROUP\",
        \"targetLevelName\": \"Group1\",
        \"schemeName\": \"SchemeA\"
    }"
}

Camera Settings Update

{
    "auditableResource": "CAMERA_SETTINGS",
    "auditableAction": "UPDATE",
    "resourceName": "brightness",
    "additionalMetadata": "{
        \"tenantName\": \"TenantA\",
        \"schemeName\": \"SchemeA\",
        \"cameraSettingKey\": \"brightness\"
    }",
    "previousState": "{\"value\": \"60\"}",
    "newState": "{\"value\": \"75\"}"
}

Trigger Association

{
    "auditableResource": "TRIGGER",
    "auditableAction": "ADD",
    "resourceName": "SchemeA",
    "additionalMetadata": "{
        \"tenantName\": \"TenantA\",
        \"schemeName\": \"SchemeA\",
        \"triggerName\": \"TriggerX\",
        \"triggerCategoryName\": \"Tailgating\"
    }"
}

Additional Metadata Details

The additionalMetadata field provides context-specific information:

  • For scheme deployment/undeployment:

    • targetLevel: Level of deployment (TENANT, GROUP, or ENDPOINT)
    • targetLevelName: Name of the specific target
    • schemeName: Name of the scheme
  • For camera settings:

    • cameraSettingKey: Identifier of the camera setting
    • schemeName: Name of the scheme
  • For trigger/firmware operations:

    • triggerName/firmwareName: Name of the added/removed component
    • triggerCategoryName: Category of the trigger (for trigger operations)
    • schemeName: Name of the scheme
Language
Credentials
Header
Click Try It! to start a request and see the response here!