RBAC Administration
Configure teams, permissions, and data scopes for your organization.
This guide covers how to administer Role-Based Access Control (RBAC) in Parascope. You must be a superadmin to access these features.
Quick Start
- Create teams that map to your organizational structure
- Assign permissions to teams based on what they need to do
- Set data scopes to control which infrastructure each team can see
- Add users to teams as they log in
Teams
Teams are the primary way to manage access in Parascope. Users inherit permissions and data scopes from all teams they belong to.
Creating a Team
- Go to Settings → Teams
- Click Create Team
- Enter a name and description
- Click Create
Team Roles
Each team member has a role:
| Role | Capabilities |
|---|---|
| Admin | Add/remove members, change member roles |
| Member | Access team's permissions and scopes |
Team admins can manage their own team's membership. Only superadmins can change team permissions and scopes.
Recommended Team Structure
Organize teams by function or access needs:
Infrastructure Team
├── Permissions: configuration_items (read, write), collectors (read, write)
├── Data Scopes: kubernetes, proxmox, ceph
└── Members: Platform engineers
Application Team
├── Permissions: configuration_items (read)
├── Data Scopes: kubernetes
└── Members: Application developers
Operations Team
├── Permissions: configuration_items (read), collectors (read)
├── Data Scopes: all sources
└── Members: SRE, on-call engineersPermissions
Permissions control what actions users can perform.
Permission Model
Permissions are defined as:
- Resource: What the permission applies to
- Actions: What operations are allowed
Available Resources
| Resource | Description |
|---|---|
configuration_items | View and manage CIs |
collectors | View and manage collectors |
sources | View and manage data sources |
correlations | View and manage correlation rules |
teams | View and manage teams |
users | View and manage users |
audit | View security audit log |
* | All resources (superadmin only) |
Available Actions
| Action | Description |
|---|---|
read | View resources |
write | Create and update resources |
delete | Remove resources |
* | All actions |
Setting Team Permissions
- Go to Settings → Teams → select a team
- Scroll to Permissions
- Click Edit
- Add or remove permission entries
- Click Save
Example Permission Sets
Read-only access:
configuration_items: [read]
collectors: [read]
sources: [read]Operator access:
configuration_items: [read, write]
collectors: [read, write]
sources: [read, write]Full access (non-admin):
configuration_items: [read, write, delete]
collectors: [read, write, delete]
sources: [read, write, delete]
correlations: [read, write, delete]Data Scopes
Data scopes control which CIs a user can see. This is Parascope's primary data isolation mechanism.
Scope Model
Scopes are defined by:
- Source: The data source type (kubernetes, proxmox, ceph, netbox, openstack)
- Scope ID: A specific cluster or instance within that source
Scope Matching
| Source | Scope ID | What it matches |
|---|---|---|
kubernetes | null | All Kubernetes CIs |
kubernetes | prod-cluster | Only CIs from prod-cluster |
proxmox | null | All Proxmox CIs |
null | null | All CIs (full access) |
Setting Team Scopes
- Go to Settings → Teams → select a team
- Scroll to Data Scopes
- Click Edit
- Add or remove scope entries
- Click Save
Example Scope Configurations
Infrastructure team (all sources):
source: null, scope_id: null (full access)Kubernetes-only access:
source: kubernetes, scope_id: nullSingle cluster access:
source: kubernetes, scope_id: production
source: kubernetes, scope_id: stagingMulti-source limited access:
source: kubernetes, scope_id: production
source: proxmox, scope_id: pve-cluster-1Deny by Default
If a user has no data scopes (directly or via teams), they see no CIs. This is the "deny by default" model.
To give a user access to everything, add a scope with source: null, scope_id: null.
Users
User accounts are created automatically when users first log in via SSO (JIT provisioning).
Managing Users
- Go to Settings → Users
- Use search to find users by email or name
- Click a user to view/edit details
User Properties
| Property | Description |
|---|---|
| Display Name | How the user appears in the UI |
| Active | Whether the user can log in |
| Superadmin | Full access to everything |
Direct Permissions
You can assign permissions directly to a user (bypassing teams). This is useful for special cases but teams are preferred for maintainability.
Direct Data Scopes
Similarly, you can assign data scopes directly to a user.
Deactivating Users
Deactivating a user:
- Prevents them from logging in
- Immediately revokes all active sessions
- Immediately revokes all API tokens
The user's data and audit trail are preserved.
Bootstrap Admin
The first superadmin is configured during your Parascope onboarding. When the designated administrator first logs in via SSO, they automatically become a superadmin. This user can then create additional superadmins and configure the system.
Audit Log
All security-related events are logged to the audit log.
Viewing the Audit Log
- Go to Settings → Audit Log
- Use filters to narrow results:
- Event type
- User
- Date range
- IP address
Exporting
Click Export CSV to download the audit log for external analysis or compliance reporting.
Logged Events
| Category | Events |
|---|---|
| Session | Login, logout, session created/revoked |
| User | Created, updated, deactivated, reactivated |
| Permission | Permission changes, scope changes |
| Team | Created, updated, deleted, member added/removed |
| Token | Created, revoked |
| Auth | Success, failure, rate limited |
Best Practices
Team Design
- Map teams to responsibilities: Infrastructure, applications, security, etc.
- Start restrictive: Give minimum necessary access
- Use team admins: Delegate team membership management
- Document team purposes: Use descriptions to explain what each team is for
Permission Design
- Prefer teams over direct permissions: Easier to audit and maintain
- Group related permissions: Users who need to manage collectors probably also need to manage sources
- Separate read and write: Not everyone who can view should be able to modify
Scope Design
- Organize by environment: production, staging, development
- Organize by domain: infrastructure, applications, databases
- Be specific: Prefer specific scopes over full access
- Review regularly: Ensure scopes still match organizational needs
Security
- Limit superadmins: Only give superadmin to users who truly need it
- Review audit logs: Check for unusual activity regularly
- Rotate tokens: Encourage users to rotate tokens periodically
- Deactivate promptly: Deactivate users when they leave or change roles
Troubleshooting
User can't see any data
Check their effective scopes:
- Go to Settings → Users → select user
- Review their teams and direct scopes
- Ensure at least one scope grants access to the expected source
User can see data but can't modify
Check their effective permissions:
- Review their teams' permissions
- Ensure they have
writeaction on the relevant resource
Changes not taking effect
Permissions and scopes are evaluated on each request. If changes aren't working:
- Have the user log out and back in
- Check that the team is active
- Check that the user is active in the team
Locked out superadmins
If all superadmins are locked out, contact your Parascope administrator or support to restore access.