Перейти к содержимому

Академия

Работа в команде без общих паролей

Двое работают с одним аккаунтом через общий профиль, а не через общий пароль. Каждый входит под собой, видит только открытые ему группы и при уходе теряет этот доступ одним шагом.

Урок 7 из 14

Чего стоит пароль в переписке

У входа, отправленного в переписку, нет ни хозяина, ни срока. Он остаётся в этой переписке, на двух машинах и в их резервных копиях.

И забрать его обратно нечем. Остаётся сменить пароль, а это разом выбивает всех и говорит площадке, что аккаунт сменил руки.

Места вместо общего входа

Каждый человек заводит свою учётную запись, а приглашение вводит эту запись в ваше рабочее пространство. С этого мига он работает на вашем тарифе.

Норма профилей, библиотека прокси, группы и история считаются по владельцу пространства. Команда работает в одном оплаченном объёме и по одному счёту.

Своё пространство у человека при этом остаётся: в программе он выбирает пространство в меню угла, в кабинете в строке «Пространство», и у каждого свой список профилей и свой тариф.

Что открывает каждая роль

Роль это старшинство, а не список галочек. Каждое действие на сервере называет младшую роль, которую принимает, поэтому незнакомая серверу роль не открывает ничего. Владелец может обязать всех включить двухшаговый вход: участник без него видит только экран настройки, и профили команды у него не запускаются.

РольЧто открываетГде упирается
ВладелецВсё пространство, вместе с оплатой и историейЕго нельзя убрать и нельзя сузить группами
АдминистраторПриглашения и роли, доступ к группам, оплата, вся историяНе меняет и не убирает владельца
МенеджерГруппы, общая библиотека прокси, сценарии и расписанияБез оплаты, без команды, без истории
Оператор и участникСвои профили и те, что им открылиОбщего не меняют и истории не видят

Группы сужают видимое

Роль действует на всё пространство и сама не скажет, что подрядчик работает над одним клиентом. Это говорят группы: на экране «Участники» нажмите у человека «Группы», отметьте те, которые ему видны, и его список сузится до них.

Правило читается дважды: при сборке списка и при открытии профиля по его собственному номеру. Профиль вне разрешённых групп отвечает так, будто его никогда и не было.

  • Пустой выбор

    читается как снятие ограничения, поэтому снятая последняя группа расширяет видимость, и окно так и пишет: «Ничего не выбрано: человек видит все группы»

  • Профиль без группы

    при заданном ограничении тоже не виден, иначе правило обходилось бы нежеланием разложить профиль

  • Само ограничение

    принадлежит вашему пространству и не едет за человеком в следующее

Общий профиль вместо общего входа

Коллег вы отмечаете в пункте «Открыть доступ команде» меню профиля и выбираете каждому уровень: только запуск, запуск и правка или полный доступ. Профиль появляется в их списке с пометкой «вам открыли» и уровнем, а снятая отметка и есть отзыв доступа.

Отпечаток и настройки уезжают вместе с профилем, поэтому коллега открывает ту же личность, а не её копию. Ручные значения отпечатка и выбранная версия браузера остаются на компьютере, где их задали. Куки и входы приезжают через синхронизацию сессий, где она включена («Синхронизировать сессии» на экране «Движок»).

Профиль открывается в одном окне за раз. Второй машине сказано, какая машина его заняла, а занятость снимается сама, когда машина умолкла.

Одна библиотека прокси

Библиотека прокси принадлежит пространству, а не одному компьютеру, поэтому она одна на всех. Коллега выходит через тот адрес, который привязан к его профилю.

В обычном списке, который отдаёт сервер, стоят адрес, имя и указание, что пароль задан. Самого пароля в этом ответе нет, а выгрузка всей библиотеки вместе с паролями идёт от роли менеджера.

Там, где пароль лежит на диске, его закрывает сама система только на Windows: на macOS ключ лежит внутри самой программы, а на Linux значение записано как набрано.

На что отвечает «История»

Каждое действие, о котором возможен спор, пишет одну строку: кто, что и когда. Выданный из библиотеки пароль это одна из таких строк, и на вопрос про рабочие ключи есть ответ.

Имена застывают такими, какими были в тот день, поэтому сегодняшнее переименование профиля не переписывает прошлую неделю. Экран «История» читают владелец и администратор.

Когда человек уходит

Увольнение и уход по своей воле идут одной дорогой, потому что две дороги к одному событию однажды разойдутся и одна забудет что-нибудь отозвать.

Всё это происходит одним шагом, и в этом суть урока: доступ кончается в одном месте, а не вспоминается по переписке.

  • Доступ снимается в обе стороны

    уходит и его доступ к вашим профилям, и чужой доступ к профилям, уходящим с ним

  • Занятость отпускается

    иначе открытый профиль выглядел бы занятым для всех, кто остался

  • Рабочие профили остаются

    заведённые после его прихода сделаны в вашей норме и остаются пространству

  • Адреса библиотеки остаются

    уходящий профиль теряет рабочий адрес за собой, а купленный на свои человек забирает

  • Непринятые приглашения гаснут

    иначе код на тот же адрес остался бы ключом обратно

Чего этот урок не утверждает

  • Роль действует на всё пространство. Группы сужают видимое человеку, а не права его роли.
  • Приглашение приходит на уже заведённую учётную запись. Письмо уходит там, где настроена почта, а иначе ссылку передаёте вы сами.
  • Отзыв доступа убирает профиль из программы коллеги и не трогает куки, уже лёгшие на его диск. Это не стирание на расстоянии.
  • «История» идёт от самой свежей строки назад, без отбора по человеку, действию или дате.
  • Многие площадки вовсе запрещают работу нескольких людей в одном аккаунте. Их правила этот урок не меняет и обходить не учит.

Где это можно проверить

За каждым утверждением выше стоит файл и стенд в прогоне.

Обычный список не возит пароля, отдельный запрос выдаёт его по одному, и выдача попадает в журнал
apps/server/test/proxy-secret.js
Выданная группа сужает и список, и прямое открытие, а пустой выбор снимает ограничение
apps/server/test/group-access.js
Увольнение и уход идут одной дорогой: доступ снят в обе стороны, занятость отпущена, адреса остались
apps/server/test/team-money-seats.js
Роли сравниваются по старшинству, поэтому незнакомая серверу роль не даёт ничего
apps/server/src/common/roles/workspace-roles.ts
Вступивший в команду остаётся владельцем своего пространства, места и уход считаются по пространству
apps/server/test/несколько-команд.js

Вопросы

Увидит ли коллега пароль общего адреса?
В списке, который он читает, нет. Пароль доедет к нему только по адресу за открытым ему профилем, а выдача попадёт в историю.
Что станет с профилями, которые завёл подрядчик?
Заведённые после его прихода остаются пространству, которое за них платило. Принесённые с собой уходят с ним, но без вашего адреса.
Пустой список групп это самая надёжная настройка?
Это самая широкая. Пустой выбор означает отсутствие ограничения, поэтому оставьте одну группу отмеченной, если видимость должна быть узкой.
Нужны ли двоим два тарифа?
Нет, у пространства один счёт. Места приходят с тарифом, следующие докупаются по одному, а приглашение без свободного места отвергается.
Может ли участник расширить себе группы?
Нет, ниже администратора такой запрос отвергается. Иначе сужение было бы просьбой, а не правилом.

Начните с одного коллеги

Откройте ему одну группу и прочитайте его список с его стороны.