User Management (command line): Difference between revisions
(add user provider) |
(role-provider) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
=== Управление пользователями === | === Управление пользователями === | ||
Для управления пользователями используется команда '''user-provider''' с необходимыми подкомандами. | Для управления пользователями используется команда '''user-provider''' инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа. | ||
==== Создание пользователя ==== | ==== Создание пользователя ==== | ||
Line 16: | Line 16: | ||
--role <role id or name> (для установки нескольких ролей использовать флаг несколько раз) | --role <role id or name> (для установки нескольких ролей использовать флаг несколько раз) | ||
--review-master <true|false> (активировать атрибут Review Master, по умолчанию false) | --review-master <true|false> (активировать атрибут Review Master, по умолчанию false) | ||
'''Пример:''' | |||
svacer user-provider add --user admin --password admin --login example --user_password Example123 --review-master true | |||
2024-12-02T13:19:41.366+0300 info Log file location /tmp/svacer-3054598677.log | |||
2024-12-02T13:19:41.366+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:19:41.375+0300 info Server version: [devel] | |||
2024-12-02T13:19:41.380+0300 info Logged by user admin | |||
2024-12-02T13:19:41.401+0300 info User added successfully: ID: e45f2ae5-4e5b-4308-a2f5-0f3461626c18 Password: Example123 | |||
==== Удаление пользователя ==== | ==== Удаление пользователя ==== | ||
svacer user-provider delete | svacer user-provider delete | ||
--username <id or name> | --username <id or name> | ||
'''Пример:''' | |||
svacer user-provider delete --user admin --password admin --username example321 | |||
2024-12-02T13:27:38.731+0300 info Log file location /tmp/svacer-2241911697.log | |||
2024-12-02T13:27:38.731+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:27:38.739+0300 info Server version: [devel] | |||
2024-12-02T13:27:38.759+0300 info User deleted successfully | |||
==== Получение списка пользователей ==== | ==== Получение списка пользователей ==== | ||
Line 25: | Line 38: | ||
--with-roles <true|false> (к выводу добавляются роли пользователя) | --with-roles <true|false> (к выводу добавляются роли пользователя) | ||
--filter <all|active|archived> (используйте для фильтрации списка пользователей) | --filter <all|active|archived> (используйте для фильтрации списка пользователей) | ||
'''Пример:''' | |||
svacer user-provider get --user admin --password admin --with-roles true | |||
2024-12-02T13:21:30.392+0300 info Log file location /tmp/svacer-3616394399.log | |||
2024-12-02T13:21:30.393+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:21:30.395+0300 info Server version: [devel] | |||
[ | |||
{ | |||
"ID": "00000000-0000-0000-0000-000000000000", | |||
"firstName": "admin", | |||
"lastName": "admin", | |||
"login": "admin", | |||
"roles": [ | |||
{ | |||
"id": "00000000-0000-0000-0000-000000000000", | |||
"name": "admin", | |||
... | |||
] | |||
==== Обновление пользователя ==== | ==== Обновление пользователя ==== | ||
Line 37: | Line 67: | ||
--delete-role <role id or name> (удаляет роль с переданным id или именем) | --delete-role <role id or name> (удаляет роль с переданным id или именем) | ||
--review-master <true|false> (активировать атрибут Review Master) | --review-master <true|false> (активировать атрибут Review Master) | ||
'''Пример:''' | |||
svacer user-provider update --user admin --password admin --username example --login example321 | |||
2024-12-02T13:24:43.052+0300 info Log file location /tmp/svacer-3041843149.log | |||
2024-12-02T13:24:43.052+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:24:43.059+0300 info Server version: [devel] | |||
2024-12-02T13:24:43.096+0300 info User example updated successfully | |||
==== Изменение статуса пользователя ==== | ==== Изменение статуса пользователя ==== | ||
svacer user-provider update-status | svacer user-provider update-status | ||
--username <id|name> (имя или идентификатор пользователя для обновления | --username <id|name> (имя или идентификатор пользователя для обновления) | ||
--status <active|archive> | --status <active|archive> | ||
'''Пример:''' | |||
svacer user-provider update-status --user admin --password admin --username example321 --status archive | |||
2024-12-02T13:26:49.444+0300 info Log file location /tmp/svacer-2446325878.log | |||
2024-12-02T13:26:49.444+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:26:49.452+0300 info Server version: [devel] | |||
2024-12-02T13:26:49.479+0300 info User status updated successfully | |||
== Role management == | == Role management == | ||
Управление пользователями | |||
=== Управление ролями === | |||
Для управления пользователями используется команда '''role-provider''' инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа. | |||
==== Создание роли ==== | |||
svacer role-provider add | |||
--name <name> | |||
--permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") | |||
'''Пример:''' | |||
svacer role-provider add --name example --permissions "ALL:Import;test_md:Projects" --user admin --password admin | |||
2024-12-02T13:43:25.542+0300 info Log file location /tmp/svacer-393346587.log | |||
2024-12-02T13:43:25.542+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T13:43:25.549+0300 info Server version: [devel] | |||
2024-12-02T13:43:25.556+0300 info Logged by user admin | |||
2024-12-02T13:43:25.578+0300 info Role added successfully: example | |||
Id: 4c2eda54-6d3f-409e-b846-63d49752f331 | |||
Permission 'ALL': 'Import', 'ReadAction' | |||
Permission 'test_md': 'Branches', 'ExportMarkup', 'GlobalFilters', 'Import', 'ImportMarkup', 'Projects', 'ReadAction' | |||
==== Удаление роли ==== | |||
svacer role-provider delete | |||
--role <role name|id> | |||
'''Пример:''' | |||
svacer role-provider delete --role example --user admin --password admin | |||
2024-12-02T14:13:28.664+0300 info Log file location /tmp/svacer-3511168837.log | |||
2024-12-02T14:13:28.665+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T14:13:28.670+0300 info Server version: [devel] | |||
2024-12-02T14:13:28.695+0300 info Role deleted successfully | |||
==== Изменение роли ==== | |||
svacer role-provider update | |||
--role <role name|id> | |||
--permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") | |||
--force <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим) | |||
--remove <true|false> (Используйте, чтобы удалить правила для роли. Правила, необходимые для удаления указываются в опции --permissions) | |||
'''Пример:''' | |||
svacer role-provider update --role example --permissions "ALL:Hooks" --user admin --password admin --force | |||
2024-12-02T14:12:49.084+0300 info Log file location /tmp/svacer-2403337357.log | |||
2024-12-02T14:12:49.084+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T14:12:49.093+0300 info Server version: [devel] | |||
2024-12-02T14:12:49.125+0300 info Role updated successfully: example | |||
Id: 4c2eda54-6d3f-409e-b846-63d49752f331 | |||
Permission 'ALL': 'Hooks' | |||
==== Получение списка ролей ==== | |||
svacer role-provider get | |||
--target <user id|name> (имя или идентификатор пользователя, чьи роли запрашиваются, если данный флаг не указан, будут выведены все роли) | |||
'''Пример:''' | |||
svacer role-provider get --user admin --password admin --target admin | |||
2024-12-02T14:08:03.735+0300 info Log file location /tmp/svacer-3317672156.log | |||
2024-12-02T14:08:03.737+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T14:08:03.744+0300 info Server version: [devel] | |||
{ | |||
"ID": "00000000-0000-0000-0000-000000000000", | |||
"firstName": "admin", | |||
"lastName": "admin" | |||
... | |||
} | |||
==== Назначение роли пользователю ==== | |||
svacer role-provider assign | |||
--username <user name|id> | |||
--role <role name|id>тобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") | |||
--remove <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим) | |||
'''Пример:''' | |||
svacer role-provider assign --user admin --password admin --username guest --role example | |||
2024-12-02T14:09:23.509+0300 info Log file location /tmp/svacer-2142876769.log | |||
2024-12-02T14:09:23.509+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T14:09:23.519+0300 info Server version: [devel] | |||
2024-12-02T14:09:23.543+0300 info Role example assigned successfully | |||
==== Получение списка разрешений ==== | |||
svacer role-provider list-permissions | |||
--format <json|table> (Укажите формат вывода json или table (table выводится с применением, названием и описанием разрешения) (по умолчанию: json)) | |||
'''Пример:''' | |||
svacer role-provider list-permissions --user admin --password admin --format table | |||
2024-12-02T14:10:46.061+0300 info Log file location /tmp/svacer-3390742125.log | |||
2024-12-02T14:10:46.061+0300 info Quering server configuration from <nowiki>http://localhost:8080/api/public/server/info</nowiki> | |||
2024-12-02T14:10:46.068+0300 info Server version: [devel] | |||
2024-12-02T14:10:46.072+0300 info Logged by user admin | |||
+-------------------------------------------------------------------------------------------------+ | |||
| Permission Table | | |||
+------------------+------------------------------+-------------------+---------------------------+ | |||
| PERMISSION | SCOPE | NAME | DESCRIPTION | | |||
+------------------+------------------------------+-------------------+---------------------------+ | |||
| Hooks | server | Run hooks | Run hooks from Details | | |||
| | | | section of the right | | |||
| | | | panel | | |||
+------------------+------------------------------+-------------------+---------------------------+ | |||
| Backups | server | Create backups | Create, view and restore | | |||
| | | | backup using CLI | | |||
+------------------+------------------------------+-------------------+---------------------------+ | |||
... |
Latest revision as of 14:14, 2 December 2024
User management
Управление пользователями
Для управления пользователями используется команда user-provider инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа.
Создание пользователя
svacer user-provider add --login <login> --user_password <pwd> --firstname <firstname> --lastname <lastname> --middlename <middlename> --email <email> --change-password <true|false> (используйте для смены пароля при первой авторизации по умолчанию false) --auth-type <0|1|2> (тип аутентификации, 0 - Svacer, 1 - LDAP, 2 - OIDC_OAUTH, по умолчанию 0) --role <role id or name> (для установки нескольких ролей использовать флаг несколько раз) --review-master <true|false> (активировать атрибут Review Master, по умолчанию false)
Пример:
svacer user-provider add --user admin --password admin --login example --user_password Example123 --review-master true 2024-12-02T13:19:41.366+0300 info Log file location /tmp/svacer-3054598677.log 2024-12-02T13:19:41.366+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:19:41.375+0300 info Server version: [devel] 2024-12-02T13:19:41.380+0300 info Logged by user admin 2024-12-02T13:19:41.401+0300 info User added successfully: ID: e45f2ae5-4e5b-4308-a2f5-0f3461626c18 Password: Example123
Удаление пользователя
svacer user-provider delete --username <id or name>
Пример:
svacer user-provider delete --user admin --password admin --username example321 2024-12-02T13:27:38.731+0300 info Log file location /tmp/svacer-2241911697.log 2024-12-02T13:27:38.731+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:27:38.739+0300 info Server version: [devel] 2024-12-02T13:27:38.759+0300 info User deleted successfully
Получение списка пользователей
svacer user-provider get --with-roles <true|false> (к выводу добавляются роли пользователя) --filter <all|active|archived> (используйте для фильтрации списка пользователей)
Пример:
svacer user-provider get --user admin --password admin --with-roles true 2024-12-02T13:21:30.392+0300 info Log file location /tmp/svacer-3616394399.log 2024-12-02T13:21:30.393+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:21:30.395+0300 info Server version: [devel] [ { "ID": "00000000-0000-0000-0000-000000000000", "firstName": "admin", "lastName": "admin", "login": "admin", "roles": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "admin", ... ]
Обновление пользователя
svacer user-provider update --username <id|name> (имя или идентификатор пользователя для обновления (по умолчанию обновляется текущий пользователь, указанный в авторизации) --login <login> --user_password <pwd> --firstname <firstname> --middlename <middlename> --email <email> --add-role <role id or name> (добавляет роль с переданным id или именем) --delete-role <role id or name> (удаляет роль с переданным id или именем) --review-master <true|false> (активировать атрибут Review Master)
Пример:
svacer user-provider update --user admin --password admin --username example --login example321 2024-12-02T13:24:43.052+0300 info Log file location /tmp/svacer-3041843149.log 2024-12-02T13:24:43.052+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:24:43.059+0300 info Server version: [devel] 2024-12-02T13:24:43.096+0300 info User example updated successfully
Изменение статуса пользователя
svacer user-provider update-status --username <id|name> (имя или идентификатор пользователя для обновления) --status <active|archive>
Пример:
svacer user-provider update-status --user admin --password admin --username example321 --status archive 2024-12-02T13:26:49.444+0300 info Log file location /tmp/svacer-2446325878.log 2024-12-02T13:26:49.444+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:26:49.452+0300 info Server version: [devel] 2024-12-02T13:26:49.479+0300 info User status updated successfully
Role management
Управление ролями
Для управления пользователями используется команда role-provider инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа.
Создание роли
svacer role-provider add --name <name> --permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило")
Пример:
svacer role-provider add --name example --permissions "ALL:Import;test_md:Projects" --user admin --password admin 2024-12-02T13:43:25.542+0300 info Log file location /tmp/svacer-393346587.log 2024-12-02T13:43:25.542+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:43:25.549+0300 info Server version: [devel] 2024-12-02T13:43:25.556+0300 info Logged by user admin 2024-12-02T13:43:25.578+0300 info Role added successfully: example Id: 4c2eda54-6d3f-409e-b846-63d49752f331 Permission 'ALL': 'Import', 'ReadAction' Permission 'test_md': 'Branches', 'ExportMarkup', 'GlobalFilters', 'Import', 'ImportMarkup', 'Projects', 'ReadAction'
Удаление роли
svacer role-provider delete --role <role name|id>
Пример:
svacer role-provider delete --role example --user admin --password admin 2024-12-02T14:13:28.664+0300 info Log file location /tmp/svacer-3511168837.log 2024-12-02T14:13:28.665+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T14:13:28.670+0300 info Server version: [devel] 2024-12-02T14:13:28.695+0300 info Role deleted successfully
Изменение роли
svacer role-provider update --role <role name|id> --permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") --force <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим) --remove <true|false> (Используйте, чтобы удалить правила для роли. Правила, необходимые для удаления указываются в опции --permissions)
Пример:
svacer role-provider update --role example --permissions "ALL:Hooks" --user admin --password admin --force 2024-12-02T14:12:49.084+0300 info Log file location /tmp/svacer-2403337357.log 2024-12-02T14:12:49.084+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T14:12:49.093+0300 info Server version: [devel] 2024-12-02T14:12:49.125+0300 info Role updated successfully: example Id: 4c2eda54-6d3f-409e-b846-63d49752f331 Permission 'ALL': 'Hooks'
Получение списка ролей
svacer role-provider get --target <user id|name> (имя или идентификатор пользователя, чьи роли запрашиваются, если данный флаг не указан, будут выведены все роли)
Пример:
svacer role-provider get --user admin --password admin --target admin 2024-12-02T14:08:03.735+0300 info Log file location /tmp/svacer-3317672156.log 2024-12-02T14:08:03.737+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T14:08:03.744+0300 info Server version: [devel] { "ID": "00000000-0000-0000-0000-000000000000", "firstName": "admin", "lastName": "admin" ... }
Назначение роли пользователю
svacer role-provider assign --username <user name|id> --role <role name|id>тобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") --remove <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим)
Пример:
svacer role-provider assign --user admin --password admin --username guest --role example 2024-12-02T14:09:23.509+0300 info Log file location /tmp/svacer-2142876769.log 2024-12-02T14:09:23.509+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T14:09:23.519+0300 info Server version: [devel] 2024-12-02T14:09:23.543+0300 info Role example assigned successfully
Получение списка разрешений
svacer role-provider list-permissions --format <json|table> (Укажите формат вывода json или table (table выводится с применением, названием и описанием разрешения) (по умолчанию: json))
Пример:
svacer role-provider list-permissions --user admin --password admin --format table 2024-12-02T14:10:46.061+0300 info Log file location /tmp/svacer-3390742125.log 2024-12-02T14:10:46.061+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T14:10:46.068+0300 info Server version: [devel] 2024-12-02T14:10:46.072+0300 info Logged by user admin +-------------------------------------------------------------------------------------------------+ | Permission Table | +------------------+------------------------------+-------------------+---------------------------+ | PERMISSION | SCOPE | NAME | DESCRIPTION | +------------------+------------------------------+-------------------+---------------------------+ | Hooks | server | Run hooks | Run hooks from Details | | | | | section of the right | | | | | panel | +------------------+------------------------------+-------------------+---------------------------+ | Backups | server | Create backups | Create, view and restore | | | | | backup using CLI | +------------------+------------------------------+-------------------+---------------------------+ ...