{{tag>dev Инвентаризация}}
====== Инвентаризация: DEV: Security ======
Сейчас большинство API запросов не требуют авторизации, надо сделать чтобы требовали (при включенном RBAC)
С точки зрения безопасности у нас есть одна большая проблема: скрипт сбора информации с конечных ОС:
* он раскидан везде / доступен отовсюду
* работает от имени пользователя
* имеет права на запись в Инвентори
Если все остальные полномочия мы можем закрыть паролем, то в этом случае мы светим в скрипте пароль с правами чтения/записи в БД, что есть плохо
Тогда:
- Перестаем читать БД, просто бросаем сырые данные через API и возвращаем текст ошибки если таковая есть и ID ос
- Создаем отдельную роль "comp-pusher", который может создавать/обновлять OS
- Заводим служебного пользователя, с этой ролью
- Хардкодим его в скрипт
- Обновляем puppet-модуль puppet-inventory
Возможность/необходимость авторизации должна быть учтена в
* [[https://github.com/spo0okie/vbs-libs/blob/master/lib_http.vbs|Библиотеки VBS для Inventory и HTTP]]
* [[https://github.com/spo0okie/win-inventory|Скрипты инвентаризации ОС Windows]] - rest/comps
* Скрипты логона пользователей rest/login-journal
* [[https://github.com/spo0okie/puppet_inventory_scripts|Скрипты инвентаризации ОС Linux]] - rest/comps
* [[https://github.com/spo0okie/powercli_inventory_scripts|Скрипты инвентаризации ОС через PowerCLI]] - rest/techs,comps
* [[https://github.com/spo0okie/AD-Inventory-sync|Скрипты синхронизации пользователей с АД]] - **rest/users**,partners,org-struct,phones
* [[https://github.com/spo0okie/doku_inventory|Плагин интеграции DokuWiki с Inventory]] - rest не используется, используются пользовательские маршруты
* [[https://github.com/spo0okie/ast-lite/blob/master/scripts/callerid.sh|Скрипт определителя номера для Asterisk]] - rest/phones,**users**
* [[https://github.com/spo0okie/ast-lite/blob/master/scripts/techsupport.schedule.sh|Скрипт определения дежурного техподдержки]] rest/schedules,**users**
* [[https://github.com/spo0okie/ovpn|Скрипты генерации OpenVPN конфигов]] - **rest/users**,net-ips
* Скрипты выдачи лицензий ПО (Офис, Siemens NX) - rest/users/lic-links/lic-groups
* [[https://github.com/spo0okie/arms-zabbix-sync|Синхронизация zabbix и инвентаризации]]
Оставшиеся контроллеры:
* comps
* contracts
* domains
* lic-groups
* lic-keys
* lic-links
* login-journal
* net-ips
* phones
* schedules
* services
* techs