Audit and meter public debug operations
This commit is contained in:
parent
0b14889c79
commit
28779a2866
5 changed files with 211 additions and 10 deletions
|
|
@ -1525,6 +1525,16 @@ fn debug_attach_report_with_dap(args: DebugAttachArgs, dap: String) -> Result<Va
|
|||
.cloned()
|
||||
.unwrap_or_else(|| json!(false)),
|
||||
"authorization": authorization,
|
||||
"audit_event": response.get("audit_event").cloned().unwrap_or(Value::Null),
|
||||
"charged_debug_read_bytes": response
|
||||
.get("charged_debug_read_bytes")
|
||||
.cloned()
|
||||
.unwrap_or_else(|| json!(0)),
|
||||
"used_debug_read_bytes": response
|
||||
.get("used_debug_read_bytes")
|
||||
.cloned()
|
||||
.unwrap_or_else(|| json!(0)),
|
||||
"debug_reads_quota_limited": true,
|
||||
"private_website_required": false,
|
||||
"coordinator_session_requests": session.requests(),
|
||||
}));
|
||||
|
|
@ -1537,6 +1547,7 @@ fn debug_attach_report_with_dap(args: DebugAttachArgs, dap: String) -> Result<Va
|
|||
"project": args.scope.project,
|
||||
"dap": dap,
|
||||
"authorized": "unknown_without_coordinator",
|
||||
"debug_reads_quota_limited": "unknown_without_coordinator",
|
||||
"private_website_required": false,
|
||||
}))
|
||||
}
|
||||
|
|
@ -2688,6 +2699,16 @@ fn task_restart_request_summary(response: &Value, requires_confirmation: bool) -
|
|||
.cloned()
|
||||
.unwrap_or_else(|| json!(true)),
|
||||
"message": response.get("message").cloned().unwrap_or(Value::Null),
|
||||
"audit_event": response.get("audit_event").cloned().unwrap_or(Value::Null),
|
||||
"charged_debug_read_bytes": response
|
||||
.get("charged_debug_read_bytes")
|
||||
.cloned()
|
||||
.unwrap_or_else(|| json!(0)),
|
||||
"used_debug_read_bytes": response
|
||||
.get("used_debug_read_bytes")
|
||||
.cloned()
|
||||
.unwrap_or_else(|| json!(0)),
|
||||
"debug_reads_quota_limited": true,
|
||||
"website_required": false,
|
||||
})
|
||||
}
|
||||
|
|
@ -4744,7 +4765,7 @@ mod tests {
|
|||
assert!(line.contains(r#""process":"vp""#));
|
||||
stream
|
||||
.write_all(
|
||||
br#"{"type":"debug_attach","process":"vp","actor":"user","authorization":{"allowed":true,"reason":"debug attach authorized for project"}}"#,
|
||||
br#"{"type":"debug_attach","process":"vp","actor":"user","authorization":{"allowed":true,"reason":"debug attach authorized for project"},"audit_event":{"tenant":"tenant","project":"project","process":"vp","task":null,"actor":"user","operation":"debug_attach","allowed":true,"reason":"debug attach authorized for project","charged_debug_read_bytes":1024,"used_debug_read_bytes":1024},"charged_debug_read_bytes":1024,"used_debug_read_bytes":1024}"#,
|
||||
)
|
||||
.unwrap();
|
||||
stream.write_all(b"\n").unwrap();
|
||||
|
|
@ -4773,6 +4794,10 @@ mod tests {
|
|||
report["authorization"]["reason"],
|
||||
"debug attach authorized for project"
|
||||
);
|
||||
assert_eq!(report["audit_event"]["operation"], "debug_attach");
|
||||
assert_eq!(report["charged_debug_read_bytes"], 1024);
|
||||
assert_eq!(report["used_debug_read_bytes"], 1024);
|
||||
assert_eq!(report["debug_reads_quota_limited"], true);
|
||||
assert_eq!(report["private_website_required"], false);
|
||||
}
|
||||
|
||||
|
|
@ -5309,7 +5334,7 @@ mod tests {
|
|||
assert!(line.contains(r#""task":"compile-linux""#));
|
||||
stream
|
||||
.write_all(
|
||||
br#"{"type":"task_restart","process":"vp","task":"compile-linux","actor":"user","accepted":false,"clean_boundary_available":false,"active_task":true,"completed_event_observed":false,"requires_whole_process_restart":true,"message":"selected task is still active; clean task restart requires a captured checkpoint boundary"}"#,
|
||||
br#"{"type":"task_restart","process":"vp","task":"compile-linux","actor":"user","accepted":false,"clean_boundary_available":false,"active_task":true,"completed_event_observed":false,"requires_whole_process_restart":true,"message":"selected task is still active; clean task restart requires a captured checkpoint boundary","audit_event":{"tenant":"tenant","project":"project","process":"vp","task":"compile-linux","actor":"user","operation":"restart_task","allowed":true,"reason":"selected task is still active; clean task restart requires a captured checkpoint boundary","charged_debug_read_bytes":1024,"used_debug_read_bytes":1024},"charged_debug_read_bytes":1024,"used_debug_read_bytes":1024}"#,
|
||||
)
|
||||
.unwrap();
|
||||
stream.write_all(b"\n").unwrap();
|
||||
|
|
@ -5342,6 +5367,13 @@ mod tests {
|
|||
true
|
||||
);
|
||||
assert_eq!(report["restart_request"]["active_task"], true);
|
||||
assert_eq!(
|
||||
report["restart_request"]["audit_event"]["operation"],
|
||||
"restart_task"
|
||||
);
|
||||
assert_eq!(report["restart_request"]["charged_debug_read_bytes"], 1024);
|
||||
assert_eq!(report["restart_request"]["used_debug_read_bytes"], 1024);
|
||||
assert_eq!(report["restart_request"]["debug_reads_quota_limited"], true);
|
||||
assert_eq!(report["restart_request"]["website_required"], false);
|
||||
assert_eq!(report["coordinator_session_requests"], 1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue