Ролевая модель Deckhouse Development Portal (DDP, портал) определяет, какие действия пользователи могут выполнять в портале и к каким объектам они имеют доступ. Модель используется для разграничения прав при работе с API и веб-интерфейсом и применяется на уровне портала в целом и отдельных объектов.

Ролевая модель реализована в DDP Backend и использует базу данных PostgreSQL для хранения ролей, разрешений и их связей.

Компоненты ролевой модели

Ролевая модель состоит из следующих компонентов:

  • «Разрешение» — соответствует конкретному действию в DDP.
  • «Роль» — объединяет в себе набор тех или иных разрешений.
  • «Привязка роли» — связывает роль с пользователями или командами.

Для каждого объекта DDP существует свой набор разрешений, ролей и привязок ролей. Также есть глобальные роли, разрешения и привязки ролей, которые разрешают операции на глобальном уровне.

Если у пользователя нет соответствующих разрешений, он не сможет выполнять никакие операции на портале. Система проверяет разрешения для каждой операции.

Типы объектов и разрешения

Глобальные разрешения

Глобальные разрешения действуют на уровне всего портала и предоставляют доступ ко всем объектам определённого типа.

Ресурсы:

  • create:resources — создание ресурсов.
  • read:resources — просмотр ресурсов.
  • update:resources — редактирование ресурсов.
  • update:resources-order — изменение порядка и группировки ресурсов в каталоге.
  • delete:resources — удаление ресурсов.

Связи ресурсов:

  • create:resource-relations — создание связей между ресурсами.
  • read:resource-relations — просмотр связей между ресурсами.
  • update:resource-relations — редактирование связей между ресурсами.
  • delete:resource-relations — удаление связей между ресурсами.

Сущности:

  • create:entities — создание сущностей.
  • read:entities — просмотр сущностей.
  • update:entities — редактирование сущностей.
  • delete:entities — удаление сущностей.

Источники данных:

  • create:datasources — создание источников данных.
  • read:datasources — просмотр источников данных.
  • update:datasources — редактирование источников данных.
  • sync:datasources — синхронизация источников данных.
  • delete:datasources — удаление источников данных.

Действия:

  • create:actions — создание действий.
  • read:actions — просмотр действий.
  • update:actions — редактирование действий.
  • run:actions — выполнение действий.
  • delete:actions — удаление действий.

Автоматизации:

  • create:automations — создание автоматизаций.
  • read:automations — просмотр автоматизаций.
  • update:automations — редактирование автоматизаций.
  • delete:automations — удаление автоматизаций.

Сценарии:

  • create:workflows — создание сценариев.
  • read:workflows — просмотр сценариев.
  • update:workflows — редактирование сценариев.
  • delete:workflows — удаление сценариев.

Вебхуки:

  • create:webhooks — создание вебхуков.
  • read:webhooks — просмотр вебхуков.
  • update:webhooks — редактирование вебхуков.
  • delete:webhooks — удаление вебхуков.

Виджеты:

  • create:widgets — создание виджетов.
  • read:widgets — просмотр виджетов.
  • update:widgets — редактирование виджетов.
  • run:widget-actions — выполнение действий виджетов.
  • delete:widgets — удаление виджетов.

Дашборды:

  • create:dashboards — создание дашбордов.
  • read:dashboards — просмотр дашбордов.
  • update:dashboards — редактирование дашбордов.
  • delete:dashboards — удаление дашбордов.
  • create:page-dashboards — добавление дашбордов на страницы «Администрирование», «Каталог» и «Самообслуживание».
  • delete:page-dashboards — удаление дашбордов со страниц «Администрирование», «Каталог» и «Самообслуживание».

MCP:

  • read:mcp-servers — просмотр подключённых MCP-серверов.
  • edit:mcp-servers — подключение, редактирование, синхронизация каталога и удаление MCP-серверов.
  • read:mcp-collections — просмотр MCP-коллекций.
  • edit:mcp-collections — создание, редактирование и удаление MCP-коллекций.
  • read:mcp-tools — просмотр пользовательских MCP-инструментов.
  • edit:mcp-tools — создание, редактирование и удаление пользовательских MCP-инструментов.

AI-агенты и навыки:

  • use:ai-agents — использование доступных агентов в чате, виджете и процессе.
  • read:ai-agents, edit:ai-agents — просмотр и управление подключениями и источниками агентов.
  • read:ai-agent-runs, cancel:ai-agent-runs — просмотр и остановка своих запусков.
  • read:ai-provider-templates, edit:ai-provider-templates, use:ai-provider-templates — просмотр, управление и использование шаблонов AI-провайдеров.
  • read:agent-skills, edit:agent-skills — просмотр и управление навыками.
  • read:agent-skill-sources, edit:agent-skill-sources — просмотр и управление источниками навыков.
  • read:ai-statistics — общая статистика использования AI.

Рабочие пространства:

  • create:workspaces, read:workspaces — создание и просмотр рабочих пространств.
  • update:workspaces — запуск, обновление и открытие IDE.
  • cancel:workspaces, delete:workspaces — остановка и удаление.
  • create:workspace-templates, read:workspace-templates, edit:workspace-templates, use:workspace-templates — создание, просмотр, изменение и использование шаблонов.
  • read:workspace-template-sources, edit:workspace-template-sources — просмотр и управление источниками шаблонов.
  • read:workspace-policy, edit:workspace-policy — просмотр и изменение лимитов установки.

Внешние сервисы:

  • create:external-services — создание внешних сервисов.
  • read:external-services — просмотр внешних сервисов.
  • update:external-services — редактирование внешних сервисов.
  • delete:external-services — удаление внешних сервисов.

Доверенные сертификаты:

  • create:trusted-certificates — добавление доверенных сертификатов.
  • read:trusted-certificates — просмотр доверенных сертификатов.
  • update:trusted-certificates — редактирование доверенных сертификатов.
  • delete:trusted-certificates — удаление доверенных сертификатов.

Процессы:

  • create:processes — создание процессов.
  • read:processes — просмотр процессов.
  • update:processes — редактирование процессов.
  • delete:processes — удаление процессов.
  • control:processes — запуск, приостановка, возобновление, остановка, повторный запуск и удаление экземпляров процессов для сущностей.

Команды:

  • create:teams — создание команд.
  • update:teams — редактирование команд.
  • delete:teams — удаление команд.
  • update:team-variables — редактирование переменных команд.
  • edit:team-filter-rules — настройка правил фильтрации групп при синхронизации из Dex.

Наборы данных:

  • read:seeds — просмотр наборов данных.
  • apply:seeds — применение наборов данных, мастер первоначальной настройки и баннер первоначальной настройки на главной.
  • delete:seeds — удаление наборов данных.

Правила маппинга главной:

  • create:home-mapping-sets — создание наборов маппинга главной.
  • update:home-mapping-sets — изменение наборов маппинга главной, выбор набора по умолчанию, включение и выключение главной. Подробнее — в документации по правилам маппинга.
  • delete:home-mapping-sets — удаление наборов маппинга главной.

Шаблоны микросервисов:

  • read:template-packs — просмотр версий шаблонов: галерея создания микросервиса и уведомления о новой версии шаблона.
  • edit:template-packs — отзыв, возврат и удаление версий шаблонов.
  • read:template-registries — просмотр подключений, настроек и запусков синхронизации реестра шаблонов.
  • edit:template-registries — изменение подключений и настроек реестра шаблонов, запуск синхронизации. Подробнее — в документации по реестру шаблонов.

Теги:

  • create:tags — создание тегов.
  • update:tags — редактирование тегов.
  • delete:tags — удаление тегов.

Системные оповещения:

  • create:system-alerts — создание системных оповещений.
  • read:system-alerts — просмотр системных оповещений.
  • update:system-alerts — редактирование системных оповещений.
  • delete:system-alerts — удаление системных оповещений.

Иконки:

  • create:icons — создание иконок.
  • delete:icons — удаление иконок.

Типы учётных данных:

  • edit:user-access-credentials-types — создание, редактирование и удаление типов учётных данных; настройка интеграции с Vault (просмотр и изменение конфигурации, проверка подключения).
  • rotate:encryption-key — ротация ключа шифрования. Подробнее — в документации по ротации ключа шифрования.

Пользователи:

  • edit:users — создание, блокировка, разблокировка и удаление пользователей, управление AI-провайдерами сервис-аккаунтов и просмотр AI-провайдеров всех пользователей.
  • create:users — разрешение есть в списке разрешений роли, но портал его не проверяет. Для создания пользователей требуется edit:users.
  • impersonate:users — запуск и завершение имперсонации пользователей. Подробнее — в документации по имперсонации.

Роли и привязки ролей:

  • edit:roles — создание, редактирование и удаление ролей.
  • edit:role-bindings — создание, редактирование и удаление привязок ролей для любых объектов.

Аудит-логи:

Разрешение update:team-variables позволяет редактировать переменные только тех команд, участником которых является пользователь. Даже супер-администратор не сможет изменить переменные команд, в которых не состоит.

Разрешения на просмотр страниц

Разрешения view: контролируют доступ к различным разделам интерфейса портала:

  • view:admin-page — доступ к разделу «Администрирование».
  • view:self-service-page — доступ к разделу «Самообслуживание».
  • view:ai-page — доступ к разделу «AI». Для работы с AI-ассистентом требуется доступ хотя бы к одному включённому агенту через use:ai-agents, use:ai-agent или владение при включённом owner-is-admin.

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

Разрешения на уровне объектов

Для каждого типа объекта существуют разрешения, которые действуют только на конкретный объект.

Для ресурсов:

  • read:resource — просмотр конкретного ресурса.
  • update:resource — редактирование конкретного ресурса.
  • delete:resource — удаление конкретного ресурса.
  • create:entities — создание сущностей ресурса.
  • read:entities — просмотр сущностей ресурса.
  • update:entities — редактирование сущностей ресурса.
  • delete:entities — удаление сущностей ресурса.
  • run:actions — выполнение действий для сущностей ресурса.
  • control:processes — управление процессами для сущностей ресурса.
  • edit:role-bindings — редактирование привязок ролей для ресурса.

Для сущностей:

  • read:entity — просмотр конкретной сущности.
  • update:entity — редактирование конкретной сущности.
  • delete:entity — удаление конкретной сущности.
  • run:actions — выполнение действий для сущности.
  • control:processes — управление процессами для сущности.
  • edit:role-bindings — редактирование привязок ролей для сущности.

Для действий, автоматизаций, источников данных, сценариев, вебхуков, виджетов, дашбордов и процессов:

  • read:[object-type] — просмотр объекта, например read:action.
  • update:[object-type] — редактирование объекта.
  • delete:[object-type] — удаление объекта.
  • edit:role-bindings — редактирование привязок ролей для объекта.

Для некоторых типов объектов есть дополнительные разрешения:

  • run:action — выполнение конкретного действия.
  • sync:datasource — синхронизация конкретного источника данных.
  • run:widget-action — выполнение действий конкретного виджета.

MCP-коллекции

Для MCP-коллекций действуют разрешения:

  • use:mcp-collections — вызов инструментов коллекции в AI-ассистенте и через MCP-сервер портала.
  • edit:role-bindings — редактирование привязок ролей для коллекции.

Шаблоны AI-провайдеров

Для конкретного шаблона используются read:ai-provider-template, edit:ai-provider-template, use:ai-provider-template и edit:role-bindings. Глобальное use:ai-provider-templates разрешает использование шаблонов на уровне установки.

AI-агенты

Для конкретного подключения используются read:ai-agent, edit:ai-agent, use:ai-agent и edit:role-bindings. Для источника — read:ai-agent-source, edit:ai-agent-source и edit:role-bindings.

Использование агента не ограничено владельцем: выдайте use:ai-agent нужным пользователям или командам через привязку роли. Владение и участие в команде-владельце предоставляют права при включённой настройке owner-is-admin.

Навыки агентов

Для навыка используются read:agent-skill, edit:agent-skill и edit:role-bindings. Для источника навыков — read:agent-skill-source, edit:agent-skill-source и edit:role-bindings.

Назначенный агенту навык не выдаёт дополнительных разрешений. Чтение навыка в запуске требует инструмента curated_get_skill, доступного через MCP-коллекции агента и запускающего пользователя.

Рабочие пространства и шаблоны

Разрешения можно выдать на отдельный объект:

ОбъектРазрешения
Рабочее пространствоread:workspace, update:workspace, cancel:workspace, delete:workspace, edit:role-bindings
Шаблонread:workspace-template, edit:workspace-template, use:workspace-template, edit:role-bindings
Источник шаблоновread:workspace-template-source, edit:workspace-template-source, edit:role-bindings

update:workspace разрешает запуск, обновление и открытие IDE, cancel:workspace — остановку. Повтор операции дополнительно проверяет право на её вид. Создание рабочего пространства всегда требует глобального create:workspaces и права использования выбранного шаблона.

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

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

Для других объектов (действия, автоматизации, процессы, вебхуки, виджеты, дашборды, внешние сервисы и т. д.):

  • read:[object-type] — просмотр объекта.
  • update:[object-type] — редактирование объекта.
  • delete:[object-type] — удаление объекта.
  • edit:role-bindings — редактирование привязок ролей для объекта.

Записи запусков действий

Права на запись запуска действия проверяются через объект, к которому она относится: сущность, её ресурс или действие. Супер-администратор и глобальные разрешения действуют как обычно.

ОперацияЗапись процессаЗапись действия, запущенного для сущностиЗапись действия без сущности
Просмотр записи и её видимость в спискеread:entities глобально или на ресурс, read:entity, владение сущностьюread:entities глобально или на ресурс, read:entity, владение сущностьюread:actions глобально, read:action на действие
Отмена, перезапуск и удалениеcontrol:processes глобально, на ресурс или на сущностьrun:actions глобально, на ресурс или на сущностьrun:actions глобально, run:action на действие

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

Без нужного разрешения кнопки управления записью неактивны.

Иерархия проверки разрешений

Ролевая модель иерархическая, при обработке запроса DDP Backend проверяет права доступа в определенном порядке. Например, чтобы проверить, может ли пользователь изменять конкретную сущность, выполняется следующая последовательность действий:

1. Супер-администратор

  • Проверка, является ли пользователь супер-администратором. Если пользователь является супер-администратором, то дальнейшие проверки не производятся.

2. Глобальные роли

  • Проверка по JWT-токену пользователя, в каких группах он состоит.
  • Поиск глобальных ролей для пользователя и его групп по привязкам глобальных ролей.
  • Проверка разрешений в глобальных ролях: если в одной из глобальных ролей, привязанных к пользователю, либо его команде, присутствует разрешение update:entities, то пользователь будет обладать правами на редактирование любых сущностей в DDP, дальнейшие проверки не производятся.

3. Роли ресурса

  • Поиск ролей ресурса для пользователя и его групп по привязкам ролей конкретного ресурса.
  • Проверка разрешений в ролях ресурса: если в одной из ролей ресурса, привязанных к пользователю, либо его команде, присутствует разрешение update:entities, то пользователь будет обладать правами на редактирование любых сущностей данного ресурса, дальнейшие проверки не производятся.

4. Роли сущностей

  • Поиск ролей сущностей для пользователя и его групп по привязкам ролей конкретной сущности.
  • Проверка разрешений в ролях сущности: если в одной из ролей сущности, привязанных к пользователю, либо его команде, присутствует разрешение update:entity, то пользователь будет обладать правами на редактирование данной сущности.

