cubicweb-processing #3034623 review security model w.r.t. traceability [validation pending]

Processing cube security model specifications

Now that processing has workflows, we can define a proper security model based on them.

The general idea is that we want to ensure the traceability of study and run results, no matter who created or launched them.

Special attention should be paid to relations, which should in no way be deleted by a non manager user who has not created it, or created between one entity which he is not allowed to read and any other entity.

Permissions defined by entity types

  • Executable

    Can be created by any user.

    Can be edited and deleted by one of its owners only if it is not linked to a Run (through the executable relation) that has a state, which name is different from wfs_run_init and wfs_run_ready.

  • ParameterDefinition

    The addition, modification and deletion of a ParameterDefinition should be considered as a modification of its related Executable.

    Moreover, it can not be modified when it has a ParameterValue.

    Subject relations :

    • parameter_of¬†:
  • Run

    A Run (and related ParameterValues) should be immutable once in the state wfs_run_completed.

  • ParameterValue

prioritynormal
typebug
done in0.5.0
load2.000
load left0.000
closed by#a716c25e1c5c Update permissions and add tests for traceability between Executable and Run
patchAccount for Run workflow in its permissions and that of related entities [folded]Update permissions and add tests for traceability between Executable and Run [applied]