Skip to content

Implement access control #170

Description

@uniqueg

Use FOCA's PyCasbin support to set up rules for access control.

Briefly, the following behavior would be desirable:

  • Define four roles: service adminstrators, resource owners, resource maintainers and resource viewers
    • Service admininstrators can set the service info (`SET /service-info, see Consider adding additional API operations #167) and promote or demote other service adminstrators
    • Resource owners can view and modify (here: cancel, possibly delete, see Consider adding additional API operations #167) task resources and update permissions for these resources other users
    • Resource maintainers can view and modify task resources, but they cannot update permissions
    • Resource owners can only view task resources
  • Service roles (administrators) are for the entire service, whereas resource roles (owners, administrators, viewers) are resource-specific
  • Members of pre-configured user groups (from JWT claims) can trigger task runs (POST /tasks); upon triggering a task run, they automatically become an owner of the created resource
  • Members of pre-configured user groups can view the service info (``GET /service-info`)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions