Skip to content

Allow user to have multiple keypairs #968

Open
@kyujin-cho

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:

  • 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

  • manager: add API to support arbitrary keypair creation/removal* limit additional keypairs not to have resource limits bigger than default keypair

  • feature: Materialization of the "main" keypair concept #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 feat: Let the queryfilter-minilang engine to fetch multiple rows from joined tables #1022 to add the "projects" column to the view of "keypairs" in the control panel.

  • Side-effects that happened* User who doesn't have a project cannot log in. #1625

  • 23.09: Polish the current multiple keypair scheme
    {code:[tasklist]}

Tasks

{code}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions