Workbench policies
Control and approve workbench tool calls with Rego guardrails
Workbench policies evaluate each matching tool call made by a workbench agent. They extend Plural RBAC and tool permissions with authorization rules that understand the current actor, the requested tool, and its arguments.
Workbench policies use the plrl.wb.admission Rego package.
Info:
A policy cannot make an unavailable tool accessible or grant permissions the actor does not already have. It adds guardrails to the existing workbench authorization model.
Supported input
Field | Description |
|---|---|
input.tool_name | Name of the tool being called |
input.tool | Arguments supplied to the tool, represented as an object |
input.actor | Current user, including id, name, email, and a groups array when available |
The shape of input.tool depends on the tool. For example, a Kubernetes operation can include a namespace, while a logging tool can include an index and query. Select a past evaluation in the policy simulator to inspect the real input for a tool before writing rules against it.
Decisions
A workbench policy can produce:
deny[{"msg": "..."}]: block the tool call and return the denial messageapprove[{"reason": "..."}]: automatically approve a tool that supports approval and record the reason
A denial takes precedence when multiple rules or attached policies produce decisions. If no rule produces a decision, the tool continues through its normal authorization and approval path.