Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate recovery options for lost wallet keys #1012

Closed
esune opened this issue Feb 8, 2024 · 3 comments
Closed

Investigate recovery options for lost wallet keys #1012

esune opened this issue Feb 8, 2024 · 3 comments
Assignees

Comments

@esune
Copy link
Member

esune commented Feb 8, 2024

Investigate what can be done to recover lost wallet keys when in managed mode.

@esune esune self-assigned this Feb 8, 2024
@esune esune transferred this issue from bcgov/DITP-DevOps Feb 8, 2024
@esune esune moved this to Assigned in CDT Enterprise Apps Feb 8, 2024
@esune esune moved this from Assigned to In Progress in CDT Enterprise Apps Feb 12, 2024
@esune
Copy link
Member Author

esune commented Feb 12, 2024

As per @andrewwhitehead input, the sub-wallet records use this model and it might be possible to connect to the main wallet and and fetch records of type wallet_record, with the specific wallet_id.

This could provide a good self-serve recovery option for users who have other ways of accessing the tenant (i.e.: api-key access) if:

  • an endpoint is available to perform the above operation
  • api-keys can be classified as having admin access (which would allow for tasks such as key recovery/rotation) or not (can only consume "regular" APIs)

I am thinking this would be a good addition for the innkeeper plugin, since it is already managing api-keys and we could therefore enhance functionality further.

@esune
Copy link
Member Author

esune commented Feb 22, 2024

I attempted to create an innkeeper administrative endpoint that could be used to retrieve a tenant's wallet id/keypair in case of emergency: this is not (easily) feasible since the innkeeper is itself a tenant and accessing another sub-wallet is generally not a good idea.

While a self-serve recovery option is possible, it will require having "privileged" access to the tenant via an "admin" api-key (see #1028). I am thinking this would be a better pattern especially since we (@loneil and I) have been discussing the possibility of not exposing the main keys at all to users requesting a new tenant, but rather providing them with tenant id/api-key combination to avoid potentially losing/leaking the main credentials (in which case a recovery endpoint might not even be necessary).

Thoughts/opinions on this are welcome.

@esune
Copy link
Member Author

esune commented Mar 5, 2024

We are likely pivoting towards providing tenants with tenant id and api-key rather than the "full" wallet keys.

@esune esune closed this as completed Mar 5, 2024
@github-project-automation github-project-automation bot moved this from In Progress to In Review in CDT Enterprise Apps Mar 5, 2024
@esune esune moved this from In Review to Complete in CDT Enterprise Apps Mar 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

1 participant