Skip to content

Support fine-grained permissions via OIDC #1136

@Dugong42

Description

@Dugong42

What is currently missing?

Unless I'm mistaken, the OAuth2 authentication and authorization mechanism only allows to grant access depending on the verb of the API used (GET, PUT...) and the role of the user, without the ability to set a resource pattern.

{"GET": ["schema:read", "subject:read"], "POST": ["schema:write", "subject:write"], "PUT": [], "DELETE": []}

This is limiting as it does not allow the setting of fine-grained permissions, as can be done via the authorization file and Basic Auth.

How could this be improved?

Please consider supporting finer-grained permissions for OAuth access.

For example, by fetching the permissions from a permissions claim.

 sasl_oauthbearer_permissions: List[TypedDict('ACLEntry', {'operation': str, 'resource': str})] = [{"operation":"Read","resource":"Subject:general.*"},{"operation":"Read","resource":"Config:"}]

And perhaps alternatively by mapping the sub claim to the permissions of a username in the authorization file, which does not yet seem to be the case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions