Документация

Документация/Безопасность и данные

Организации и политика агента

Как команда работает по одной подписке: роли, участники и приглашения, что видят владелец и администраторы и как «Политика агента» ограничивает агента на компьютерах сотрудников.

Организация — это команда, которая работает и платит по одной подписке. Владелец и администраторы приглашают людей, раздают роли и задают «Политику агента»: что агенту можно на компьютерах сотрудников. Всё это настраивают в веб-кабинете по адресу devmachine.ai/console, а приложение на компьютерах само получает правила с сервера. В кабинет входите тем же аккаунтом, что и в приложение; как устроен кабинет — на странице Аккаунт и веб-кабинет.

Как завести организацию

Кнопки «создать организацию» нет: после регистрации каждый работает в личном аккаунте. Организацию заводит команда DevMachine. Напишите в поддержку на support@devmachine.ai (см. Поддержка) и назовите почту первого владельца.

Человек работает либо в личном аккаунте, либо в одной организации. Чтобы перейти в другую организацию, сначала выйдите из прежней.

Когда вы вступаете в организацию, чаты и подписка личного аккаунта остаются в нём, но пока вы в организации, они недоступны. Автопродление личной подписки выключается, а на почту придёт письмо с датой, до которой подписка действует. Личный аккаунт снова откроется, когда вы выйдете из организации. Чаты на вашем компьютере приложение показывает как раньше.

Роли

РольЧто может
«Владелец»Всё, что может администратор, и ещё назначает владельцев.
«Администратор»Приглашает и удаляет участников, меняет роли (кроме владельца), покупает места, задаёт «Политику агента» и «Модули агента», видит «Журнал аудита» и истории чатов участников.
«Участник»Работает с агентом, видит и удаляет свои истории чатов.
«Наблюдатель»Видит свою организацию и свои истории. С агентом не работает.

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

Участники и приглашения

Владелец и администраторы управляют составом организации в веб-кабинете, в разделе «Участники». Там же видно «Занято мест N из M».

Пригласить человека:

  1. Откройте «Участники».
  2. Введите почту и выберите роль.
  3. Нажмите «Пригласить». Появится надпись «Приглашение отправлено на …».

Приглашение действует 7 дней. На один адрес — одно открытое приглашение. Участники и открытые приглашения вместе не могут занять больше мест, чем оплачено; если свободных мест нет, докупите их в «Тарифах». Открытое приглашение можно отправить ещё раз или отозвать. Если его отозвать, ссылка из письма перестанет работать, а место освободится.

Сменить роль можно прямо в строке участника. Удалить участника — кнопка «Удалить». Его ключи API в организации отзываются, сессии завершаются в течение минуты, а чаты, которые он там вёл, остаются в организации.

Как принять приглашение

  • По ссылке из письма: войдите или зарегистрируйтесь, проверьте название организации и нажмите «Принять».
  • В веб-кабинете: в «Обзоре» карточка «Вас пригласили» → «Принять».
  • В приложении: внизу левой колонки карточка «Вас пригласили в …» → «Принять» → «Принять приглашение». Кнопка «Скрыть» прячет карточку на этом компьютере.

Принять приглашение можно, только если ваша подтверждённая почта совпадает с адресом в приглашении и вы не состоите в другой организации. Если у вас открыт проект на сервере по SSH, приложение не покажет приглашение — примите его в веб-кабинете.

Как выйти

В веб-кабинете откройте «Настройки» (карточка «Организация») или «Участники» и нажмите «Выйти из организации». Вы потеряете доступ к чатам и ключам API организации, а личный аккаунт снова станет доступен. Вернуться можно только по новому приглашению. Единственный владелец выйти не может: сначала ему нужно сделать владельцем другого участника.

Что видят владелец и администраторы

Важно

Владелец и администраторы организации могут читать истории чатов участников — те, что хранятся на сервере. Менять их они не могут. В историях есть код и вывод команд. Если вы администратор, скажите об этом сотрудникам.

Ещё они видят:

  • расход каждого участника в процентах от лимита организации;
  • «Журнал аудита» организации;
  • журналы агентов с компьютеров сотрудников, если включён их сбор (о нём ниже).

Чаты участника, который ушёл из организации, остаются в ней.

Места и доля лимита

Организация платит за места: цена тарифа и лимит умножаются на число мест. Число мест выбирают в «Тарифах». Владелец или администратор может ограничить расход отдельного участника: «Расход» → «Ограничить» → «Доля лимита в процентах, от 1 до 100» → «Сохранить». Когда участник исчерпает свою долю, он получит отказ без кнопки покупки. Подробнее о тарифах — на странице Тарифы.

«Политика агента»

Страница «Политика агента» в веб-кабинете — для владельца и администраторов. На ней организация управляет агентом на компьютерах сотрудников. Правила отсюда главнее настроек на компьютере, а закреплённое сотрудник изменить не может. Каждое сохранение попадает в «Журнал аудита».

Отключить агента

  • Для всех. «Отключить агента для всех» → укажите причину → «Отключить для всех». Отключение срабатывает сразу, нажимать «Сохранить» не нужно: агент остановится у всех сотрудников, включая администраторов, при следующей проверке политики. Причину сотрудники увидят в сообщении об отключении агента. Включить обратно — «Включить агента» → «Включить».
  • Для ролей. В поле «Отключить для ролей» перечислите роли по одной в строке: у сотрудника с любой из них агент будет отключён. Пишите имена ролей буква в букву, как их выдаёт вход в систему. Роли в организации называются owner («Владелец»), admin («Администратор»), member («Участник») и viewer («Наблюдатель»); можно указать и роли из системы входа вашей компании.

