Разрешения
Выберите, что агент может менять в Битрикс24, и какие проверки действуют при любых настройках.
Прочитайте эту страницу, прежде чем давать ИИ-агенту, скрипту или коллеге менять вашу CRM через b24. Здесь
показано, как решить для каждого профиля, что можно только читать, что сначала спрашивает вас и что выполняется
сразу. После нее вы сможете запретить агентам двигать сделки и удалять и будете знать, какие проверки действуют
независимо от разрешений.
Слова, которые использует эта страница:
- Профиль: имя, которое вы дали входу на один портал, например
work. Это первое слово команды. - Ключ прав: имя команды, например
deals.move, или группы команд, напримерdeals. Более длинный ключ точнее и побеждает. - Уровень: что происходит при запуске команды:
deny,readonly,askилиallow.
Уровни
| Уровень | Что происходит |
|---|---|
deny | Команда отклоняется, чтение тоже. |
readonly | Чтение работает, запись отклоняется. |
ask | Запись сначала спрашивает в терминале. Без терминала она отклоняется, если не передан --yes. Через MCP она выполняется. |
allow | Команда выполняется без вопроса. |
b24 work config set permissions.deals.move readonly # no deal moves through b24 on this profile
b24 work config set permissions.deals readonly # every deal command reads, none writes
b24 work config show # each key with its level and where it came fromОтказ приходит как permission_error (код выхода 5) и называет ключ. Он не значит, что вход сломан.
Агент не может ослабить разрешение. config set или config unset, которые сняли бы ограничение, отклоняются, если
вы не запускаете их сами в терминале.
Что задано до ваших изменений
| Ключ | Встроенный уровень | Почему |
|---|---|---|
deals.delete, leads.delete | ask | Удаление нельзя отменить. |
crm.assign-others | deny | Битрикс24 сообщает сотруднику, что ему передали запись. |
api.<method> из семейства, которое пишет людям, публикует или запускает автоматизацию | deny | См. ниже. Чтение тоже. |
api.<method>, который b24 сам не читает и не пишет | ask | В нем может быть то, что вы скрываете от агентов. |
| Любая другая команда | allow |
Через api call запрещены семейства im, imopenlines, imbot, imconnector, log.blogpost, SMS
(messageservice), почта (mailservice), телефония (telephony, voximplant), бизнес-процессы (bizproc,
crm.automation), дела CRM (crm.activity), задачи (tasks, task), user.add, публичные ссылки на файлы,
event.bind и batch. b24 work api show <method> называет ключ метода, его уровень и ключи, которые он проверяет
заодно.
Одна команда может проверять несколько ключей
Команда проверяет свой ключ и ключи того, что она делает по пути. --dry-run называет каждый с его уровнем и ничего
не отправляет:
b24 work deals update deal:12 --stage "Contract signed" --owner 34 --dry-run- Запись, которая задает стадию (
--stage,move), проверяетdeals.moveилиleads.move. Стадия успеха или провала иcloseпроверяют еще иdeals.closeилиleads.close. - Ответственный, который не совпадает с пользователем вебхука (
--owner), проверяетcrm.assign-others. api callпроверяетapi.<method>и ключ команды, которая делает то же самое.api call crm.deal.updateпроверяетdeals.update, а соstageIdеще иdeals.move. Поэтомуapi.crm.deal.update: denyостанавливает иdeals update,moveиclose.search allпропускает вид, чей ключ списка запрещен, и называет его вmissing.
Смена стадии запускает роботов портала
На стадии в Битрикс24 могут быть роботы и бизнес-процессы. Они отправляют клиенту письмо, SMS или счет или ставят
задачу коллеге. b24 их не видит. Если на вашем портале есть такие роботы, решите, кто может двигать сделку:
b24 work config set permissions.deals.move ask # at a terminal, every move asks you first
b24 work config set permissions.leads.move askask защищает только в терминале. Прежде чем агент получит профиль через MCP, поставьте перемещениям readonly
или включите подтверждение в клиенте агента, см. Агенты и MCP.
Агенты и MCP
Через MCP в терминале никого нет, чтобы ответить, а сервер не показывает форму, поэтому запись на уровне ask
выполняется. Это касается и встроенных уровней: агент с вебхуком администратора может удалять сделки и лиды.
Выберите одно из двух:
-
Поставьте
readonlyилиdenyкаждой записи, которую агент делать не должен:b24 work config set permissions.deals.move readonly b24 work config set permissions.leads.move readonly b24 work config set permissions.deals.delete deny b24 work config set permissions.leads.delete deny -
Или оставьте уровни и включите подтверждение для инструмента
b24_writeв клиенте агента, чтобы клиент спрашивал вас перед каждой записью.
mcp serve --permission deals.delete=deny и mcp add … --permission … делают уровень строже для одного этого
сервера. Профиль они никогда не ослабляют. См. MCP.
Проверки, которые действуют независимо от разрешений
B24_READ_ONLY=1отклоняет любую запись в этой оболочке или в этом таймере. Агент, которого запускаетschedule agent, работает с ним.- Вебхук сотрудника не может удалять или очищать. Если пользователь вебхука не администратор Битрикс24,
b24отклоняет любое удаление, изменение, которое очищает поле, отвязку, объединение дублей иapi call batch(причинаemployee.*). - Чтение контактов и компаний через
api callдоступно только администратору. - Телефоны и почта клиентов, которые не принадлежат пользователю вебхука: не больше 100 таких контактов и
компаний в день через
people showиorganizations show, на пользователя и его агентов вместе. Счетчик хранится на этом компьютере, поэтому он остановит случайность или агента, но не того, кто хочет забрать базу. - Чьи сделки копирует синхронизация (
crm.bitrix24:<portal>.unassigned,scope,self). Их задаете только вы, агенту отказывают. - Права доступа самого Битрикс24. Вебхук действует как сотрудник, который его создал, и портал отклоняет то, что
этому сотруднику нельзя (
bitrix.access-denied).
Если вы вошли через локальное приложение, а не через вебхук, b24 действует как сотрудник, который вошел, и каждое
правило выше про пользователя вебхука относится к этому сотруднику.
Подробнее: настройки, безопасность.