Skip to content

Conversation

jiparis
Copy link
Member

@jiparis jiparis commented Jun 23, 2025

This PR includes:

  • RBAC logic to apply fine grained permissions when user has role:org:member role on the organization. Regular roles don't get this logic applied
  • A new membership entry is added when a project is created (making the caller user owner of the project)
  • All endpoints where RBAC should be applied, have been adapted to query for "visible" projects

There is only one endpoint set that needs more work, or perhaps they should be maintained outside the scope of RBAC:

  • Org API token management: currently only available to Org Admins. With the current implementation, Org Members won't be able to generate tokens (unless we move or support project-scoped API tokens)

Note that this PR is safe to merge, since existing roles still work in the same way.

Refs #2121

jiparis added 13 commits June 17, 2025 16:38
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
@jiparis jiparis requested review from migmartri and javirln June 23, 2025 12:57
@jiparis jiparis marked this pull request as ready for review June 23, 2025 14:14
jiparis added 7 commits June 23, 2025 17:03
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
jiparis added 2 commits June 23, 2025 19:15
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
@migmartri
Copy link
Member

I made it work, looking good :)

Some minor issue is that I found some inconsistency between the message we get from the middleware and potentially from the one from the new helper, for example

go run main.go cas-backend ls
WRN API contacted in insecure mode
ERR operation not allowed

and

go run main.go att init --name test-annotations --project project-sarah  --replace
Flag --name has been deprecated, please use --workflow instead
WRN API contacted in insecure mode
This command is will run against the organization "foobar-222"
Please confirm to continue y/N
y
ERR user not authorized

Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
jiparis added 2 commits June 24, 2025 00:05
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
@migmartri
Copy link
Member

@jiparis one thing that you didn't end up adding I think is the cache we talked about when retrieving memberships, etc. Are you still going to do it?

jiparis added 6 commits June 24, 2025 11:51
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
@jiparis
Copy link
Member Author

jiparis commented Jun 24, 2025

@jiparis one thing that you didn't end up adding I think is the cache we talked about when retrieving memberships, etc. Are you still going to do it?

Yes, it's added for 10 seconds.

Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
jiparis added 3 commits June 24, 2025 16:47
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
jiparis added 3 commits June 24, 2025 18:06
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Copy link
Member

@migmartri migmartri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

jiparis added 3 commits June 24, 2025 18:47
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
@jiparis jiparis merged commit 01af803 into chainloop-dev:main Jun 25, 2025
13 checks passed
@jiparis jiparis deleted the PFM-3163-member branch June 25, 2025 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants