lablup / lablup/backend.ai

Allow user to have multiple keypairs

Open
#968 0 comments 0 reactions 2 assignees Claimed by @mirageoasis View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
14h 15m
Merged PRs (30d)
335

Description

### Main idea

Our current user authentication architecture allows user to have only one keypair at once. Let's extend this architecture so that we can let users create multiple keypairs for a single account.

We can split this issue to smaller chunks, like:

- [x] manager: let main keypair (the one generated when creating user) as a "default keypair" to user, and use it as a login credential when logging in to Backend.AI WebUI with session mode
- [x] manager: add API to support arbitrary keypair creation/removal\* ~limit additional keypairs not to have resource limits bigger than default keypair~
- #1761 now enforces user-wide resource constraints via the main keypair's resource policy
- [ ] Migrate and merge the keypair resource policy into the user resource policy

- [ ] manager: search for usages of keypair in manager code, and if the structure isn't suitable for multiple keypair situation, update it
- [ ] webui: create corresponding UI for keypair creation/removal
### Side-effects of keypair-based resource policy

- What users wanted\* lablup/giftbox#191
- lablup/giftbox#10
- Bulk-updating project-wise user (=keypair) resource policies with a filtered view of projects that the keypair's owner is a member of.

- We implemented #1022 to add the "projects" column to the view of "keypairs" in the control panel.
- Side-effects that happened\* #1625

- 23.09: Polish the current multiple keypair scheme
{code:[tasklist]}
### Tasks
- [ ] #1360
- [ ] #1761
- [ ] #1785
- [ ] #1775

{code}

- 24.03: Ultimately we need to deprecate per-keypair resource policy and keep per-user resource policy only.\* #1779
- #1783

JIRA Issue: BA-228

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.