Configurable roles and permissions #
AvailableThe /administration/rbac route lets an administrator replace the organization's permission matrix. Until an override is saved, RiskPilot applies historical defaults. This configuration creates no new roles and does not add LDAP/LDAPS.
Permission catalogue #
Permissions cover risks (risk.read|create|update|delete), EBIOS (ebios.read|create|update|validate), NIS2 (nis2.read|update), evidence (evidence.upload), actions (action.read|update) and administration (admin.users|roles|settings). Unknown permissions are always denied.
The super-administrator always retains every permission, even if a matrix override attempts to restrict that role. Assignable roles are Administrator, Risk manager, Auditor, Action owner and Viewer. Effective authorization is the union of permissions from the user's assigned roles.
Change the matrix #
- Open Settings → Roles and permissions as an administrator.
- Review each role and enable only required capabilities.
- Pay particular attention to separating
ebios.updateandebios.validate. - Save the complete matrix.
- Test with a representative account for each role before rollout.
Saving replaces every organization override, including empty arrays. A poor matrix can therefore remove a business capability immediately. Retain at least one operational administrator and apply least privilege.
API #
| Method | Endpoint | Result |
|---|---|---|
GET | /api/settings/rbac | catalogue and effective matrix |
PUT | /api/settings/rbac | replace tenant-scoped overrides |
Both routes require the fine-grained admin.roles permission rather than the static presence of ROLE_ADMIN alone. The payload is {"roles":{"ROLE_RISK_MANAGER":["risk.read","ebios.update"]}}, completed with other assignable roles. A missing matrix returns VALIDATION_ERROR; an unknown or non-string value returns INVALID_PERMISSION, with HTTP 422. Insufficient permission returns FORBIDDEN with HTTP 403.