Interface IAuditOversightService
Reading audit across every team. Requires a system audit:read grant.
public interface IAuditOversightService
Remarks
Separate from IAuditReadService because the two ask different questions of the same
scope name. A team grant is issued for one team; accepting it here would let a team administrator read
every team's log, which is the hole the Scope / SystemScope provenance split closed.
Registered with AddSystemService, so ScopeProxy requires the system grant and never
consults a team one. There is no argument naming a team, so there is nothing here for a team-bound
caller to aim at — the confinement is structural.
This mirrors ITeamManagementService / ITeamOversightService, which split for exactly the
same reason one level up.
Methods
QueryAllAsync(AuditQuery)
Audit entries across every team, newest first. A TeamKey on the query narrows the result as
a filter — the caller is authorized for all teams either way.
[RequireScope("audit:read")]
Task<AuditQueryResult> QueryAllAsync(AuditQuery query)
Parameters
queryAuditQuery