Credentials: allow permissions on environments
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 296
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 50
Description
I'm not sure how this works yet but I think we need finer grained access control on credentials.
I think at the moment a Credential has one Owner, and that's it? Meaning only one user can edit a credential. This is a problem in sandboxes.
Here's the scenario:
- You are a consultant building an implementation of OpenFn for a very exciting client
- The client creates a bunch of credentials for you to access their sensitive production systems
- You are tasked with adding a new workflow in a sandbox.
- You create the Sandbox and set up a new environment
- Your sandboxed workflows all fail because the attached credentials do not have a value for the new environment
- You have to call up the client and ask them to create new envs for you
It's not a great scenario.
I imagine a world where we can do this:
- A Credential has an Owner and optional list of collaborator/contributors
- On the Edit Credential page, you can add or remove collaborators (including Support, which is a blanket for all support users)
- There is a list of permissions for collaborators:
- View Main Environment
- Edit Main Environment (does not allow removal)
- View other environments
- Edit other environments (includes add and remove)
- these permissions could be slicker. Maybe it's just a single "grant access to Main credential" checkbox
If you're viewing a credential and do not have visibility for an environment, it is vital that that environment is blocked out for you. No details must be shown.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names Credential editing, collaborators, permissions, and environment visibility, but no files, tests, or entry points. Start by locating the credential and environment authorization paths, then clarify the permission model and its security boundaries. Done means collaborators can receive the agreed permissions and unauthorized environment details remain hidden.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- authorization, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100