OpenFn / OpenFn/lightning

Credentials: allow permissions on environments

Open
#4,016 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

sandboxes and sync
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.