Управление в Olivares AI построено на двух принципах, которые можно удержать в голове одновременно: наблюдай перед применением, и когда применяешь, по умолчанию — отказ. Продукт картирует и аудирует всё, к чему может обратиться каждый агент, задолго до того, как он заблокирует хоть одно действие, а шлюзы, которые он действительно использует, работают в режиме запрета по умолчанию.
Приоритет чтения: наблюдение перед применением
Стандартная позиция платформы — детективная, а не превентивная. Она строит карту доступа чтение/запись, получая логи, OpenTelemetry и нативный аудит вне основного канала — она никогда не находится на пути данных агента, поэтому сборщик, который выходит из строя, не может вывести продакшен из строя. На основе этой карты она сравнивает разрешённый с наблюдаемым и показывает дрейф для оценки человеком.
Это важно для понимания остальной части этой страницы. Продукт наблюдает и управляет широко; он не исполняет повсеместно. Там, где он может выполнить действие на вашей инфраструктуре, эта возможность является одной из трёх вещей, и каталог модулей помечает, какой именно:
- live — подключён и работает сегодня (узкий набор);
- on-demand — бэкенд построен и подключён к точке внедрения, но остаётся в режиме запрета или деградации до тех пор, пока вы его не настроите (исполнитель, диспетчер, учётные данные для инференса);
- seam — объявленный интерфейс с запретом по умолчанию без бэкенда в стандартной сборке.
Таким образом, отсутствие применения обычно по замыслу, а не упущение. Приоритет чтения означает, что честный режим по умолчанию — наблюдать и записывать, и ограничивать только те поверхности, которые вы явно включили.
Модель авторизации, в рамках которой вы управляете
Каждое управленческое решение проходит через ту же ядро авторизации, которое защищает остальной API. Три свойства стоит усвоить, прежде чем что-то менять.
RBAC работает по принципу запрета по умолчанию. Принципал без членства в тенанте получает отказ — неявных
грантов нет. Разрешения привязаны к тенанту, и обработчик работает только с тем единственным
тенантом, к которому привязан запрос, что закрывает классы confused-deputy и IDOR по
конструкции. Роли образуют лестницу: viewer читает, editor пишет, admin управляет IAM тенанта,
owner владеет всем. Чтение графа доступа намеренно является привилегией уровня editor и выше
— полная карта того, к чему может обратиться каждый агент, является дорожной картой разведки — и каждое
такое чтение записывается в аудиторский журнал.
Политика только ограничивает. Поверх RBAC вы можете подключить точку принятия решений на основе атрибутов. Композиция — это пересечение — RBAC ∩ нативный ABAC ∩ внешний PDP — поэтому политика может только дополнительно ограничить то, что RBAC уже разрешил; она никогда не может расширить грант. Это обеспечивается принудительно, а не по соглашению. Вы выбираете не более одного внешнего движка:
# Встроенный Cedar (чистый Go, без сайдкара) или OPA по HTTP. По умолчанию: none.
OLIVARES_PDP_ENGINE=cedar # или: opa | none
С Cedar вы создаёте правила forbid; пустой набор правил оставляет решение RBAC в силе.
С OPA ваш Rego должен быть разрешающим по умолчанию, где отсутствующий результат или любая ошибка
транспорта завершается отказом. Некорректная конфигурация PDP отключает только внешний PDP и
логирует факт — нативный ABAC и RBAC продолжают управлять, и неправильно настроенный движок никогда
не оставляет запрос без управления. Каждое ограничение, которое PDP применяет, аудируется.
Уровни риска и двойной контроль
Действия, которые попадают в очередь согласования, классифицируются по четырём уровням риска — low,
medium, high, critical — в соответствии с таксономией OWASP AI-agent. (Это отдельная
ось от уровней соответствия EU AI Act; не путайте их.) Уровень пересчитывается
из живой политики при каждом решении безопасности, никогда не читается из сохранённого снимка, поэтому
изменение политики вступает в силу немедленно, и устаревшая запись никогда не может удерживать планку ниже
текущей классификации.
Действие уровня critical несёт обязательный двухчеловечный минимум: не менее двух различных человеческих
согласующих, в соответствии с NIST SP 800-53 AC-3(2) двойная авторизация. Минимум применяется дважды
— при создании (сохранённый порог никогда не может начинаться ниже него) и пересчитывается при решении (понижённая
или устаревшая запись всё равно не может пройти с одним согласующим) — поэтому даже политика оператора,
которая явно понижает уровень, не может сделать критическое действие единоличным. Встроенный
критический набор — это необратимое семейство, формирующее инфраструктуру: развёртывание и вывод из эксплуатации,
удаление данных, изменения безопасности, хранение и ротация ключей, и повторное включение
окружения после аварийного выключателя.
Более низкие уровни не меняют механику движка — согласование, которое уже существует, требует как минимум одного человека — они являются словарём, на который опираются другие контроли (например, повышение уровня аутентификации для критического действия).
Шлюз согласования с человеком в контуре
Там, где продукт ограничивает действие, цикл таков: поверхность представляет (дрейф из карты доступа, находка модуля безопасности) → авторизованный оператор решает → решение записывается в аудиторский журнал. Движок согласования, который поддерживает это, работает сегодня: запрос открывается в режиме запрета по умолчанию, привязан к хешу плана и ограничен по времени. Инварианты применяются на стороне сервера, привязаны к стабильной идентичности пользователя (системный токен не имеет идентичности и не может решать):
- Разделение обязанностей — запросивший никогда не может решать свой собственный запрос.
- Защита от дублирования решающих — один человек считается один раз для порога.
- Истечение — определяется при чтении, поэтому истекший запрос не может привязаться даже до того, как очистка материализует его истечение.
Что ещё развивается — это более полная консоль оператора для рассмотрения; эндпоинты и движок поставляются сегодня. Руководство Управление и согласование описывает рабочий процесс.
Зависимость, которая делает всё это достоверным — идентичность по агенту. Аудит привязывает активность к учётным данным, а не к агенту как таковому; общий сервисный аккаунт сводит атрибуцию к уровню идентичности — это честно показывается как находка, никогда молча не восстанавливается. См. разрешённый и наблюдаемый и точность о том, что это делает с сигналом, на основе которого вы управляете.
Экстренный обход: аудируемый предохранительный клапан
Двойной контроль нуждается в предохранительном клапане для инцидента в 03:00, когда один из согласующих недоступен. Экстренный обход — это такой клапан, и он громкий по конструкции. Активация требует уровня admin и реального человека (системный токен отклоняется), аппаратно-подтверждённого (AAL3) повышения, письменного обоснования и активно записываемой сессии как предусловия. Грант ограничен по времени — по умолчанию один час, жёсткий максимум один день — и истекший грант не может ничего авторизовать.
Пока грант активен, действие в области применения может продолжаться без кворума согласования, но каждое использование добавляется к неизменяемому следу и аудиторскому журналу, указывая грант, действие и субъект — действие, выполненное в режиме экстренного обхода, навсегда отличимо от согласованного. Принудительная пост-ревизия замыкает цикл: новый грант не может быть активирован, пока предыдущий не проверен, и проверку должен провести другой человек, не активатор.
Аварийный выключатель: шлюз запрета на уровне всего окружения
Аварийный выключатель — это экстренная остановка одним нажатием, и он намеренно инвертирует обычную эргономику. Включение намеренно дёшево — уровень admin, обязательная причина, без кворума согласования, без повышения, без экстренного обхода — потому что остановка, которая ждёт консенсуса, — это не остановка. Уровень гарантии включающей сессии записывается для криминалистики; злоупотребление включением стоит только доступности, что является безопасным направлением.
Запись остановки — это единственный источник истины. Каждый управляемый шлюз исполнения обращается к ней в реальном времени при каждом действии и завершается отказом при ошибке чтения — точная инверсия контракта бюджетных шлюзов на отказоустойчивость, потому что нечитаемое состояние остановки никогда не должно означать «вперёд». Включение также отзывает поставленную в очередь работу, до которой шлюзы не могут добраться: каждое ожидающее согласование исполнения отменяется в той же транзакции, поэтому намерение, существовавшее до остановки, не может превратиться в грант, который исполнится в момент возвращения окружения. Действия управления сами по себе освобождены — остановка останавливает агентное окружение, никогда контроли, которые им управляют.
Повторное включение никогда не является односторонним. Оно ограничено новым двойным контролем согласования (минимум
critical с двумя различными людьми, структурно перепроверенный при включении, чтобы пониженная
политика не могла сделать его единоличным), и намеренно нет пути экстренного обхода для
повторного включения: «окружение остаётся остановленным» является безопасным состоянием. Принудительная пост-ревизия
незаинтересованным человеком закрывает инцидент.
Гарантия записанных решений
Какова бы ни была глубина рабочего процесса над ним, управленческое решение — это записанный факт. Мутирующие действия добавляются в аудиторский журнал с реальным действующим лицом в той же транзакции, что и изменение, а чувствительные чтения (граф доступа, сам журнал) самоаудируются в зафиксированной записи. Журнал является только для добавления и хеш-цепочкой, каждая запись несёт поля целостности цепочки, поэтому перезапись истории обнаруживаема, и он никогда не содержит персональные данные. Вы не можете сделать неуправляемое изменение, которое журнал молча забудет.
Связанные материалы
- Разрешённый и наблюдаемый — дрейф, на который действуют эти решения.
- Точность — насколько уверен сигнал, на основе которого принимается решение.
- Управление и согласование — пошаговый рабочий процесс согласования.
- Аварийный выключатель — шлюз запрета на уровне всего окружения в терминах продукта.
- Честность и ограничения — позиция запрета по умолчанию и детективного подхода полностью.