Roles

Different roles can be assigned to a given user.

User without any roles

This type of user can only consult the list of users.

All users who first connect to Ctfreak with an external authentication provider (via OpenID Connect) are in this situation. It is then up to them to ask an administrator to assign them the appropriate roles.

Administrator

An administrator user has access to all the features of Ctfreak, in particular this role allows to manage:

  • the nodes
  • the credentials
  • the projects
  • the users
  • the global settings

Role per project

To be able to perform actions on Ctfreak, a non-administrator user needs to be assigned roles on certain projects.

Projects for which no role has been assigned to our user will not be visible to that user (this also applies to everything related to these projects: tasks, executions, associated users, …). This allows for strict compartmentalization of projects.

Project manager

A user with the role of manager on a given project can manage:

  • its tasks
  • its webhooks
  • its executions
  • its notifications

From the moment a user has the role of manager on at least one project, that user can also consult the list of nodes and databases (which he will need to create his tasks).

NB: This role allows your devops users to run scripts on your servers without having to reveal credentials to connect to them.

Project executor

A user with the role of executor on a given project can only launch tasks associated with that project or view their executions (excluding logs).

NB: This role is ideal for empowering business users to launch specific tasks without granting them access to other Ctfreak features.

Project viewer

A user with the role of viewer on a given project can only view the executions of tasks associated with that project (excluding logs).

NB: This role is ideal for restricting business users’ access to reports generated by SQL Report tasks.