Bitrix24

Разрешения

Выберите, что агент может менять в Битрикс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.deleteaskУдаление нельзя отменить.
crm.assign-othersdenyБитрикс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 ask

ask защищает только в терминале. Прежде чем агент получит профиль через 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 действует как сотрудник, который вошел, и каждое правило выше про пользователя вебхука относится к этому сотруднику.

Подробнее: настройки, безопасность.