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

Boardwalkd: API service accounts #19

Open
m4wh6k opened this issue Oct 28, 2022 · 0 comments
Open

Boardwalkd: API service accounts #19

m4wh6k opened this issue Oct 28, 2022 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@m4wh6k
Copy link
Contributor

m4wh6k commented Oct 28, 2022

Boardwalk is intended to be able to be used for workflows that run for very long periods of time; weeks or months. Currently all authentication is built around human users authenticating as themselves. The default API token session lifetime is 2 weeks, and if a session token expires, boardwalk will automatically attempt to get a fresh session token by either opening the default web browser to re-authenticate, or by prompting the user to visit an authentication url.

The current API auth model works very well where users are interacting with the CLI on a workstation, but doesn't translate well when the CLI is executed by some kind of headless shared scheduler, such as a cron job, for example. Some concept of "service accounts" is needed for access granted to systems or services that aren't humans.

Service accounts should

  • Be be managed via a privileged interface, such as an Admin UI
  • Be able to have a longer, possibly variable session lifetime compared to normal users. This lifetime should be visible in the admin interface
  • Be able to be identified with individually, such as by the name of the service or system where they are used
  • Notify admins when a service account is about to expire. We don't want service account authorization to silently expire, especially with regard to long-running workflows

Service accounts may

  • Display in the Admin interface when they were last used
  • Be able to be restricted based upon IP address or CIDR range
@m4wh6k m4wh6k added the enhancement New feature or request label Oct 28, 2022
@m4wh6k m4wh6k added this to the 1.0.0 milestone Oct 28, 2022
@m4wh6k m4wh6k self-assigned this Oct 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant