Enterprise RAG on-premise с ACL: почему «просто векторная БД» ломает права
Компании ставят LLM «у себя», подключают SharePoint и ждут безопасный ответ. Без синхронизации прав и fail-closed retrieval получается тот же ChatGPT — только с всеми корпоративными PDF в индексе.
1. В чём проблема «голого» RAG
Типичный стек «on-prem AI»:
- Скачать документы в S3 / диск
- Нарезать чанки, положить в Qdrant / pgvector
- По вопросу top-k → LLM → ответ
Права SharePoint / Confluence / СЭД при этом теряются на шаге 1. Индекс видит всё, что видел сервисный аккаунт. Сотрудник из закупок получает фрагмент HR-дела или черновик M&A — не потому что «модель плохая», а потому что авторизации в retrieval нет.
Фраза в system prompt «не раскрывай конфиденциальное» — не контроль доступа. Это пожелание.
2. ACL до retrieval, не в промпте
Рабочая модель enterprise RAG:
- Контент и ACL синхронизируются раздельно (или вместе, но ACL — first-class).
- На запрос известен principal (SSO / session): группы, сайты, fail-closed флаги.
- Поиск и ранжирование идут только по разрешённому множеству document_id / chunk_id.
- Генерация не видит запрещённых чанков — даже «для контекста».
В ENCLAVE on-premise AI это продуктовая ось: не «чат с файлами», а вопрос-ответ по знаниям компании с теми же границами, что у исходных систем.
3. Fail-closed
Два режима при сомнении в праве:
- Fail-open — «вдруг можно» → риск утечки.
- Fail-closed — «неизвестно = нельзя» → документ не попадает в retrieval.
Для банков, промышленности, госсектора и любого контура с 152-ФЗ / КИИ разумно только fail-closed. Цена — иногда пустой ответ. Это правильное поведение, если альтернатива — чужой документ.
4. Из чего состоит on-prem контур
- Коннекторы — SharePoint, Confluence, Jira, S3, файловые шары, desktop-агенты
- Индекс — текст + метаданные + community/graph (GraphRAG) по желанию
- ACL store — кто что видит, с периодической пересинхронизацией
- Gateway — auth, ask/stream, audit
- LLM — локально или в вашем контуре (в т.ч. полный airgap)
- Workspace + admin — диалоги, источники, граф знаний, view-as
Отличие от «коробки LLM»: ценность не в генерации текста, а в разрешённом корпусе + цитатах + аудите.
5. Цитаты как продукт, не декор
Бизнес-заказчик (юрист, закупки, HR) не покупает «красивый чат». Он покупает:
- ответ по своим регламентам;
- кнопку «откуда это» → фрагмент первоисточника;
- уверенность, что соседний отдел не «подмешался».
На витрине это видно в секции продукта: workspace с ответом и блоком цитат. Для ИБ — отдельный security one-pager.
6. Как проверить за 30 дней (бизнес-критерии)
- 1–3 источника с реальной ACL-матрицей (не «всё public»).
- 20–40 golden questions от владельца процесса (не от ИТ).
- Smoke: пользователь A не видит документ пользователя B.
- Метрика: доля ответов с ≥1 полезной цитатой; время до ответа vs «спросить коллегу».
- Отчёт пилота → решение о лицензии контура.
Установка целевого контура — порядка одного рабочего дня; детали поставки — на главной.
FAQ
Чем RAG с ACL отличается от обычного RAG?
Обычный RAG ищет по всему индексу. RAG с ACL ограничивает кандидатов правами пользователя до генерации. Промпт-фильтры не заменяют это.
Достаточно ли запретить модели «секретные» документы текстом?
Нет. Модель не знает вашей матрицы доступа и не обязана ей следовать. Нужен enforcement на платформе.
Это только для ИБ?
Нет. Покупатель — бизнес (поиск знаний, онбординг, договоры). ACL — условие, без которого пилот не пустят в прод, а не «фича ради CISO».