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 createdDEPLOY
: When a scheme is deployed to a target levelUNDEPLOY
: When a scheme is undeployed from a target level
Camera Settings
- Resource:
CAMERA_SETTINGS
- Actions:
ADD
: When new camera settings are added to a schemeUPDATE
: When existing camera settings are modifiedREMOVE
: When camera settings are removed from a scheme
Trigger Management
- Resource:
TRIGGER
- Actions:
ADD
: When a trigger is associated with a schemeREMOVE
: When a trigger is removed from a scheme
Firmware Management
- Resource:
FIRMWARE
- Actions:
ADD
: When firmware is added to a schemeREMOVE
: 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 targetschemeName
: Name of the scheme
-
For camera settings:
cameraSettingKey
: Identifier of the camera settingschemeName
: Name of the scheme
-
For trigger/firmware operations:
triggerName
/firmwareName
: Name of the added/removed componenttriggerCategoryName
: Category of the trigger (for trigger operations)schemeName
: Name of the scheme