mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add workspace agent connect and app open audit types (#16493)
This commit adds new audit resource types for workspace agents and workspace apps, as well as connect/disconnect and open/close actions. The idea is that we will log new audit events for connecting to the agent via SSH/editor. Likewise, we will log openings of `coder_app`s. This change also introduces support for filtering by `request_id`. Updates #15139
This commit is contained in:
@@ -27,6 +27,8 @@ var AuditActionMap = map[string][]codersdk.AuditAction{
|
||||
"Group": {codersdk.AuditActionCreate, codersdk.AuditActionWrite, codersdk.AuditActionDelete},
|
||||
"APIKey": {codersdk.AuditActionLogin, codersdk.AuditActionLogout, codersdk.AuditActionRegister, codersdk.AuditActionCreate, codersdk.AuditActionDelete},
|
||||
"License": {codersdk.AuditActionCreate, codersdk.AuditActionDelete},
|
||||
"WorkspaceAgent": {codersdk.AuditActionConnect, codersdk.AuditActionDisconnect},
|
||||
"WorkspaceApp": {codersdk.AuditActionOpen, codersdk.AuditActionClose},
|
||||
}
|
||||
|
||||
type Action string
|
||||
@@ -307,6 +309,59 @@ var auditableResourcesTypes = map[any]map[string]Action{
|
||||
"field": ActionTrack,
|
||||
"mapping": ActionTrack,
|
||||
},
|
||||
&database.WorkspaceAgent{}: {
|
||||
"id": ActionIgnore,
|
||||
"created_at": ActionIgnore,
|
||||
"updated_at": ActionIgnore,
|
||||
"name": ActionIgnore,
|
||||
"first_connected_at": ActionIgnore,
|
||||
"last_connected_at": ActionIgnore,
|
||||
"disconnected_at": ActionIgnore,
|
||||
"resource_id": ActionIgnore,
|
||||
"auth_token": ActionIgnore,
|
||||
"auth_instance_id": ActionIgnore,
|
||||
"architecture": ActionIgnore,
|
||||
"environment_variables": ActionIgnore,
|
||||
"operating_system": ActionIgnore,
|
||||
"instance_metadata": ActionIgnore,
|
||||
"resource_metadata": ActionIgnore,
|
||||
"directory": ActionIgnore,
|
||||
"version": ActionIgnore,
|
||||
"last_connected_replica_id": ActionIgnore,
|
||||
"connection_timeout_seconds": ActionIgnore,
|
||||
"troubleshooting_url": ActionIgnore,
|
||||
"motd_file": ActionIgnore,
|
||||
"lifecycle_state": ActionIgnore,
|
||||
"expanded_directory": ActionIgnore,
|
||||
"logs_length": ActionIgnore,
|
||||
"logs_overflowed": ActionIgnore,
|
||||
"started_at": ActionIgnore,
|
||||
"ready_at": ActionIgnore,
|
||||
"subsystems": ActionIgnore,
|
||||
"display_apps": ActionIgnore,
|
||||
"api_version": ActionIgnore,
|
||||
"display_order": ActionIgnore,
|
||||
},
|
||||
&database.WorkspaceApp{}: {
|
||||
"id": ActionIgnore,
|
||||
"created_at": ActionIgnore,
|
||||
"agent_id": ActionIgnore,
|
||||
"display_name": ActionIgnore,
|
||||
"icon": ActionIgnore,
|
||||
"command": ActionIgnore,
|
||||
"url": ActionIgnore,
|
||||
"healthcheck_url": ActionIgnore,
|
||||
"healthcheck_interval": ActionIgnore,
|
||||
"healthcheck_threshold": ActionIgnore,
|
||||
"health": ActionIgnore,
|
||||
"subdomain": ActionIgnore,
|
||||
"sharing_level": ActionIgnore,
|
||||
"slug": ActionIgnore,
|
||||
"external": ActionIgnore,
|
||||
"display_order": ActionIgnore,
|
||||
"hidden": ActionIgnore,
|
||||
"open_in": ActionIgnore,
|
||||
},
|
||||
}
|
||||
|
||||
// auditMap converts a map of struct pointers to a map of struct names as
|
||||
|
||||
Reference in New Issue
Block a user