5. Владение объектом (при включенной опции ownerIsAdmin)

  • Проверка, является ли пользователь владельцем объекта.
  • Проверка, состоит ли пользователь в команде-владельце объекта.
  • Если пользователь является владельцем объекта или участником команды-владельца, ему предоставляются все права администратора на объект.

Если ни на одном уровне не было найдено соответствующего разрешения, то действие будет запрещено.

Проверка владения включается только если в конфигурации портал включена опция ownerIsAdmin. Подробнее о владении объектами — в разделе «Владение объектами».

Владение объектами

Владение объектами — это механизм, который позволяет пользователям и командам становиться владельцами определённых объектов в системе и автоматически получать все права администратора на эти объекты.

Владелец объекта — это пользователь или команда, которая была назначена владельцем конкретного объекта.

Влияние владения на права доступа

При включённой опции ownerIsAdmin владелец объекта получает все права администратора для этого объекта. В этом случае владелец может:

  • читать, изменять и удалять объект;
  • управлять привязками ролей и доступом других пользователей;
  • выполнять любые действия, доступные администратору объекта.

Опция OwnerAsAdmin

Опция ownerIsAdmin задаёт поведение прав доступа для владельцев объектов.

  • «Включена (true)» — владельцы объектов получают полные права администратора на свои объекты.
  • «Отключена (false)» — владельцы объектов не получают автоматических прав; доступ контролируется только через роли.

Опция ownerIsAdmin должна быть настроена администратором портала в конфигурационном файле. По умолчанию опция выключена.

Автоматическое назначение владельца при создании

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

Примеры использования владения

Владение ресурсом

Если пользователь создаёт ресурс, он автоматически становится его владельцем. При включенной опции ownerIsAdmin он получает все права администратора на этот ресурс, включая:

  • Управление сущностями ресурса.
  • Настройку привязок ролей.
  • Полное редактирование и удаление ресурса.

Владение сущностью

Если пользователь создаёт сущность, он становится её владельцем и может:

  • Просматривать и редактировать сущность.
  • Управлять привязками ролей для сущности.
  • Удалять сущность.

Команда-владелец

Если владельцем объекта назначена команда, то при включенной опции ownerIsAdmin все участники этой команды получают права администратора на объект.

Роль по умолчанию

Портал позволяет назначить одну глобальную роль по умолчанию, разрешения к которой применяются ко всем авторизованным пользователям. Настройка выполняется в разделе «Администрирование» → «Управление доступом» с помощью переключателя в таблице «Роли».

Ролью по умолчанию может быть назначена только глобальная роль.

Команды

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

Команды и их состав синхронизируются из внешней системы аутентификации (Dex) при каждом входе пользователя. Создавать, редактировать и удалять команды можно также в веб-интерфейсе в разделе «Администрирование» → «Команды» с разрешениями create:teams, update:teams и delete:teams. Состав команды, изменённый вручную, перезаписывается данными из Dex при следующем входе пользователя.

Настройка ролей и управление доступом

Создание роли

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Роли».
  3. Нажмите кнопку «Создать роль».
  4. Заполните форму:
    • Название — уникальное название роли.
    • Описание — описание назначения роли.
    • Тип объекта — выберите уровень действия роли:
      • Глобальные — для глобальных разрешений.
      • Ресурсы — для разрешений на уровне ресурсов.
      • Сущности — для разрешений на уровне сущностей.
      • Действия — для разрешений на уровне действий.
      • и другие типы объектов.
    • Разрешения — выберите необходимые разрешения из списка.
  5. Нажмите «Сохранить».

Назначение роли пользователям

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Привязки ролей».
  3. Нажмите кнопку «Создать привязку роли».
  4. Заполните форму:
    • Название — название привязки роли.
    • Описание — описание назначения привязки.
    • Роль — выберите созданную роль.
    • Объект — выберите конкретный объект (если роль не глобальная).
    • Пользователи — добавьте пользователей, которым назначается роль.
    • Команды — добавьте команды, которым назначается роль.
  5. Нажмите «Сохранить».

