Audit Events - cloudfoundry/cloud_controller_ng GitHub Wiki
Audit Events
This is an attempt to codify how audit events should ideally work. It is not representative of how audit events currently work in CC.
This applies only to audit events. It does not apply to usage events!
Product Description
An audit event shall be created:
- When the action represented by the event is attempted
- Regardless of whether the event was triggered directly by user action
- Regardless of whether the action succeeds or fails
- After authentication and authorization are checked
- After superficial validations are completed
- For async jobs, when work on the async job is started, not when it is requested
Engineering Implications:
- Audit events should be created in Action classes
- Audit events should be created before work is attempted in the action
- Audit events should not be created in transactions shared with other resources
Interesting case studies
app.crash
- Triggered by TPS watcher, not indicative of user action/ intent
audit.app.delete-request (and other audit.*.delete-request)
- Named "delete-request" instead of "delete"
audit.service.*
- Generally occurs when operation succeeds instead of when attempted
blob.remove_orphan
- Triggered by nightly job, non indicative of user action/ intent