diff --git a/CHANGELOG.md b/CHANGELOG.md index a25ea4e..1610d71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Latest ------ ## Changes +* [#202](https://github.com/cleverage/ui-process-bundle/issues/202) Documentation: the context of a process is visible to every user (stored in its execution and its log records), do not pass secrets in it; a password given as argument of `cleverage:ui-process:user-create` is visible in the process list and the shell history. * [#138](https://github.com/cleverage/ui-process-bundle/issues/138) Installation documentation: describe the Symfony Flex recipe, which registers the bundle, imports the bundle controllers routes (`config/routes/clever_age_ui_process.yaml`, the EasyAdmin routes being imported by the EasyAdmin recipe) and creates `config/packages/clever_age_ui_process.yaml`, and the manual setup without Flex. v3.3 diff --git a/docs/reference/03-users_and_security.md b/docs/reference/03-users_and_security.md index a07fea6..6535328 100644 --- a/docs/reference/03-users_and_security.md +++ b/docs/reference/03-users_and_security.md @@ -99,6 +99,12 @@ Roles | `ROLE_USER` | Every user (always added by `User::getRoles()`) | Dashboard, process list and launch, executions, logs, scheduler. | | `ROLE_ADMIN` | Users created with the console command, or selected in the UI form | Everything above, plus the "Users" menu (users list, creation, edition, deletion and API token generation). | +Every user sees all the executions and logs, with their context: the context of a process (given in the launch form, +the HTTP API, a schedule or the console) is stored in its execution and added to each of its log records. Do not pass +secrets (passwords, tokens) in the context, and keep in mind that its values come from the UI users: see +[contextual values](https://github.com/cleverage/process-bundle/blob/main/docs/01-quick_start.md#contextual-values) +for the options in which they must not be used (e.g. a shell `commandline`). + The roles selectable in the user edit form are configured with `clever_age_ui_process.security.roles` (default `['ROLE_ADMIN']`, see [bundle configuration](01-bundle_configuration.md#security)). Add your own roles there if your application uses them, e.g. with a `role_hierarchy`. diff --git a/docs/reference/07-console_commands.md b/docs/reference/07-console_commands.md index a5058d8..33cd54b 100644 --- a/docs/reference/07-console_commands.md +++ b/docs/reference/07-console_commands.md @@ -21,10 +21,12 @@ bin/console cleverage:ui-process:user-create [ []] bin/console cleverage:ui-process:user-create # Non-interactive, e.g. in a provisioning script -bin/console cleverage:ui-process:user-create admin@example.com 'my-secret-password' +bin/console cleverage:ui-process:user-create admin@example.com "$ADMIN_PASSWORD" ``` -Values passed as arguments are not validated. The email must be unique. +Values passed as arguments are not validated. The email must be unique. A password given as argument is visible in the +process list (`ps`) while the command runs and, when typed, in the shell history: prefer the interactive prompt, or a +variable as above. cleverage:ui-process:purge-logs -------------------------------