Современные технологии искусственного интеллекта, в частности большие языковые модели (LLM), такие как ChatGPT от OpenAI или Claude от Anthropic, завоевали широкое распространение в бизнес-приложениях. Они оказались мощными инструментами для обработки естественного языка, автоматизации рутинных задач и улучшения качества обслуживания пользователей. Однако внедрение LLM в корпоративные системы поднимает важный вопрос — как организовать авторизацию так, чтобы обеспечить безопасность и при этом не ограничивать функциональность этих интеллектуальных помощников. LLM сами по себе являются вычислительными моделями, которые принимают на вход человеческий язык, преобразуют его в числовые представления и на основе вероятностных вычислений формируют ответ. Из-за этого их поведение бывает непредсказуемым, а сами модели уязвимы для неправильных интерпретаций или даже манипуляций.
Поэтому доступ, который предоставляется таким системам, должен строго соответствовать конкретной задаче и не выходить за ее рамки. Принцип наименьших привилегий является ключом к безопасному использованию LLM. Основные сценарии применения LLM в организациях связаны с обработкой внутренних данных или интеграцией с внешними системами. Например, можно построить чат-бота, который отвечает на запросы сотрудников, используя информацию из корпоративной базы знаний или репозиториев кода. В таких случаях технологии Retrieval-Augmented Generation (RAG) позволяют пополнять запросы к LLM дополнительным контекстом — данными из корпоративных систем, которые преобразуются в векторные представления (эмбеддинги).
Это повышает точность и релевантность ответов, но одновременно вызывает вызовы по контролю доступа к исходной информации. Важным аспектом становится определение «эффективных прав», которые представляют собой пересечение прав пользователя, прав LLM и прав, необходимых для конкретующей задачи. Другими словами, LLM не должна иметь больше доступа, чем пользователь, от имени которого она действует, и не должна выходить за рамки потребностей конкретного сценария. Эта триединая модель позволяет ограничить возможности LLM и снизить риск получения или передачи конфиденциальной информации. При работе с контекстом из внутренних систем авторизация должна применяться на уровне приложения или контроллера, как только удается связать эмбеддинги с исходными ресурсами.
Выделение этой привязки на раннем этапе позволяет фильтровать контент по правам доступа и предотвращать передачу запрещённых данных в запросы к LLM. Соответственно, централизованное управление правами и представление метаданных обочерчивает рамки возможных действий. Однако ситуация усложняется, когда подключается контекст из сторонних систем. В этом сценарии данные и эмбеддинги находятся на разных сторонах API-границы, и обычно нет прямого доступа к исходным ресурсам. Чтобы эффективно выполнять авторизацию, необходимо найти баланс между передачей контроля внешним сервисам и собственным механизмом проверки прав.
Делегирование авторизации полностью на сторонний сервис приводит к высоким задержкам и зависимостям, особенно при ограничениях по частоте вызовов API. С другой стороны, синхронизация списков доступа или воспроизведение авторизационной логики сторонней системы внутри собственной платформы сопряжено с технической сложностью и затратами на поддержку. Для преодоления подобной сложности возможны три подхода. Первый — полностью полагаться на авторизацию стороннего сервиса, что просто, но снижает отзывчивость системы. Второй — синхронизировать списки разрешений (ACL), включая метаданные с эмбеддингами, что помогает применять фильтрацию локально, но требует сложной интеграции и постоянного обновления данных.
Третий подход — воссоздание логики авторизации стороннего приложения в собственной среде, что дает полный контроль, но требует глубокого анализа и реализации бизнес-правил, часто закрытых или изменяющихся без уведомления. Другой важный элемент взаимодействия LLM с организационными процессами — агенты, которые выполняют действия по командам пользователя через набор инструментов. Здесь модели выступают как посредники между запросом и внутренними API, например, функцией удаления ветки кода или закрытия задачи. В таких случаях растет количество потенциальных инструментов и логика их вызова может быстро усложниться. Для решения проблемы стандартизации используется протокол Model Context Protocol (MCP) от Anthropic, позволяющий системам описывать инструменты в машиночитаемом формате и эффективно управлять их использованием.
Важным моментом является и авторизация операций агентов, поскольку от них зачастую зависят критичные действия над данными и системами. Здесь вновь актуальна модель пересечения прав LLM, пользователя и конкретной задачи, при необходимости реализуемая либо в MCP сервере, либо в бизнес-логике приложения. Часто пытаются задействовать OAuth для авторизации LLM, однако протокол ориентирован на идентификацию и передачу базовых данных о пользователе, а не на детальное контроль доступа к ресурсам. Поэтому полноценная авторизация на уровне ресурсов с помощью OAuth невозможна без дополнительной логики на стороне приложения. В итоге использование больших языковых моделей в корпоративных приложениях сопряжено с множеством сложностей авторизации.
Они связаны с тем, что LLM работают с производными от исходных данных представлениями, часто распределены по различным системам и требуют контроля на уровне отдельных ресурсов. Необходимо продуманное применение принципа наименьших привилегий с учетом особенностей как внутренних, так и сторонних данных, а также эффективное внедрение протоколов и механизмов взаимодействия с инструментами и агентами. Безопасность в эпоху ИИ требует высокого уровня четкости и прозрачности политики авторизации, внедрения её на этапе связывания метаданных ресурсов и эмбеддингов, а также постоянного мониторинга и адаптации к изменениям в системах и используемых технологиях. Выполнение этих условий позволит раскрыть потенциал больших языковых моделей, сохранив конфиденциальность и устойчивость корпоративной инфраструктуры.