Skip to content

UpdateQueue should require the user to have a queue-specific permission #187

@sync-by-unito

Description

@sync-by-unito

Right now, all a user needs in order to update a queue is permissions.CreateQueue:

https://github.com/G-Research/armada/blob/1476c18bec337b77434c038ec8dea6458ba253ff/internal/armada/server/submit.go#L158-L172

This seems wrong. If I can update a queue, I can change who owns it and who has what permissions, or its resource limits so it can't do useful work. All that seems well beyond the scope of a permission called CreateQueue, which I'd say should allow you only to create queues, not to mess with existing queues.

I propose:

  • adding a queue-specific queue.PermissionVerb called queue.PermissionVerbUpdate
  • renaming global permission permissions.DeleteQueue to permissions.ModifyQueue
  • changing submit.UpdateQueue() to require both queue.PermissionVerbUpdate and permissions.ModifyQueue (but not permissions.CreateQueue

┆Issue is synchronized with this Jira Task by Unito

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