Owner
Complete organizational control
- User management and role assignment
- Billing and subscription management
- Integration configuration and management
- All incident and procedure permissions
- Organization settings and policies
Comprehensive role and permission management for secure, granular access control across your organization.
Overwatch provides five predefined roles with progressively increasing permissions:
Owner
Complete organizational control
Admin
Full administrative access (except billing)
Manager
Team leadership and oversight
Engineer
Standard operational access
Viewer
Read-only access
Permissions are organized by resource, action, and scope:
{ "incidents": { "actions": ["read", "create", "update", "delete", "assign"], "scopes": ["own", "team", "organization"] }, "procedures": { "actions": ["read", "create", "update", "delete", "execute", "approve"], "scopes": ["own", "team", "organization"] }, "analytics": { "actions": ["read", "export"], "scopes": ["personal", "team", "organization"] }, "settings": { "actions": ["read", "update"], "scopes": ["personal", "organization"] }, "users": { "actions": ["read", "create", "update", "delete", "manage"], "scopes": ["team", "organization"] }}Scope Levels:
| Scope | Description | Example |
|---|---|---|
| Own | Only resources created by the user | User can view/edit own incidents only |
| Team | Resources for users in same team | Manager can view team incidents |
| Organization | All resources in organization | Admin can view all incidents |
| Personal | User’s own profile and settings | User can edit own profile |
| Role | Read | Create | Update | Delete | Assign | Scope |
|---|---|---|---|---|---|---|
| Owner | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Admin | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Manager | ✅ | ✅ | ✅ | ✅ | ✅ | Team |
| Engineer | ✅ | ✅ | ✅ | ❌ | ❌ | Own |
| Viewer | ✅ | ❌ | ❌ | ❌ | ❌ | Org |
| Role | Read | Create | Update | Delete | Execute | Approve | Scope |
|---|---|---|---|---|---|---|---|
| Owner | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Admin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Manager | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Team |
| Engineer | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | Own |
| Viewer | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Org |
| Role | Read | Create | Update | Delete | Manage | Scope |
|---|---|---|---|---|---|---|
| Owner | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Admin | ✅ | ✅ | ✅ | ✅ | ✅ | Org |
| Manager | ✅ | ❌ | ❌ | ❌ | ❌ | Team |
| Engineer | ✅ | ❌ | ❌ | ❌ | ❌ | Team |
| Viewer | ❌ | ❌ | ❌ | ❌ | ❌ | - |
| Role | Read | Update | Billing | Integrations | API Keys |
|---|---|---|---|---|---|
| Owner | ✅ | ✅ | ✅ | ✅ | ✅ |
| Admin | ✅ | ✅ | ❌ | ✅ | ✅ |
| Manager | ✅ | ❌ | ❌ | ❌ | ❌ |
| Engineer | ✅ | ❌ | ❌ | ❌ | ❌ |
| Viewer | ❌ | ❌ | ❌ | ❌ | ❌ |
Access role configuration:
Dashboard → Organization → Settings → Roles & PermissionsDefine Role
Configure Permissions
Test Role
Deploy Role
DevOps Lead Role (custom role between Manager and Admin):
{ "role_name": "devops_lead", "display_name": "DevOps Lead", "description": "DevOps team lead with infrastructure permissions", "inherits_from": "manager", "permissions": { "incidents": { "actions": ["read", "create", "update", "delete", "assign"], "scope": "team" }, "procedures": { "actions": ["read", "create", "update", "delete", "execute", "approve"], "scope": "organization" }, "integrations": { "actions": ["read", "update"], "scope": "organization" }, "analytics": { "actions": ["read", "export"], "scope": "organization" } }, "conditions": { "time_based": false, "location_based": false, "approval_required": ["procedure.delete"] }}Custom roles can inherit from base roles:
Owner (all permissions) ↓ inheritsAdmin (all except billing) ↓ inheritsManager (team management) ↓ inheritsDevOps Lead (custom) ↓ inheritsEngineer (standard operations) ↓ inheritsViewer (read-only)Inheritance Rules:
Apply permissions based on context:
Time-Based Access:
{ "permission": "incidents.delete", "condition": { "type": "time_based", "allowed_hours": { "start": "09:00", "end": "17:00", "timezone": "America/New_York", "days": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] } }}Location-Based Restrictions:
{ "permission": "settings.update", "condition": { "type": "ip_whitelist", "allowed_ips": ["10.0.0.0/8", "172.16.0.0/12"] }}Device-Based Limitations:
{ "permission": "api_keys.create", "condition": { "type": "device_based", "require_mfa": true, "allowed_devices": "registered_only" }}Configure multi-step approval for sensitive actions:
Dashboard → Organization → Settings → Approval WorkflowsWorkflow Configuration:
{ "workflows": [ { "name": "Procedure Approval", "trigger": "procedure.execute", "conditions": { "severity": ["critical", "high"], "production": true }, "approvers": [ { "role": "manager", "required": 1 }, { "role": "owner", "required": 1, "when": "severity == 'critical'" } ], "timeout_hours": 24, "escalation": { "enabled": true, "escalate_after_hours": 4, "escalate_to": "owner" } } ]}Approval Process:
Grant temporary elevated permissions:
Dashboard → Organization → Team → [User] → Temporary AccessUse Cases:
Configuration:
{ "user_id": "uuid", "temporary_role": "admin", "start_time": "2025-10-15T00:00:00Z", "end_time": "2025-10-22T00:00:00Z", "reason": "On-call rotation coverage", "auto_revoke": true, "notification": { "on_grant": true, "on_revoke": true, "daily_reminder": true }}All permission changes are automatically logged:
Dashboard → Organization → Audit → Permission ChangesLogged Events:
Audit Log Format:
{ "timestamp": "2025-10-15T10:30:00Z", "event_type": "role.assigned", "actor": { "user_id": "admin-uuid", "email": "admin@company.com" }, "target": { "user_id": "user-uuid", "email": "user@company.com" }, "details": { "previous_role": "engineer", "new_role": "manager", "reason": "Promotion to team lead" }}Monitor unauthorized access attempts:
Dashboard → Organization → Security → Access AttemptsMonitored Events:
Alert Configuration:
{ "alerts": [ { "name": "Multiple Failed Permission Checks", "threshold": 5, "window_minutes": 10, "severity": "high", "action": "notify_security_team" }, { "name": "Privilege Escalation Attempt", "threshold": 1, "severity": "critical", "action": "suspend_account" } ]}Generate compliance reports for audits:
Dashboard → Organization → Compliance → Generate ReportAvailable Reports:
Report Formats: PDF, CSV, JSON
User Management
Apply roles to users and manage access.
Security Policies
Configure additional security controls.
Audit Logging
Monitor and review access logs.
If you have questions about RBAC configuration, contact support@overwatch-observability.com.
Related Documentation: