Документация Права доступа Cloud

Права доступа Cloud

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

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

Аутентификация и scope

Используйте сессию кабинета Cloud или API-токен с точным scope billing:read. Всегда передавайте UUID конкретного Пространства. Токен, ограниченный workspace:read, не может читать права.

curl -sS \
  -H "Authorization: Bearer $MOCKARTY_CLOUD_TOKEN" \
  "$MOCKARTY_CLOUD_URL/api/v1/cloud/entitlements?space_id=$MOCKARTY_SPACE_ID"

Успешный ответ содержит snapshot, revision и digest. Cloud также возвращает ETag; для ответа задано приватное кеширование без сохранения.

Проверка через CLI

mockarty-cli cloud-entitlements get --space "$MOCKARTY_SPACE_ID"

CLI оборачивает результат полями source: "projection" и authoritative: false, чтобы его нельзя было перепутать с подписанными правами Desktop. SDK-клиенты Cloud Spaces управляют совместной работой отдельно; эта информационная ручка не является подписанными правами Desktop.

Подписанный authority Desktop

Подключённый Desktop получает отдельный signed-current envelope, проверенный подписью, через внутренний канал устройства. Запрос требует точную короткоживущую учётную запись и совпадение Пространства, установки и профиля. Сессия кабинета или API-токен не могут использоваться как authority Desktop.

Учётные данные Desktop ротируются и хранятся в системном хранилище ОС. Платные локальные возможности определяет подписанный envelope, а не проекция кабинета и не сам факт подключения профиля. Если Cloud недоступен, Desktop может использовать только срок действия и grace-период уже проверенного envelope; сбой связи никогда не продлевает этот период.

Для розничных Free, Pro и Team Desktop разделяет личные возможности конкретного человека и общие возможности выбранного Пространства. Действующее место Team даёт владельцу переносимые локальные возможности Pro. Общие возможности Team действуют в собственных Пространствах этой Team. Участник Team может использовать переносимые возможности Pro в чужом Пространстве Pro, если его пригласили с подходящей ролью; там действуют лимиты этого Пространства. Пользователь Pro в бесплатном чужом Пространстве сохраняет платные локальные инструменты, но не открывает там платную общую работу. Пользователь Free в Пространстве Pro не получает платные инструменты хозяина как свои. Платное общее действие требует одновременно личных прав, прав Пространства и подходящей роли. Права Team A не работают в Team B, а удалённое или приостановленное место больше не даёт доступа Team.

Результаты запроса

  • 200 — зафиксированная проекция актуальна.
  • 400 — space_id отсутствует или не является UUID.
  • 403 — вызывающий пользователь не состоит в Пространстве либо API-токен не имеет billing:read.
  • 409 — зафиксированное коммерческое изменение ожидает следующую ревизию прав. Устаревший snapshot не возвращается. Повторите запрос через интервал из Retry-After.
  • 503 — источник прав или его коммерческий signer временно недоступен.

Встроенный MCP-сервер пока не предоставляет эту операцию. Для MCP требуется аутентифицированное делегирование principal Cloud, чтобы сервер проверял ту же границу пользователя и Пространства; личность администратора или вставленный вручную токен не заменяют делегирование.

Управление участниками и ролями описано в разделе Пространства Cloud и совместная работа.