Шаг навстречу клиентам: новая система прав доступа к камерам в Watcher
Наши основные клиенты - операторы связи, к которым приходят абоненты с задачами по установке камер видеонаблюдения с записью видео в облачный архив и доступом к этим камерам через интернет. К такой услуге прибегают многие небольшие бизнесы, не желающие тратить денежные средства на закупку, установку и администрирование собственных серверов для видеонаблюдения. Кроме того, обязательно встает вопрос о доступе сотрудников к тем или иным камерам видеонаблюдения. Вот пример задачи, с которой абоненты приходят к операторам связи: “Владелец небольшого бизнеса, например, аптеки решил установить камеры внутри нее и контролировать работу сотрудников, предупреждать кражи, и все это он захотел делать через Интернет без установки специального оборудования.”
Уже 7 лет наша программная система Flussonic Watcher помогает клиентам организовать доступ к IP камерам и к архиву с этих камер через Интернет с помощью браузера или мобильного телефона. Система разворачивается в датацентрах операторов связи. Абоненты операторов связи уже приобретают услугу Интернета в свои квартиры, дома, офисы и платят за нее абонентскую плату. Эти же самые каналы связи оператор связи предлагает использовать при продаже своей услуги видеонаблюдения. За счет того, что за Интернет абонентом уже заплачено, стоимость услуги видеонаблюдения для существующих абонентов оператора становится очень приятной. К Интернету абоненты оператора связи подключают свои камеры, установленные дома, на даче, в офисе и могут в любой момент посмотреть видео с камеры, архив с нее и получить сообщение о происходящем в поле зрения камеры событии (например, движении).
У операторов связи тысячи абонентов, и Watcher должен обеспечить удобство работы с камерами и пользователями и позволить управлять правами доступа пользователей к разным камерам.
Как было раньше в Watcher
Раньше в основе Watcher было объединение произвольного количества пользователей и камер в одну логическую группу. Работало это так: всем состоящим в группе пользователям предоставлялся доступ ко всем камерам из этой группы. Группе назначался администратор, который мог управлять списком камер и списком пользователей в группе, но у администратора не было возможности из-за особенностей системы раздавать различные права пользователям в рамках группы.
Вначале мы считали, что это решение подходит нам больше всего, но со временем пришли к выводу, что это не так. Продолжим пример с аптекой, желающей установить себе камеры. Аптека обратилась к нашему клиенту - оператору связи, который смонтировал камеры и дал доступ к сервису видеонаблюдения, развернутому на Flussonic Watcher. Все сотрудники получили доступ ко всем камерам этой аптеки. Вроде удобно, но со временем владелец бизнеса захотел ограничить доступ к видеоизображению с камеры в своем кабинете сотрудникам. Простого решения в Watcher не было. Можно было настроить две группы: в одной объединялись все сотрудники со всеми камерами кроме камеры в кабинете директора, в другой – был один директор со всеми камерами.
Казалось бы, решение найдено, но потом владелец бизнеса открыл филиал в другом городе, назначил там директора, нанял туда сотрудников. Ситуация схожа. Сотрудники филиала не должны видеть, что происходит в кабинете директора, но владелец бизнеса должен видеть все-все камеры. Опять были созданы две дополнительные группы. Дальше — больше. Владелец бизнеса решил установить дополнительную камеру. Вместо того, чтобы одним действием добавить камеру в систему, сотрудникам оператора связи пришлось добавлять ее 4 раза во все группы, относящиеся к этой аптеке.
Сначала мы не замечали сложностей, которые испытывают наши клиенты, работая с группами, но однажды наш клиент - оператор связи, использующий Watcher и администрирующий систему видеонаблюдения аптеки, открыл тикет, где спросил нас, как правильно тарифицировать этого абонента, у которого столько групп, в которых между собой пересекаются почти все камеры?
Мы долго не знали, как ответить нашему клиенту, чтобы сделать его жизнь проще, и в итоге решили начать ответ со слов “Мы сделаем все по-другому и правильно…”. Пришло осознание того, что группы не позволят системе развиваться так, как мы хотим, и мы решили искать им замену.
Что пришло на смену группам
Проделав много экспериментов с архитектурой системы прав доступа в Watcher, мы нашли решение, которое и дали нашим клиентам в релизе Watcher 19.08.
Поскольку принцип работы групп долго служил нам верой и правдой, первым делом мы попробовали развить этот принцип в нечто большее. Но от слова пришлось отказаться — мы решили, что пользователи не оценят идею “группировать группы по подгруппам, создавая иерархические группы”. Идея работы с иерархическими группами прожила у нас недолго. Она была очень сложна с точки зрения реализации и ее было очень трудно донести до фокус-группы наших клиентов из числа тех, кто испытывал трудности с прежней структурой.
Суть этого решения, связанного с использованием иерархических групп, состояла в том, что в одну группу также могли добавляться камеры и пользователи, но при этом в ту же группу могли добавлять еще и другие группы, которые также состояли бы из камер и пользователей. В группах разных уровней иерархии могло быть пересечение по составу камер и пользователей. Решение сначала казалось правильным, но мы не смогли решить три возникшие вопроса:
1. Непонятно, как в рамках одной группы отделить права пользователей на управлением камерами от прав на просмотр видео с камер 2. Как правильно сделать наследование прав в ситуациях, когда один пользователь в группе более высокого уровня может иметь прав меньше, чем в группе более низкого уровня. 3. Как считать статистику по абоненту, на основании которой оператор связи выставит счет абоненту.
У себя в компании мы наложили запрет на слово “группа” с вытекающими штрафными санкциями для сотрудников. Объевшись несколько раз на вырученные от штрафов средства пиццей, и начиная испытывать недостаток денежных средств в карманах, мы уяснили все недостатки переедания и перспективы дальнейшего голодания и, тем самым, стимулировали скорейшее нахождение нового решения.
В классических CCTV системах удобно работать со списками камер в виде иерархических деревьев и с правами доступа к ним. Но нам была необходима еще одна бизнес-сущность, с помощью которой можно было бы разделить абонентов в рамках одного Watcher и обеспечить комфорт при выставлении счетов и интеграции с биллингом. И этой сущностью стала Организация в рамках Watcher. Иерархические деревья камер и Организации отлично дополняли друг друга и в полной мере решали все возникающие у абонентов задачи:
• раздача пользователям разных прав на разные камеры
• организация системы учета услуг и расчетов.
• управление большим количеством камер.
Новая архитектура у клиента
Итак, мы обновили нашему клиенту Watcher, и у его абонента – аптеки появилась новая система прав, которая работала так: аптека стала Организацией для нашего клиента. Были убраны четыре созданные группы для аптеки и теперь администраторы нашего клиента взаимодействовали с одной Организацией, что решило многочисленные проблемы с учетом по данному абоненту. У созданной организации стал назначен единственный администратор, которому направлялись счета за пользование услугами. Этим администратором стал владелец аптеки. Он также может управлять списком камер, пользователей и распределять права доступа.
Следующая важная проблема, которую решила новая архитектура, — удобство работы с большим количеством камер. Для камер были созданы папки. Таким образом, камеры, установленные в одном филиале, были объединены в одну папку, а камеры, установленные в другом филиале — в другую. В каждой из папок были созданы подпапки для того, чтобы туда можно было добавить приватные камеры обоих директоров. Сотрудники получили доступ к некоторым папкам, а директора ко всем сразу. Весь список камер преобразился до наглядной иерархической структуры, состоящей из папок и размещенных в них камер. Теперь в списке камер легко ориентироваться.
Также изменению подверглись права доступа сотрудников филиалов аптеки. Каждому сотруднику аптеки администратор может назначать такие права в Организации:
- Управление камерами
- Управление пользователями
- Просмотр статистики Организации
Права доступа также стало возможно настроить к соответствующим папкам с камерами. Доступ к общим папкам имели все, а доступ к приватным папкам с камерами — только директора.
Так система успешно проработала у нашего клиента какое-то время. Когда аптека захотела добавить новую камеру, сделать это было проще простого. Администратор добавил камеру в нужную папку, а права доступа к этой камере были назначены системой автоматически исходя из тех прав, которые администратор изначально назначил пользователям к соответствующим папкам.
Вот как все стало выглядеть глазами абонента:
Список камер теперь распределён по папкам и подпапкам внутри Организации.
Вот какие права можно настроить у пользователей по отношению к каждой папке с камерами:
- Просмотр лайв (прямой трансляции с камеры) - Просмотр лайв и архива - Просмотр лайв, архива, управление PTZ устройствами.
Этим правам соответствуют иконки, которые активируются простым щелчком мыши в настройках пользователя:
Директору дан полный доступ ко всем камерам из корневой папки (Cameras).
А пользователь Employee имеет доступ только к камерам из папки Общедоступные камеры.
Как видите, в организации “Сеть аптек” есть корневая папка Cameras, в которую добавляются все камеры этой организации или распределяются дальше по соответствующим подпапкам. Организация “Сеть аптек” является пространством абонента, за размещение камер в котором и доступ к ним он платит абонентскую плату оператору связи. В данную организацию абонент может добавить пользователей и дать им доступ к различным папкам с камерами. Если абонент предоставит пользователю доступ к корневой папке, то доступ автоматически распространится на все папки, расположенные ниже по иерархии. Если доступ ко всем камерам не нужен, то абонент выберет ту папку, к которой он предоставит доступ другому пользователю организации.
Итог
Мы проделали большую работу, чтобы реализовать гибкую систему прав доступа к камерам в Watcher. Теперь наши клиенты и партнеры – операторы связи могут без труда оказывать услуги облачного видеонаблюдения как организациям, так и физическим лицам.
Например, девушка Алина может установить камеры у себя дома для наблюдения за детьми и на даче для обеспечения сохранности имущества. Как и владелец аптеки, она может разложить камеры по папкам (Квартира и Дача) и дать доступ к этим папкам своим родным и соседям по даче.
Наша новая архитектура позволяет закрыть разнообразные бизнес-кейсы, возникающие при оказании услуг облачного видеонаблюдения. Приглашаем Вас проверить данную архитектуру на своем кейсе, оформив триал на сайте: https://flussonic.ru