Настройка роли по умолчанию

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Роли».
  3. Найдите глобальную роль, которую хотите сделать ролью по умолчанию.
  4. Включите переключатель «Роль по умолчанию».
  5. Подтвердите действие.

Ролью по умолчанию может быть только глобальная роль.

Редактирование существующих ролей

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Роли».
  3. Найдите нужную роль и нажмите «Редактировать».
  4. Внесите необходимые изменения:
    • Измените название или описание.
    • Добавьте или удалите разрешения.
  5. Нажмите «Сохранить».

Редактирование привязок ролей

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Привязки ролей».
  3. Найдите нужную привязку и нажмите «Редактировать».
  4. Внесите необходимые изменения:
    • Измените название или описание.
    • Добавьте или удалите пользователей.
    • Добавьте или удалите команды.
  5. Нажмите «Сохранить».

Удаление ролей и привязок

  1. Перейдите в соответствующий раздел.
  2. Найдите нужную роль или привязку.
  3. Нажмите кнопку «Удалить».
  4. Подтвердите удаление.

Удаление роли приведет к удалению всех связанных привязок ролей.

Просмотр разрешений пользователя или команды

Для пользователя

  1. Перейдите в раздел «Администрирование» → «Пользователи».

  2. В строке нужного пользователя нажмите «Посмотреть разрешения пользователя».

  3. В диалоге «Разрешения пользователя» просмотрите:

    • «Глобальные разрешения» — глобальные разрешения пользователя.
    • «Разрешения для …» — разрешения на уровне объектов, по одному блоку на объект. В каждом блоке указаны тип объекта, название объекта и привязка роли, которая предоставляет разрешения.

    Чтобы отфильтровать разрешения, используйте поле «Поиск».

Для команды

  1. Перейдите в раздел «Администрирование» → «Команды».

  2. В строке нужной команды нажмите «Посмотреть разрешения команды».

  3. В диалоге «Разрешения команды» просмотрите:

    • «Глобальные разрешения» — глобальные разрешения команды.
    • «Разрешения для …» — разрешения на уровне объектов, по одному блоку на объект. В каждом блоке указаны тип объекта, название объекта и привязка роли, которая предоставляет разрешения.

    Чтобы отфильтровать разрешения, используйте поле «Поиск».

Состав команды синхронизируется из внешней системы аутентификации (Dex).

Пресеты ролей

Портал предоставляет готовые пресеты ролей для быстрой настройки типовых сценариев доступа.

Глобальные пресеты

Пресет «Admin»
  • Тип: глобальные.
  • Разрешения: все глобальные разрешения.
  • Назначение: администраторы системы.
Пресет «Viewer»
  • Тип: глобальные.
  • Разрешения:
    • read:actions, read:automations, read:dashboards.
    • read:datasources, read:entities, read:external-services.
    • read:processes, read:resource-relations, read:resources.
    • read:seeds, read:system-alerts, read:template-packs, read:trusted-certificates, read:webhooks.
    • read:ai-provider-templates, read:agent-skills, read:agent-skill-sources.
    • read:widgets, read:workflows.
    • read:mcp-collections, read:mcp-servers, read:mcp-tools.
    • read:audit-logs, view:admin-page, view:ai-page, view:self-service-page.
  • Назначение: пользователи с правами только на просмотр.
Пресет «Developer»
  • Тип: глобальные.
  • Разрешения:
    • read:actions, read:dashboards, read:external-services.
    • read:processes, read:template-packs, read:widgets, read:workflows.
    • run:actions, run:widget-actions, control:processes.
    • update:team-variables.
  • Назначение: разработчики, которым нужен доступ к просмотру информации и выполнению действий, но не требуется доступ к созданию, изменению или удалению объектов. Разработчики видят только те сущности, к которым им предоставлен доступ через привязки ролей на уровне ресурсов или сущностей.

