Skip to content

Implement API Path-Based Permissions for Granular Access Control #276

@mkrenzke

Description

@mkrenzke

Referring to:

I think the long term solution to this is a user settings page where this can be set up, and other settings can be modified by users with sufficient access. I think it's also maybe not a bad idea to set up an api.foo.bar style permission, where users could use paths of the API only with the correct permissions.

Originally posted by @b-rowan in #275

To enhance security and access control, we should consider implementing API path-based permissions. This would allow users to access specific API endpoints only if they have the necessary permissions, adding an extra layer of security beyond authentication.

Proposed Approach:

  1. Introduce a new permission system where API paths (or groups of paths) are mapped to required user roles or permissions.
  2. Define a permission format like api.foo.bar to control access to different API sections.
  3. Enforce these permissions at the API level, ensuring users can only call endpoints they are authorized for.
  4. Provide a way for administrators to configure and assign these permissions to users.

This would complement the existing authentication system and help enforce least-privilege access.

Would love to hear thoughts on this approach and any potential implementation considerations!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions