База знаний
Кому какие профили видны
Два разных вопроса
Роль отвечает, что человеку можно делать: трогать оплату, менять общую библиотеку прокси, работать только с тем, что ему дали. Ответ один и тот же во всём пространстве. В строке участника на экране «Участники» стоит ещё «Предел профилей»: пусто значит без предела, 0 значит заводить нельзя.
Группы отвечают на вопрос поуже: из профилей, открытых этому человеку, какие ему видны. Можно быть менеджером и видеть две группы из десяти. «Руководитель» в той же строке, менеджер или администратор, видит, запускает и правит профили своих людей в пределах своих групп, но не удаляет, не отдаёт и не ставит им пароль.
Третье решается у самого профиля: открывая его коллеге, хозяин выбирает уровень доступа, только запуск, запуск и правка или полный доступ.
Разложите профили по группам
Группы заводят на вкладке «Группы». Группа хранится на этом компьютере, а когда её профиль уходит в аккаунт, группа заводится и там и значит одно и то же для всех, кто в пространстве. Кнопки, которыми группы заводят и правят, программа показывает владельцу или администратору.
Удаление группы здесь сохраняет её профили, но группу в аккаунте не трогает, и у вошедшего такая группа появляется снова при следующем запуске программы или входе.

Откройте человеку группы
Выбор принадлежит строке участника: вы и так стоите там, когда об этом задумываетесь.
- 1
Откройте экран «Участники»
«Участники» в левом столбце, в разделе «Команда».
- 2
Найдите нужного человека
Список участников на той же вкладке.
- 3
Нажмите «Группы»
Кнопка в строке этого человека.
- 4
Отметьте группы
Список внутри окна «Группы».
- 5
Нажмите «Сохранить»
Кнопка внизу этого окна.
Пустой выбор значит всё
Не отметить ничего это не то же самое, что отобрать всё. Пустой список читается как снятие ограничения, поэтому снятая последняя группа возвращает человеку обычный обзор. Окно так и пишет: «Ничего не выбрано: человек видит все группы».
Обратное чтение было бы ловушкой: расширение доступа выглядело бы ровно так же, как его полное отсечение.
Профиль без группы тоже скрыт
Правило читается дважды
Его читают, когда строят список профилей, и ещё раз, когда профиль открывают по его собственному опознавателю, а теперь та же проверка стережёт и его расширения. Правило, прочитанное только в одном из этих мест, было бы украшением: остальные двери остались бы открытыми.
Профиль вне разрешённых групп отвечает так, будто его нет вовсе. Другой ответ позволил бы пересчитать профили, которые смотреть не разрешено.
Кого сузить нельзя
Владелец пространства видит всё, и ограничить его нельзя, а выдать группу из чужого пространства не получится.
Ограничение принадлежит пространству, а не человеку, поэтому за дверь, в его следующее место работы, оно не уходит.
Менеджер и администратор только с паролем
Администратор и менеджер правят то, чем пользуется вся команда: менеджер группы, общие прокси и сценарии, администратор ещё людей и оплату. Поэтому программа и кабинет дают эти роли только после повторного ввода пароля аккаунта, а если включена 2FA, ещё и числа из приложения. Одним украденным входом их не раздать.
Так устроены приглашение, вход команды, повышение роли и приём такого приглашения: принимающий вписывает свой пароль. «Оператор» и «Участник», понижение роли и смена группы пароля не просят.
Каждый раз, когда кто-то становится менеджером или администратором, в колокольчике программ, где вошёл владелец, появляется строка «В команде новый администратор или менеджер». Программа, в которой владелец сделал это сам, этой строки не показывает.
Владелец узнаёт о каждом новом участнике
Когда человек любой роли принимает приглашение или в команде заводят вход команды, на всех устройствах, где владелец и администраторы уже вошли в программу, в колокольчике появляется строка «В команду вступил новый человек» или «Заведён вход команды». В ней кто это, какая роль, кто пригласил или завёл, с какого устройства и адреса, когда и в какую команду.
Устройство это вход, с которого пригласили человека или завели вход команды; называется он так же, как в разделе «Где открыт аккаунт». Адрес это адрес самого запроса: ваше устройство с незнакомым адресом значит, что вашим входом пользовался кто-то другой.
Приглашение оператора и участника пароля не просит, как у крупных служб. Поэтому незнакомое имя в этой строке это повод сразу исключить человека в разделе «Команда» и проверить ключи API команды на сайте: там владелец и администратор видят все ключи команды и отзывают любой.
Строка приходит один раз: убранная, она не возвращается. Устройство, на котором вход команды завели, строки о нём не показывает. Сервер, обновлённый раньше этой версии, этих строк не шлёт.
Если из одной команды разом пришло больше пяти таких строк, они собраны в одну: «В команду добавлено много людей разом», сколько добавлено по приглашению и входов команды, с какого по какой час, и кнопка «Открыть обзор», где каждый назван. Так никто из тех, кто остался в команде, не выпадает из колокольчика, даже когда новых строк много. Строки о новом входе, ключе API, новом старшем и новом участнике другие строки колокольчика не вытесняют, пока вы их не прочли.
Чего это не делает
- Это не открывает доступ к профилю. Группы сужают то, что человек видит из уже открытого ему.
- Это не ограничивает владельца. Тот, кто завёл пространство, видит его целиком.
- Это не прячет профиль от его собственного хозяина. Здесь решается, что видят коллеги, а не что видите вы.
Где это решается
Каждое утверждение выше это одно место в коде и один стенд.
- Выданная группа сужает список, запрещённый профиль не запускается, а расширения слушаются того же правила
- apps/server/test/group-access.js
- Окно прямо пишет, что пустой выбор значит «видит все группы»
- apps/desktop/test/решения-имён-исполняются-в-окне.js
- Выдача групп участнику правда исполняется из программы
- apps/desktop/test/доступ-команде-из-программы.js
- Правило читается и там, где профиль перечисляют, и там, где его открывают по опознавателю
- apps/server/src/profiles/profiles.service.ts
- Строка называет вход, которым отправили приглашение, и адрес самого запроса
- apps/server/test/команда-новый-участник-ключи-обзор.js
- Больше пяти строк из одной команды разом приходят одной строкой с кнопкой «Открыть обзор», и строки безопасности не вытесняются другими
- apps/desktop/test/колокольчик-не-теряет-строки-безопасности-живьём.js
Вопросы
- Я снял все отметки, и человек стал видеть больше.
- Так и устроено: пустой выбор значит отсутствие ограничения. Оставьте хотя бы одну группу отмеченной, чтобы обзор остался узким.
- Почему запрещённый профиль отвечает, что его нет?
- Потому что другой ответ подтвердил бы, что он есть. Отказ нарочно тот же самый, какой приходит на выдуманный опознаватель.
- Ограничение по группам переживает смену роли?
- Да. Это отдельные ответы на отдельные вопросы, и правка одного не переписывает другое.
- Может ли сотрудник расширить себе группы сам?
- Нет. Запрос на изменение доступа к группам отклоняют всем ниже администратора.
Рядом с этим
Пригласить сотрудника
Шаг, который идёт до этого.
Отдать прокси в общий доступ
Второе, что решает роль.
Открыть профиль коллеге
Уровень доступа к одному профилю.
Команда, роли и группы
Вся возможность целиком, а не одна процедура.
Групповые действия, группы и корзина
Место, где профили перекладывают между группами.
Попробуйте на одной группе
Бесплатный тариф даёт два профиля, без срока и без карты.