Делегированный доступ

Предоставьте людям ровно тот доступ, который им необходим — и ничего лишнего

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

  • 94Детальные разрешения
  • 12встроенные роли
  • 8отделы персонала
  • 650 000+сайтов хостится по всему миру

Доступ — это членство, а не общий пароль

Совместное использование одного логина — это путь к проблемам с доступом к аккаунту. В Zinn Digital® у каждого пользователя есть собственная учетная запись, а доступ представляет собой членство (пользователь, организация и роль), которое можно предоставлять, изменять или отзывать независимо.

Ваша собственная личность, всегда

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

Организации образуют дерево

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

Изоляция принудительно включена в базе данных

Изоляция клиентов — это не фильтр в коде приложения, который можно случайно пропустить из-за ошибки. Функция Row-Level Security в Postgres ограничивает каждый запрос деревом организации вызывающего объекта, поэтому запросу за пределами вашей зоны видимости просто нечего возвращать.

Отсутствие незаметно

Запросите организацию или сайт за пределами вашей зоны ответственности, и API ответит обычной ошибкой отсутствия, а не ошибкой доступа. Ошибка доступа подтвердила бы существование записи; ошибка отсутствия ничего не говорит постороннему лицу.

Четыре роли клиентов, тридцать пять разрешений

Права доступа представляют собой детальные ключи — модуль плюс действие, такие как sites.restart или billing.refund, а роли объединяют их. Четыре роли охватывают потребности реальных команд, и каждая из них является данными, которые мы заносим в базу, а не логикой, скрытой в коде.

Владелец

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

Менеджер биллинга

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

Разработчик

Просматривает и создает сайты, перезапускает службы, очищает кэш, управляет ключами API и работает с тикетами. Намеренно исключено: выставление счетов, счета-фактуры, способы оплаты, управление участниками, приостановка и удаление сайтов. Подрядчик может заниматься разработкой, не имея возможности выставлять вам счета или что-либо уничтожать.

Только для чтения

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

Вход вашей команды не может быть незаметно ослаблен

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

  • Ключи доступа и WebAuthn для защиты от фишинга при входе, а также обязательная для всех двухфакторная аутентификация TOTP, заданная на уровне политик, которую участник команды не сможет отключить.
  • Вход по волшебной ссылке (magic-link) по умолчанию, с входом по электронной почте и паролю в качестве резервного варианта, а также входом через социальные сети Google, Microsoft, GitHub и другие.
  • Единый вход SAML для корпоративных клиентов и агентств: управление новыми сотрудниками и уволенными через вашего поставщика удостоверений, а не вручную.
  • Единая сессия для панели управления клиентом, публичного сайта, базы знаний и тикетов службы поддержки: войдите один раз и завершите сеанс везде одновременно.
  • Политики сеансов, двухэтапная аутентификация для критически важных действий и опциональные списки разрешенных IP-адресов для каждой организации, предназначенные для аккаунтов, которым требуется доступ из доверенных сетей.
  • Каждый адрес электронной почты проверяется до создания аккаунта, поэтому недопустимые, одноразовые и ролевые адреса отсеиваются сразу, а не превращаются вброшенные учетные записи позже.

Когда нашему сотруднику требуется доступ, он ограничивается определенной областью и фиксируется в логах

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

Отделы, а не общие права администратора

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

Настоящий потолок возможностей службы поддержки

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

Вход в качестве клиента строго контролируется

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

Всё, что имеет привилегии, задокументировано

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

Контроль деструктивных операций

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

Машинам тоже делегируют доступ

Скрипты, CI-пайплайны, интерфейс командной строки (CLI), провайдер Terraform и ИИ-агенты проходят аутентификацию по той же модели разрешений, что и люди: без общих учетных данных пользователей и без долгоживущих секретов, вставленных в сборку.

API-ключи создаются для каждой организации и имеют ограниченную область действия

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

Ключи песочницы отделены от продакшена

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

Хранится только хэш

Мы сохраняем SHA-256 хеш секретного ключа и префикс для поиска — сам ключ никогда не сохраняется. Ключ отображается только один раз при создании. Для каждого ключа отслеживается время его последнего использования, и его можно отозвать отдельно, не затрагивая остальные.

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

Наш сервер MCP позволяет любому агенту с поддержкой MCP управлять вашим хостингом на естественном языке, с аутентификацией по протоколу OAuth 2.1, с ограничением доступа в рамках вашей организации и роли RBAC, с токенами с возможностью отзыва для каждого инструмента, подтверждением деструктивных действий, лимитами расходов и полным журналом аудита.

