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

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

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

Несколько человек, привязанных к одной учетной записи, каждый со своими собственными ограниченными разрешениями.
  • 94Детализированные разрешения
  • 12Встроенные роли
  • 8Отделы сотрудников
  • 700 000+сайтов на хостинге по всему миру

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

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

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

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

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

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

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

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

Отсутствие невидимо

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

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

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

Владелец

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

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

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

Разработчик

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

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

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

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

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

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

Когда нашей команде нужен доступ, он строго ограничен и регистрируется

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

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

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

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

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

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

Разрешение customer.impersonate не входит в роль Manager — оно доступно только Super Admin. Когда сеанс выполняется от вашего имени, на панели управления отображается постоянный баннер олицетворения, поэтому никогда не возникнет сомнений относительно того, кто именно совершает действия.

Всё конфиденциальное зафиксировано в письменном виде

Каждое привилегированное и административное действие добавляется в журнал аудита, доступный только для добавления, в котором регистрируются инициатор, действие, целевой объект, сопутствующие метаданные, 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 для баз данных, а также встроенный файловый менеджер — оба инструмента с единой точкой входа (SSO) из панели управления без необходимости ввода дополнительных учетных данных.
  • Ключи доступа и учетные данные создаются, отображаются, сменяются и отзываются на панели управления, выдаются с минимальными правами доступа, а их использование фиксируется в журнале аудита.
  • Тестовая среда с функциями клонирования и переноса на рабочий сайт защищает продакшн от рискованных действий, поэтому первое изменение нового сотрудника никогда не попадет сразу на рабочий сайт.

Как структурировать доступ в соответствии с тем, как вы действительно работаете

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

Агентство использует дерево организаций. Каждый клиент получает собственную дочернюю организацию, в которой размещаются его сайты, а сотрудники клиента получают в ней членство: только для чтения — для заинтересованной стороны, которой требуется прозрачность, или владельца — для клиента, желающего управлять ресурсами самостоятельно. Ваши сотрудники обладают членством на более высоких уровнях дерева и видят всё портфолио; клиент видит только свою ветвь, и безопасность на уровне строк (Row-Level Security) обеспечивает выполнение этого правила на практике, а не на словах.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Делегируйте с границей, на которую можно указать

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

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