Skip to main content
Коли агент працює всередині пісочниці, його команди exec обмежені середовищем пісочниці. Режим підвищених привілеїв дає агенту змогу вийти з неї та натомість виконувати команди поза пісочницею, із налаштовуваними шлюзами схвалення.
Режим підвищених привілеїв змінює поведінку лише тоді, коли агент працює в пісочниці. Для агентів поза пісочницею exec уже виконується на хості.

Директиви

Керуйте режимом підвищених привілеїв для кожного сеансу за допомогою команд із похилою рискою: Також доступно як /elev on|off|ask|full. Надішліть /elevated без аргументу, щоб переглянути поточний рівень.

Як це працює

1

Перевірте доступність

Режим підвищених привілеїв має бути ввімкнений у конфігурації, а відправник — перебувати в списку дозволених:
2

Установіть рівень

Надішліть повідомлення лише з директивою, щоб установити типове значення для сеансу:
Або використайте її безпосередньо в повідомленні (застосовується лише до цього повідомлення):
3

Команди виконуються поза пісочницею

Коли режим підвищених привілеїв активний, виклики exec виходять із пісочниці. Ефективним хостом типово є gateway, або node, коли налаштованою чи сеансовою ціллю виконання exec є node. У режимі full схвалення exec пропускаються, якщо визначена політика схвалення режиму/хоста виконання вже є повністю дозвільною (security full, ask off); інакше звичайна політика схвалення все одно застосовується. У режимі on/ask налаштовані правила схвалення застосовуються завжди.

Порядок визначення

  1. Вбудована директива в повідомленні (застосовується лише до цього повідомлення)
  2. Перевизначення сеансу (установлюється надсиланням повідомлення лише з директивою)
  3. Глобальне типове значення (agents.defaults.elevatedDefault у конфігурації)

Доступність і списки дозволених

  • Глобальний шлюз: tools.elevated.enabled (має бути true)
  • Список дозволених відправників: tools.elevated.allowFrom зі списками для кожного каналу
  • Шлюз для окремого агента: agents.list[].tools.elevated.enabled (може лише додатково обмежувати; і глобальний шлюз, і шлюз окремого агента мають бути true)
  • Список дозволених для окремого агента: agents.list[].tools.elevated.allowFrom (відправник має відповідати як глобальному списку, так і списку окремого агента)
  • Резервний список дозволених від каналу: Plugin каналів можуть необов’язково надавати резервний список дозволених через адаптерний хук SDK, який використовується, коли tools.elevated.allowFrom.<provider> не налаштовано. Наразі жоден вбудований канал не реалізує цей хук, тому на практиці сьогодні кожному постачальнику потрібен явний запис tools.elevated.allowFrom.<provider>.
  • Усі шлюзи мають бути пройдені; інакше режим підвищених привілеїв вважається недоступним
Формати записів списку дозволених:

Чим режим підвищених привілеїв не керує

  • Політика інструментів: якщо exec заборонено політикою інструментів, режим підвищених привілеїв не може її перевизначити.
  • Політика вибору хоста: режим підвищених привілеїв не перетворює auto на вільне перевизначення між хостами. Він використовує налаштовані або сеансові правила цілі виконання, вибираючи node лише тоді, коли ціллю вже є node.
  • Окремо від /exec: директива /exec коригує типові значення виконання для сеансу (хост, безпека, запит схвалення, Node) для авторизованих відправників і не потребує режиму підвищених привілеїв.
Команда чату bash (префікс !; псевдонім /bash) має окремий шлюз, який вимагає ввімкнення tools.elevated на додачу до власного прапорця tools.bash.enabled. Вимкнення режиму підвищених привілеїв також блокує команди оболонки !.

Пов’язані матеріали

Інструмент Exec

Виконання команд оболонки агентом.

Схвалення Exec

Система схвалень і списків дозволених для exec.

Ізоляція в пісочниці

Конфігурація пісочниці на рівні Gateway.

Пісочниця, політика інструментів і режим підвищених привілеїв

Як ці три шлюзи поєднуються під час виклику інструмента.