lablup / lablup/backend.ai

Add superadmin role permissions to the example RBAC fixture

Open
#12,132 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
21h 49m
Merged PRs (30d)
404

Description

The role_superadmin entry in fixtures/manager/example-roles.json defines the role and assigns it to the admin user, but has no rows in permissions[]. Any RBAC permission check based on this fixture therefore denies every operation for the superadmin user.

Scope of work:

- Add domain-scoped (default) permission rows for role_superadmin mirroring the role_user permission set, excluding grant operations. Domain scope matches the post-migration DB state where global-scoped superadmin permissions were converted to per-domain rows (5a4e677aea42) and remaining global rows were removed (ba42cb865efe).
- Remove role_superadmin from EXCLUDED_ROLES in scripts/generate-rbac-fixture-permissions.py so re-running the generator preserves the new rows.
- Replace the stale copy at src/ai/backend/install/fixtures/example-roles.json with a symlink to fixtures/manager/example-roles.json, following the existing pattern of sibling fixtures.

PR: https://github.com/lablup/backend.ai/pull/12129

JIRA Issue: BA-6453

Contributor guide

Open the contributing guide

Research direction

Start with fixtures/manager/example-roles.json and compare role_superadmin with role_user, then read scripts/generate-rbac-fixture-permissions.py and inspect the stale src/ai/backend/install/fixtures/example-roles.json copy. Regenerate or validate the fixture and confirm domain-scoped permissions exclude grant operations, the generator retains them, and the install path is a symlink.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authorization, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.