Пресет «Developer» также включает view:ai-page, use:ai-agents, просмотр агентов, шаблонов AI-провайдеров и MCP, просмотр и остановку своих запусков, чтение журнала MCP-вызовов, create:workspaces, read:workspace-templates и use:workspace-templates. Доступ к своим пространствам предоставляется владением при включённом owner-is-admin; глобальные права управления всеми пространствами в пресет не входят. Инструменты MCP и использование AI-провайдеров из шаблонов предоставляются отдельно.

Пресет «Platform engineer»
  • Тип: глобальные.
  • Разрешения:
    • Каталог: все разрешения для ресурсов, связей ресурсов и сущностей, включая update:resources-order.
    • Страница «Самообслуживание»: view:self-service-page и все разрешения для действий, автоматизаций, дашбордов, источников данных, вебхуков, сценариев, процессов и виджетов, включая run:actions, sync:datasources, control:processes, run:widget-actions, create:page-dashboards и delete:page-dashboards.
    • update:team-variables.
    • Страница «AI»: права из «Developer», управление агентами, источниками агентов и шаблонами AI-провайдеров, использование шаблонов AI-провайдеров и MCP-коллекций, чтение и изменение MCP, навыков и их источников, общая статистика AI, просмотр, запуск, остановка, обновление и удаление рабочих пространств.

Создание и редактирование шаблонов рабочих пространств, управление их источниками и лимитами установки предоставляются отдельно. Созданные ранее роли не обновляются при изменении пресета: проверьте их фактический состав.

Пресет предназначен для инженеров, которые настраивают портал.

Пресеты для процессов

Пресет «Process admin»
  • Тип: процессы.
  • Разрешения: delete:process, edit:role-bindings, read:process, update:process.
  • Назначение: администраторы процессов.
Пресет «Process viewer»
  • Тип: процессы.
  • Разрешения: read:process.
  • Назначение: пользователи с правами на просмотр процессов.

Пресеты для ресурсов

Пресет «Resource admin»
  • Тип: ресурсы.
  • Разрешения: все разрешения для ресурсов.
  • Назначение: администраторы конкретных ресурсов.

Использование пресетов

  1. Перейдите в раздел «Администрирование» → «Управление доступом».
  2. Выберите вкладку «Роли».
  3. Нажмите «Создать роль».
  4. Выберите тип объекта.
  5. В разделе «Пресеты» нажмите на нужный пресет.
  6. Настройте параметры роли:
    • Измените название и описание при необходимости.
    • Добавьте или удалите разрешения.
  7. Нажмите «Сохранить».

Примеры настройки ролей

Роль «Администратор системы»

  • Тип: глобальные.
  • Разрешения: все глобальные разрешения (используйте пресет «Admin»).
  • Назначение: супер-администраторы.

Роль «Администратор ресурса»

  • Тип: ресурсы.
  • Разрешения: все разрешения для ресурсов (используйте пресет «Resource admin»).
  • Назначение: конкретный ресурс, команда «Администраторы».

Роль «Оператор процессов»

  • Тип: процессы.
  • Разрешения: delete:process, edit:role-bindings, read:process, update:process (используйте пресет «Process admin»).
  • Назначение: команда «Операторы процессов».

Практические рекомендации

Создание ролей

  1. Определите уровень доступа: решите, нужна ли глобальная роль или роль для конкретного объекта.
  2. Выберите необходимые разрешения: используйте принцип минимальных привилегий.
  3. Создайте роль в соответствующем разделе администрирования.
  4. Назначьте роль пользователям или командам через привязки ролей.

Управление доступом

  1. Используйте команды для группового управления доступом.
  2. Применяйте роли по умолчанию для базовых разрешений всех пользователей.
  3. Используйте иерархию: глобальные роли для широких прав, роли объектов для специфических прав.
  4. Регулярно пересматривайте назначенные роли и привязки.

Безопасность

  1. Принцип минимальных привилегий: предоставляйте только необходимые разрешения.
  2. Регулярный аудит: проверяйте назначенные роли и их использование.
  3. Используйте команды вместо индивидуальных назначений для упрощения управления.
  4. Документируйте роли: используйте описания для понимания назначения ролей.