Доступ к самим сайтам

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

  • SSH с изолированной оболочкой (jailed shell), а также SFTP и FTP — изоляция CageFS гарантирует, что каждый пользователь видит только свои собственные файлы.
  • wp-cli из терминала панели и по SSH для операций, которые разработчики действительно хотят автоматизировать.
  • Полноценный редактор VS Code в браузере с помощью code-server: расширения, встроенный терминал и git, прямое редактирование файлов сайта в панели управления.
  • Встроенные phpMyAdmin и Adminer для баз данных, а также встроенный файловый менеджер — оба доступны по технологии единого входа (single-sign-on) прямо из панели управления, без необходимости вводить дополнительные учетные данные.
  • Ключи доступа и учетные данные создаются, выводятся списком, обновляются и отзываются на панели управления, выдаются на основе принципа наименьших привилегий, а их использование фиксируется в журнале аудита.
  • Тестирование с клонированием и пушем на рабочий сервер защищает рабочую среду от рискованных изменений, поэтому первое изменение нового соавтора никогда не попадет напрямую на активный сайт.

Как настроить доступы в соответствии с вашими реальными рабочими процессами

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

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

Реселлер работает точно так же, но на уровень выше: организация-реселлер содержит клиентские организации, каждая из которых имеет собственные учетные записи участников, представление биллинга и сайты. Тот же базовый принцип лежит в основе субаккаунтов, команд агентств и иерархий реселлеров — для них не существует отдельного, урезанного механизма.

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

Часто задаваемые вопросы

Могу ли я предоставить кому-либо доступ только к одному сайту?

Сегодня членство предоставляет свою роль во всей организации и во всем, что находится ниже нее в иерархии, поэтому способ разделить наборы сайтов заключается в разделении организаций — поместите эти сайты в их собственную дочернюю организацию и предоставьте членство там. Это понятная модель для агентств и реселлеров, где у каждого клиента уже есть свои границы. Ограничение ресурсов на уровне членства, привязка конкретного членства к определенным сайтам в рамках одной организации, является запланированным доработкой, а не доступной в настоящее время функцией.

Может ли приглашенный мной разработчик удалить сайт или опубликовать изменения на боевом сервере?

Роль разработчика не включает удаление или приостановку сайтов — эти ключи принадлежат роли владельца. Она предоставляет права на просмотр и создание сайтов, перезапуск служб, очистку кэша, управление ключами API и работу с тикетами. Права на развертывание и перенос в реальный режим также не входят в набор разработчика, поэтому продвижение в продакшн остается за владельцем аккаунта. Совместите это со стaging-средой, чтобы работы по сборке изначально выполнялись вне активного сайта.

Что сотрудники Zinn Digital® могут видеть в моем аккаунте?

Это полностью зависит от роли сотрудника, и каждая роль представляет собой узкий набор ключей разрешений. Служба поддержки, например, может просматривать вашу учетную запись и сайты, просматривать ваши тикеты и отвечать на них, перезапускать сайт и очищать его кэш, но не имеет доступа к настройкам биллинга, возвратам средств, тарифам или парку серверов. Вход в систему в качестве клиента — это отдельное разрешение, которым обладает только Супер-администратор, и в этом случае на панели управления отображается постоянный баннер олицетворения. каждое привилегированное действие записывается в журнал аудита с указанием субъекта, действия, цели, IP-адреса и метки времени, и вы можете самостоятельно просматривать журнал вашей организации.

Как быстро отозвать доступ, если сотрудник увольняется?

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

Имеют ли участники команды доступ к моим API-ключам?

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

Могу ли я подключить ИИ-агента, не предоставляя ему полный доступ ко всему?

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

Что мешает одному арендатору получить доступ к данным другого арендатора?

Безопасность на уровне строк в Postgres ограничивает запросы поддеревом организации вызывающего объекта непосредственно в самой базе данных, причем фильтр на уровне приложения используется в качестве эшелонированной защиты, а не единственного рубежа. Запросы на получение записей вне зоны видимости возвращают статус «не найдено» вместо ошибки доступа, поэтому никакой информации о существовании объекта не раскрывается. На стороне сервера изоляция для каждого сайта с помощью CageFS ограничивает оболочку и файлы каждого арендатора пределами его собственного сайта.

Могу ли я попробовать это перед оплатой?

Да. 14-дневный пробный период не требует привязки карты — никаких платежных реквизитов и обязательств — и распространяется на тариф Footprint-Free Hosting с возможностью размещения до пяти сайтов. Этого достаточно, чтобы пригласить коллегу, назначить роль и убедиться, что ограничения работают так, как вам нужно, до принятия окончательного решения.

Делегируйте с четкими границами

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

Начать бесплатно