Authorization is the second security layer in Argus MCP. After authentication identifies who the caller is, RBAC policies determine what they can do.
How It Works
Every MCP operation (tool call, prompt fetch, resource read) is evaluated against a set of policies. Each policy matches on role, resource type, resource name, and action, then returns allow or deny.
| Component | Purpose |
|---|---|
| Role | Assigned to authenticated identities (from JWT claims, OIDC groups, or config) |
| Resource | The target — tool:*, prompt:summarize, resource:data/* |
| Action | call, read, list, or * |
| Effect | allow or deny (deny takes precedence) |
Note:
For the full configuration reference including policy syntax, resource identifiers, evaluation logic, role sources, and examples, see Configuration — Authorization.
Common Patterns
- Admin-only tools: Allow
role: adminontool:*, deny all others - Read-only viewers: Allow
role: viewerwithaction: [read, list], denycall - Deny dangerous tools: Explicit
denyontool:exec,tool:shellfor all roles
Recommendations
- Start with a default-deny posture and explicitly allow needed operations
- Use the
denyeffect sparingly — it overrides allallowrules for the same resource - Monitor denied operations in the Audit log to detect misconfigured policies