На компьютере сотрудника отключение работает как аварийная остановка. Когда администратор снова включит агента, сотрудник включает его у себя сам.

Правила агента

Блок «Правила агента» разбит по темам: файлы, ключи, git, сеть, Kubernetes, базы данных, облака и другие. Для каждого правила можно выбрать «Не задано» (решает сотрудник), «Разрешить», «Записывать», «Спрашивать» или «Запретить». Отметка «Закрепить» не даёт сотруднику изменить правило. Закреплённое правило не снимают ни ответ «Разрешать всегда», ни режим «Без ограничений», в котором агент работает в одном чате без присмотра (см. Режимы агента). Правила для Kubernetes задаются таблицей действий по окружениям dev, stage и prod, правила для облаков — по провайдерам: просмотр, изменение, удаление.

Что можно сотрудникам

Если снять отметку, пункт станет недоступен всем сотрудникам:

  • «Режим «Полный»» — без него недоступна и работа без ограничений в одном чате;
  • «Работа без ограничений в одном чате»;
  • «Ответ «Разрешать всегда»» — без него агент спрашивает каждый раз, а сохранённые раньше ответы не действуют;
  • «Свои настройки правил».

Границы

В поле «Границы» (JSON) задают списки, которые служат верхней границей: на компьютере их можно только сузить. Разделы: папки, сеть, кластеры Kubernetes и namespace, брокеры и очереди, HTTP-запросы из Ignition (встроенного API-клиента), маскирование. Пустой список запрещает всё, незаданный ничего не ограничивает. Кнопка «Подставить пример» вставит образец.

В разделе маскирования организация может добавить свои форматы секретов: секреты этих форматов скрываются у всех сотрудников. Там же можно включить на сервере проверку того, что уходит модели, и выбрать, что делать с найденным: считать, замаскировать или не отправлять запрос. По умолчанию проверка выключена.

Сбор журналов агентов

Переключатель «Собирать журнал агентов с устройств» по умолчанию выключен. Когда он включён, компьютеры сотрудников отправляют журнал агента в «Журнал аудита» организации: вызовы, отказы, аварийные остановки. Источник у этих записей — «DevMachine ADE». Уходят только записи, сделанные после включения; секреты в них замаскированы, вывода команд нет. Сотрудник видит в приложении, что журнал уходит в организацию.

Как быстро правила доходят до компьютеров

«Интервал проверки, с» — от 10 до 3600 секунд, по умолчанию 30. Приложение запрашивает политику при запуске, в начале каждого хода агента, когда окно получает фокус, и раз в интервал, пока агент работает. Поэтому до работающего агента отключение доходит не позже чем через интервал проверки. Без сети действует последняя полученная политика.

Сотрудник видит политику в «Настройки → Безопасность агента → Организация». Там написано «Организация «…» задаёт границы» и «Проверяется каждые N с.», есть кнопка «Проверить сейчас». Закреплённые пункты на других вкладках подписаны «Задано организацией …». Старые версии приложения понимают политику не полностью — обновите приложение у сотрудников.

«Модули агента»

Модуль — набор инструментов, инструкций и навыков агента для одной области, например для баз данных или Kubernetes (см. Модули). На странице «Модули» веб-кабинета организация решает, какими модулями пользуются сотрудники. Для каждого модуля отдельно настраиваются «Доступ агента» (инструменты модуля у агента) и «Панель» (вид модуля для человека). У обоих на выбор «Разрешён», «Запрещён» или «Только для проектов». Проекты задают адресами репозиториев, * заменяет любую часть адреса. Можно добавить пояснение для сотрудников. Правила действуют на новые сессии агента. В приложении запрещённый модуль подписан «Запрещён организацией», и включить его нельзя.

«Журнал аудита»

В «Журнале аудита» видно, кто, что, когда и с каким итогом сделал в организации: отключал агента, менял политику и модули, приглашал и удалял участников, удалял истории и так далее. Журнал организации хранит события за последние 30 дней. Есть фильтры по категории, источнику, итогу и проекту. Кнопка «Выгрузить» сохраняет до 100 000 событий в CSV или JSON Lines. Изменить или удалить запись в журнале нельзя.

Файл администратора компьютера

ИТ-служба может разложить политику по компьютерам файлом, например через систему управления устройствами. Тогда во вкладке «Организация» будет написано «Границы задаёт файл администратора». Файл лежит в /Library/Application Support/Koder/policy.json на macOS, в /etc/koder/policy.json на Linux и в %ProgramData%\Koder\policy.json на Windows. Файл и сервер только сужают права: из двух источников действует то, что строже.

Ограничения

  • Одно членство на человека, создать организацию самому нельзя.
  • Если организацию приостановили, приложение пишет «Организация приостановлена»: агент не отвечает, а чаты, файлы и git работают как обычно. Чтобы вернуть организацию, напишите её владельцу.
  • Если вас удалили из организации, приложение покажет «Вы больше не в организации». Нажмите «Войти снова», и вы войдёте в личный аккаунт.
  • В личном аккаунте вы владелец своего пространства: страницы «Политика агента», «Модули» и «Журнал аудита» в веб-кабинете доступны и вам — для себя. «Журнал аудита» личного аккаунта хранит события 7 дней.
  • Для проекта на сервере по SSH действует та же политика организации.

Что дальше

Обновлено · Нашли неточность? Напишите на support@devmachine.ai или в Telegram.