Магазин пишет в ТЗ «сайт должен быть безопасным» и ждёт галочку. Студия пишет «защита данных» без имён, кто видит заявки. Страх проверки и жадность одной фразы вместо ролей оставляют дыру: касса открыта стажёру, слоты видит подрядчик с прошлого года.
Безопасность в проекте — кто входит, с каким правом, кто не входит. Не статья закона из головы. На этой неделе назовите людей и уберите слово «безопасно» без имён.
Проблема
Владелец магазина боится выглядеть наивным и ставит абзац «соответствие требованиям», хотя не знает, кого пускать в заказы. Владелец студии стыдится короткого списка «я и администратор» и прячет его за «полной защитой». Жадность обещает: одна громкая фраза закроет и кассу, и заявки, и вход подрядчика. На деле в админку входят все, у кого когда-то был пароль. Заказы видит фотограф. Слоты видит бывший помощник. Фраза про безопасность это не остановила.
В ТЗ безопасность — таблица доступа: роль, что видит, что меняет, с какого устройства заходят, как забирают доступ. Юрист и отдельные бумаги живут отдельно: их не выдумывают в задании на сайт. Подрядчик может принять «кассир не видит себестоимость» и «подрядчик не видит заявки через месяц после сдачи». Он не может принять «сделайте по закону» без списка людей. Список людей пишет владелец, не студия наугад.
Причина
Магазин на запуске: 3–5 ролей — владелец, сборка, контент, подрядчик на срок, гость. Студия: владелец, запись, подрядчик на срок. Расписать это — два-три часа. Не расписать — один общий пароль «на всех» и потом день разбора, кто сменил цену. Смена доступов после ссоры с сотрудником без таблицы — ещё день и риск, что заявки уезжают на старую почту. Это дороже часа на роли в ТЗ. Громкий абзац без имён доступов не закрывает.
Масштаб. На 40–80 карточках контент-менеджеру не нужен просмотр оплат. На 8–15 услугах фотографу не нужна лента заявок. Если в ТЗ «все как администраторы, так проще», проще до первого лишнего входа. Подрядчику на время вёрстки дают вход на срок в календаре, не вечный. В задании пишут, как вход забирают: дата, кто выключает. Без даты «временный доступ» становится постоянным сам.
- Безопасность в ТЗ — кто входит и кто не входит, не ярлык.
- Нормы и бумаги юриста не выдумывают номером в задании на сайт.
- Магазин: сборка не равна владельцу кассы.
- Студия: подрядчик не равен администратору записи.
Решение
Выпишите живых людей, не статьи. Магазин смотрит, кто трогает заказы и цены. Студия — кто видит имена и слоты. Общий пароль на эту неделю считают дырой, даже если «пока так удобно».
- Назовите роли: владелец, сотрудник, подрядчик, гость. Лишние «на всякий» вычеркните.
- Напротив каждой роли напишите: видит / меняет / не видит. Пустая клетка — дыра.
- Поставьте срок входа подрядчика датой. Без даты вход не временный.
- Напишите, кто выключает доступ и за сколько часов после ухода человека.
- Вычеркните из ТЗ «безопасно», «по требованиям», «полная защита» без таблицы ролей.
Проверка
Фраза магазина: «В заказы входят владелец и сборка, контент видит карточки, подрядчик до 20 октября, дальше вход гасим». Фраза студии: «Заявки видят два человека, подрядчик не видит имена после сдачи». Положите фразы в ТЗ. Если кто-то просит «ну дайте всем админку, не заморачивайтесь», ролей снова нет.
Остановитесь, когда таблица ролей лежит в том же файле версии и общий пароль выключен. Не дописывайте выдуманные номера законов «для солидности». Солидность не принимают. Второй контур «ещё охранник и камеры» — отдельный разговор, не абзац в ТЗ сайта. Пока не названо, кто не входит, задание по доступу пустое.
Чек-лист
- Назовите роли: владелец, сотрудник, подрядчик, гость. Лишние «на всякий» вычеркните.
- Напротив каждой роли напишите: видит / меняет / не видит. Пустая клетка — дыра.
- Поставьте срок входа подрядчика датой. Без даты вход не временный.
- Напишите, кто выключает доступ и за сколько часов после ухода человека.
- Вычеркните из ТЗ «безопасно», «по требованиям», «полная защита» без таблицы ролей.
Назад в раздел
