Skip to content

Implement access control #170

@uniqueg

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`)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions