Три роли — это не модель доступа.
Многие платформы доставки предлагают короткий список ролей — администратор, оператор, только чтение, — и всё, что в него не помещается, становится администратором. Команда сертификатов получает полные права на трафик, потому что сертификаты живут под трафиком. Интеграция мониторинга получает административный токен, потому что меньшего токена просто нет. Сетевая команда может править политику WAF, потому что сеть и безопасность делят одну роль.
Результат предсказуем: аудит спрашивает, кто мог внести изменение, и честный ответ — «почти вся консоль». Разделение обязанностей существует в оргструктуре, но не в продукте.
Второй сбой — расхождение поверхностей. Право, применяемое в интерфейсе, но не в API, — это не право, а пожелание. Любой, кто дотянулся до API, сделает то, в чём интерфейс отказал.
Наш подход
Роль называет работу. Область называет радиус поражения. И то и другое применяется на каждой поверхности.
Шестнадцать ролей, а не три
Роли нарезаны по тем линиям, по которым реально делятся команды: трафик, WAF, сеть, GTM, сертификаты и мониторинг — с вариантами «менеджер» и «пользователь» там, где это различие важно, плюс роли только для чтения и только для фронтенда для тех, кому нужно видеть, не трогая.
Область поверх роли
Роль говорит, к какому типу объектов пользователь может прикоснуться. Область говорит, к каким именно: разрешённые frontend-адреса, разрешённые backend-сети, назначенные vService и назначенные vDevice. Два Traffic Manager могут администрировать две разные инфраструктуры на одном устройстве, не видя сервисов друг друга.
Одна модель прав в интерфейсе, CLI и API
Интерактивный CLI применяет ту же роль, что и интерфейс — Network Manager видит сетевые команды и ничего больше, — а доступ по REST ограничивается той же моделью по областям и по полям. Постоянные API-токены привязаны к роли, поэтому токен конвейера несёт права конвейера, а не администратора.
Каждая поверхность пишет в один журнал аудита
Изменение, сделанное кликом, командой или вызовом API, попадает в один журнал аудита с полными diff-ами «до и после». Вопрос аудитора — кто это изменил, откуда и как было раньше — имеет один ответ независимо от способа изменения.
Возможности
Что покрывает ролевая модель и что лежит поверх неё.
Шестнадцать именованных административных ролей
Полный набор: Admin (суперадминистратор) · Traffic Manager · Traffic User · Traffic+WAF Manager · Traffic+WAF User · WAF Manager · WAF User · WAF Read-Only · Network Manager · Network User · GTM User · Certificate Manager · Monitor User · Read-Only User · Frontend User · Client (облачный клиент). Варианты Manager и User разделяют право настраивать и право эксплуатировать.
Сетевая область — разрешённые frontend-адреса и backend-сети
Досягаемость пользователя ограничена адресом, а не только типом объекта. Frontend-адреса, на которых он может публиковать, и backend-сети, на которые он может направлять, перечисляются для каждого пользователя, поэтому ошибка остаётся внутри сегмента, за который он отвечает.
Ресурсная область — назначенные vService и vDevice
Пользователям назначаются конкретные опубликованные сервисы и конкретные vDevice. Всё остальное для них не «только для чтения» — оно невидимо.
Права на сертификаты: управление отдельно от выбора
Право выбрать сертификат для сервиса и право управлять библиотекой сертификатов — разные права. Команда приложения может опубликовать сервис на нужном сертификате, не имея возможности экспортировать, заменить или удалить ключ за ним.
Доступ к оболочке — переключатель на каждого пользователя
CLI по SSH и CLI в браузере — два независимых переключателя, у каждого своё максимальное число сессий. Оператору можно дать консоль в браузере, не заводя ему SSH-учётную запись нигде.
Квоты на пользователя: полоса, CPU и соединения
Роль может нести не только набор прав, но и потолок ресурсов, поэтому администратор арендатора не может израсходовать устройство за всех остальных.
Авторизация API на уровне полей
Доступ по REST ограничивается по областям и по полям той же моделью, что и интерфейс. Роль, которая не видит поле в консоли, не прочитает его и через API.
Администраторы из каталога и строгая аутентификация
Администраторы аутентифицируются по локальным учётным записям, LDAP и Active Directory, RADIUS или TACACS+ с учётом действий. Доступны двухфакторная аутентификация по SMS или одноразовому коду на почту, токены восстановления и вход по клиентскому сертификату mTLS, выпущенному внутренним PKI TR7.
Настройки рабочего места следуют за пользователем
Язык, тема и раскладка верхней панели хранятся для каждого пользователя, поэтому консоль оператора выглядит одинаково, на какой бы узел кластера он ни попал.
Эксплуатационная глубина
Части, от которых зависит, переживёт ли модель доступа аудит.
Разделение обязанностей выражено, а не обещано
Поскольку WAF, трафик, сеть, GTM и сертификаты — отдельные семейства ролей, типовое требование регулируемых отраслей — тот, кто меняет политику безопасности, не тот, кто меняет путь трафика, — становится конфигурацией, а не процедурой, которую кто-то должен помнить.
Роли только для чтения, которые действительно только читают
Read-Only User, WAF Read-Only и Monitor User существуют, чтобы аудиторам, дежурной смене и дашбордам не требовалась роль, способная что-то изменить. Интеграции мониторинга выдаётся токен, привязанный к одной из них, а не административный.
Роли Frontend User и Client для делегированного доступа
Frontend User охватывает тех, кто работает с опубликованными сервисами, не касаясь платформы под ними. Client охватывает случай облачного клиента, когда учётная запись принадлежит потребителю сервиса, а не его оператору.
Защита плоскости управления от подбора
Сложность пароля обязательна, а неудачные входы ограничиваются бюджетами на IP и на пару IP+имя пользователя с истечением срока, при поддержке встроенной CAPTCHA. Плоскость управления рассматривается как поверхность атаки, потому что она ею и является.
Службы управления привязываются и ограничиваются по отдельности
HTTPS, SSH, FTP и SNMP привязываются к выбранному адресу и порту и несут собственный список разрешённых сетей, собственный сертификат и собственные минимальную и максимальную версии TLS. Консоль может требовать TLS 1.3, пока интеграция мониторинга, ещё не умеющая его, обращается к другой службе по TLS 1.2.
Учётные записи передачи файлов по назначению
Передача файлов не идёт через одну общую учётную запись. Отдельные записи покрывают экспорт логов, резервные копии конфигурации, офлайн-доставку базы IP-репутации и офлайн-пакеты обновлений, и каждая видит только свой каталог — именно это делает работу в изолированном контуре практичной без привилегированной учётной записи.
Когда это нужно
Регулируемое разделение обязанностей
Банку нужно, чтобы владелец политики WAF и владелец трафика были разными людьми, и это надо доказать. WAF Manager и Traffic Manager — разные роли с раздельными журналами аудита, поэтому доказательством служит отчёт, а не беседа.
Команды приложений, публикующие свои сервисы
Каждой команде выдаётся роль Traffic User с областью из её собственных vService и её backend-сетей. Команды публикуют и эксплуатируют без заявки на изменение и без доступа к сервисам соседей.
Токены конвейеров и мониторинга
Конвейер CI/CD получает постоянный API-токен, привязанный к узкой роли, а система мониторинга — токен, привязанный к Monitor User. Ни один не несёт административных прав, поэтому утечка токена остаётся ограниченным инцидентом.
Команда сертификатов, не владеющая трафиком
Certificate Manager управляет библиотекой ключей и продлениями; команды приложений выбирают из неё. Закрытый ключ не нужно передавать той команде, которая публикует сервис.
Частые вопросы
Сколько административных ролей в TR7?
Действуют ли в CLI те же права, что и в интерфейсе?
Могут ли два администратора управлять разными сервисами на одном устройстве, не видя друг друга?
Можно ли ограничить API-токен правами меньше административных?
Требуется ли для RBAC отдельная лицензия?
Как аутентифицируются администраторы?
Шестнадцать ролей, область на каждого пользователя, применение на каждой поверхности
Разберём ролевую модель на ваших собственных требованиях к разделению обязанностей.