Инструменты · Права
rights_action
Массовые операции с правами — один набор прав на объекты сразу во многих ролях одной транзакцией, роли «Чтение…» и «ДобавлениеИзменение…» по стандарту ИТС 689 для нового объекта, права как у образца во всех ролях, где они есть.
Когда использовать
- Выдать чтение нового справочника группе ролей —
grantсrolesилиroles_regex. - Отнять интерактивное удаление у всех ролей по шаблону имени —
revoke, сначала сdry_run. - Новый объект без ролей —
scaffold_rolesсоздаёт роли по стандарту и право просмотра подсистем. - Новый объект должен иметь права как у похожего —
clone_object_rights. - Права одной роли —
rights_write.
Соседние инструменты домена «Права»
Операции
| operation | Что делает | Нужно передать |
|---|---|---|
grantпо умолчанию | Выдаёт набор прав на объекты в выбранных ролях одной транзакцией. | project, objects, rights, ровно одно из roles и roles_regex; по желанию except |
revoke | Снимает право: явная запись удаляется, у ролей с правами по умолчанию ставится запрет. Без objects — все объекты каждой роли, где право выдано. По умолчанию исключены ПолныеПрава и АдминистраторСистемы. | project, rights, ровно одно из roles и roles_regex; по желанию objects, except |
scaffold_roles | Роли по ИТС 689: Чтение<Объект> с @read и ДобавлениеИзменение<Объект> с @edit (набор — sets), право просмотра подсистем и их родителей, по желанию — в роли по умолчанию. | project, objects; по желанию sets, subsystems, names, default_roles |
clone_object_rights | Копирует явные права образца from новым объектам во всех ролях, где они есть (или в выбранных). Ограничения копируются с заменой имени таблицы — с предупреждением. | project, from, objects; по желанию roles |
Параметры
| Параметр и тип | Обязательный | Описание | По умолчанию |
|---|---|---|---|
projectстрока | да | Идентификатор проекта рабочей области EDT — имя из ответа project_read (например, УТ2020). Для расширения — проект расширения. | — |
operationстрока | нет | Операция инструмента — значения и их смысл в таблице «Операции».значения: grant · revoke · scaffold_roles · clone_object_rights | grant |
objectsмассив (строка) | нет | Адреса объектов: Catalog.X, Catalog.X.Attribute.Y, Subsystem.A.Subsystem.B, Configuration. Обязательны везде, кроме revoke. | — |
rightsмассив (строка) | нет | Для grant и revoke: имена прав по-английски или по-русски либо наборы @read, @edit, @all. | — |
rolesмассив (строка) | нет | Точные имена ролей (Role.X или X). Для grant и revoke — ровно одно из roles и roles_regex; для clone_object_rights — по желанию. | — |
roles_regexстрока | нет | Регулярное выражение по именам ролей, привязанное к началу имени, например ^Чтение. Значения по умолчанию нет. | — |
exceptмассив (строка) | нет | Точные имена ролей, исключённые из выборки. У revoke по умолчанию: ПолныеПрава, АдминистраторСистемы, FullAccess, SystemAdministrator. | — |
setsмассив (строка) | нет | Для scaffold_roles: какие роли создать — @read, @edit, @all. По умолчанию @read и @edit. | — |
subsystemsмассив (строка) | нет | Для scaffold_roles: подсистемы, на которые выдаётся просмотр вместе с родителями. | — |
namesобъект | нет | Для scaffold_roles с одним объектом: свои имена ролей — {read, edit, all}. | — |
default_rolesбулево | нет | Для scaffold_roles: добавить новые роли в основные роли конфигурации. | false |
fromстрока | нет | Для clone_object_rights: объект-образец, чьи явные права копируются. | — |
dry_runбулево | нет | true — план и печать без транзакции; ограничения на число ролей нет. | false |
titleстрока | нет | Необязательная подпись вызова до 40 символов: клиент показывает её в шапке карточки вызова. На результат не влияет. | — |
Таблица собрана из схемы инструмента, которую получает агент при подключении.
Адреса
Адрес fqn не используется: объекты — в objects, роли — в roles или roles_regex, образец — в from.
Пример вызова и ответа
Ответ в профиле действия: objects, roles_matched N of M — сколько ролей совпало из всех, roles_changed, rights_changed; секции Roles (по строке на роль, одинаковые изменения сжимаются), Skipped (роли на поддержке и исключённые), Deferred (остаток сверх лимита с готовым следующим вызовом), Changes.
{
"project": "УТ2020",
"operation": "revoke",
"rights": ["InteractiveDelete", "InteractiveDeleteMarked"],
"roles_regex": "^ДобавлениеИзменение",
"dry_run": true
}Пример ответа в подготовке Устройство ответа — на странице Формат ответов.
Отказы и ошибки
Роль на поддержке — не отказ, а пропуск
Роли, закрытые поставщиком, перечислены в Skipped с пометкой 🔒 на поддержке; остальные меняются.
failed · support: UNDETERMINED
Режим поддержки хоть одной роли не удалось проверить на холодном старте — отказ всей операции. Повторите через 10–20 секунд.
failed · Unknown operation
Неизвестное значение operation. В ответе — fix_hint: supported: … со списком допустимых операций и секция Did you mean. Допустимо: grant, revoke, scaffold_roles, clone_object_rights.
failed · лицензия
Без действующего ключа инструмент отвечает карточкой failed с сообщением лицензия: … и подсказкой, где ввести ключ; в секции Context — список инструментов, доступных без ключа. Подробнее — Лицензия и бесплатный доступ.
Ограничения
- До 50 ролей за вызов; остальные — в
Deferredс готовым следующим вызовом. Уdry_runлимита нет. - Всё изменение — одна транзакция: либо применяется целиком, либо не применяется.
- Первый вызов после запуска EDT может ответить «повторите».