Корпоративный · Управление агентами

У ваших агентов есть имена и владельцы
и выключатель.

К 2027 году флоты — а флот анонимных процессов — становятся обузой. LeanCTX делает каждого агента зарегистрированной личностью: уникальной, принадлежащей человеку, управляемой по жизненному циклу, аттестованной и отзывной — с отслеживанием каждого перехода в неизменяемом журнале аудита.

Модель

Личность определяет ответственного. Роль определяет исполнителя.

Роли остаются многократно используемыми профилями разрешений. Личность добавляет подотчетность поверх: agent_id, owner, status, key binding, attestation, heartbeat. Четыре свойства делают флот управляемым.

Зарегистрированная личность

Каждый агент — это запись: стабильный agent_id, роль, привязка ключа Ed25519, дата создания. Больше никаких догадок о том, какой процесс что сделал — реестр является источником истины о том, кто существует.

Принадлежность всегда

Регистрация без владельца-человека отклоняется. Подотчетность структурна: каждая запись аудита, каждое событие жизненного цикла, каждый пакет доказательств отслеживается до человека, который несет ответственность за агента.

Отзыв одной транзакцией

Приостановить агента или вывести из эксплуатации владельца и приостановить весь его флот атомарно — каждая приостановка индивидуально аудируется. Вывод из эксплуатации окончателен и записывает закрывающую запись аудита.

Аттестован, честно

Бинарные хеши и хеши конфигурации ролей при регистрации и при каждом heartbeat. Отклонение обнаруживается немедленно (код выхода 3) — обновление, редактирование конфига или подделка. Мы документируем то, от чего это НЕ защищает.

На практике

Флот из пяти команд.

Всё ориентировано на CLI и честно по коду выхода, чтобы ваши пайплайны и мониторинг могли действовать на основе этого.

$ lean-ctx agent register --id ci-reviewer-1 --role reviewer --owner alice@org
registered: ci-reviewer-1 (role reviewer, owner alice@org)
spiffe id: spiffe://org.example/agent/reviewer/ci-reviewer-1

$ lean-ctx agent heartbeat ci-reviewer-1     # liveness + drift; exit 3 on drift

$ lean-ctx agent offboard-owner alice@org --reason "left company"
suspended 2 agent(s): ci-coder-1, ci-reviewer-1

$ lean-ctx agent check ci-reviewer-1         # enforce-path decision point
ci-reviewer-1: DENIED — suspended: left company   # exit 1

Каждый переход записывает неизменяемую аудиторскую запись — зарегистрировано, приостановлено, возобновлено, выведено из эксплуатации являются стандартизированными типами событий (OCP Part 4), поэтому история идентификации попадает в ваши пакеты доказательств автоматически. Полная модель и угрозы: документация по идентификаторам агентов.

"Что происходит, когда кто-то уходит?"

Их агенты останавливаются. Механически. Вывод владельца из системы приостанавливает каждого активного агента этого владельца в одной заблокированной транзакции — подключено к вашему потоку депровизирования SCIM или запущено по контрольному списку увольняющегося сотрудника. Агенты-сироты — это забытые служебные учетные записи эпохи агентов; LeanCTX делает их структурно невозможными.

FAQ

Вопросы, которые задают команды платформы.

Почему агентам нужны идентификаторы, если у них уже есть роли?

Роль говорит о том, что может делать процесс; идентификатор говорит о том, кто за это несет ответственность. При работе с флотами важными являются операционные вопросы: кому принадлежит этот агент, когда он был в последний раз активен, кто его выключил и почему, что происходит с его разрешениями, когда уходит владелец? Реестр отвечает на них механически — идентификатор (кто) остается отдельным от роли (что), поэтому роли остаются многократно используемыми профилями.

Что такое проблема агентов-сирот?

Агент, чей человек-владелец покинул компанию, но который продолжает работать с его учетными данными — версия забытой служебной учетной записи эпохи агентов, за исключением того, что он читает код и выполняет команды. LeanCTX устраняет это структурно: владельцы являются обязательными при регистрации, и одна команда (или ваш поток депровизирования SCIM) приостанавливает весь активный флот владельца в одной заблокированной транзакции, причем каждая приостановка проходит аудит.

Как работает жизненный цикл?

active → suspended ⇄ active → decommissioned. Приостановка сопровождается причиной и обратима; вывод из эксплуатации окончателен по дизайну — запись никогда не удаляется и не активируется снова, потому что идентификатор является частью истории аудита. Каждый переход записывает неизменяемую аудиторскую запись с использованием стандартизированных типов событий (agent_registered, agent_suspended, agent_resumed, agent_decommissioned — OCP Part 4), поэтому изменения идентификаторов автоматически отображаются в пакетах доказательств.

Что на самом деле доказывает аттестация?

Регистрация и каждый хеш «сердцебиения» хешируют работающий бинарный файл и активный файл роли. Измененный хеш означает, что что-то изменилось — обновление, редактирование конфигурации или вмешательство — и проявляется как дрейф с ненулевым кодом выхода, на который может оповестить ваш мониторинг. Это обнаружение дрейфа, а не удаленная аттестация: злоумышленник с полным контролем над хостом может подделать хеши, и наша модель угроз прямо об этом говорит. Это дополняет, но не заменяет укрепление хостов и подписание кода.

Как это интегрируется с нашим IAM?

Три хука. SPIFFE: каждая запись сопоставляется со spiffe://<trust-domain>/agent/<role>/<agent_id>, поэтому идентификатор рабочей нагрузки K8s (SPIRE) и LeanCTX одинаковы. SCIM: подключите ваш поток депровизирования к вызову отвода владельца. Режим принуждения: API проверки — это единая точка принятия решений — незарегистрированные или приостановленные агенты отклоняются; начните в режиме мониторинга, перейдите на режим принуждения после регистрации флота.

Управляйте рабочей силой агентов.

Зарегистрируйте первого агента за минуту, локально и бесплатно — или поговорите с нами о развертывании всего флота с использованием SCIM и SPIFFE.