User management - wildberries-tech/universal-harvester GitHub Wiki
Управление учётными записями пользователей производится через интерфейс приложения в меню USERS. (IMG)
Суперадминистратор
Роль суперадминистратора определена как fullmaster.
Ролевая модель
Роль | USERS | KEYS | SOURCES | STEPS | TASKS | SCENARIOS | SCENARIOS EDITOR | SCHEDULER |
---|---|---|---|---|---|---|---|---|
fullmaster | Полное редактирование всех УЗ, создание новых УЗ | Просмотр,создание, редактирование секретов | Просмотр, создание, редактирование источников | Просмотр, изменение, создание, копирование, запуск всех шагов | Просмотр, перезапуск, остановка всех задач | Доступны все сценарии, вся история запусков | Просмотр, редактирование, копирование всех сценариев | TBD |
users_admin | Полное редактирование всех УЗ, создание новых УЗ | Недоступно | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
keys_admin | Просмотр своей УЗ, изменение своего пароля | Просмотр,создание, редактирование секретов | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
sources_admin | Просмотр своей УЗ, изменение своего пароля | Недоступно | Просмотр, создание, редактирование источников | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
steps_admin | Просмотр своей УЗ, изменение своего пароля | Недоступно | Недоступно | Просмотр, изменение, создание, копирование, запуск всех шагов | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
tasks_admin | Просмотр своей УЗ, изменение своего пароля | Недоступно | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка всех задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
scenarios_admin | Просмотр своей УЗ, изменение своего пароля | Недоступно | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны все сценарии, вся история запусков | Просмотр сценариев в соответствии с собственными ролями | TBD |
scenario_editor_admin | Просмотр своей УЗ, изменение своего пароля | Недоступно | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр, редактирование, копирование всех сценариев | TBD |
custom (собственные роли) | Просмотр своей УЗ, изменение своего пароля | Недоступно | Недоступно | Просмотр, запуск шагов в соответствии с собственными ролями | Просмотр, перезапуск, остановка собственных задач | Доступны сценарии в соответствии с собственными ролями, собственная история запуска | Просмотр сценариев в соответствии с собственными ролями | TBD |
У пользователя может быть несколько ролей.
Метаданные пользователей
У каждого пользователя есть JSON поле, применяемое для расширение функционала и хранения метаданных. Его можно использовать для хранения дополнительной информации, например, табельного номера, сторонних user_id и т.д. На данный момент зарезервирована нода notify, используемая для настроек оповещения пользователя о выполненных запросах к Universal Harvester.
Настройка оповещения пользователей
При завершении выполнения сценария Universal Harvester может проинформировать пользователя и передать ему ссылку на получение результата.
{
"any_fields": "",
"notify": {
"mattermost": {
"enabled": true,
"server": "mattermost.example.ru",
"username": "username of user in mattermost",
"key": {
"system": "system in keys (creds link for mattermost.example.ru)",
"account": "account in keys (creds link for mattermost.example.ru)"
}
},
"telegram": {
"enabled": true,
"chat_id": 12345,
"key": {
"system": "system in keys (creds link for telegram token)",
"account": "account in keys (creds link for telegram token)"
}
}
}
}
Mattermost
Для оповещений в Mattermost необходимо создать бота с правами на создание чатов с пользователями и добавить API-ключ бота в разделе Keys.
Telegram
Для оповещения в telegram необходимо сначала создать Телеграм-бота с помощью @BotFather, затем добавить API-ключ бота в разделе Keys. Чтобы получить уникальный chat_id пользователя, необходимо, чтобы пользователь написал боту, после этого можно получить chat_id, например, следующим способом:
import requests
bot_token = ""
url = f"https://api.telegram.org/bot{bot_token}/getUpdates"
print(requests.get(url).json())