Термин Безопасность и доступы Средний

ACL

ACL, или Access Control List, - это список правил, который определяет, кто может читать, изменять или использовать конкретный объект.

Access Control List список контроля доступа список прав доступа права на объект object-level permissions document permissions permission list
ACL расшифровывается как Access Control List. Это список прав доступа для конкретного объекта: документа, страницы, файла, папки, записи CRM, канала, задачи, API-метода или фрагмента базы знаний. В ACL обычно указано, кто именно имеет доступ и что ему разрешено: читать, редактировать, удалять, комментировать, экспортировать или передавать дальше.

Простая аналогия: у каждого документа есть список людей и групп, которым можно его открыть. Если пользователя нет в списке или у его группы нет нужного права, система не должна показывать документ, даже если AI-агент нашел его через поиск.

В AI-системах ACL особенно важен для RAG и внутреннего поиска. Агент может индексировать документы из Google Drive, Confluence, Notion, CRM или корпоративной wiki. Но при ответе он должен использовать только те фрагменты, которые доступны конкретному пользователю. Иначе ассистент случайно расскажет сотруднику из отдела продаж данные из финансового отчета или юридического договора.

ACL отличается от RBAC. RBAC обычно говорит: у пользователя роль «менеджер», «админ», «юрист» или «поддержка». ACL говорит точнее: у этого пользователя или группы есть доступ именно к этому документу, задаче или записи. На практике они часто работают вместе: роль задает общие возможности, ACL ограничивает доступ к конкретным объектам.

Для AI-агента ACL нельзя заменять промптом. Фраза «не показывай закрытые документы» полезна, но недостаточна. Фильтрация должна происходить до генерации ответа: при retrieval, чтении файла, вызове API и tool calling. Модель должна получать только разрешенные данные, а опасные действия должны дополнительно проверяться в backend.

Хорошая реализация хранит права доступа в metadata: owner, workspace_id, document_id, groups, roles, visibility, sensitivity, allowed_users, denied_users, updated_at. Перед выдачей фрагмента в контекст система сверяет эти данные с текущим пользователем. После ответа полезно писать audit log: кто спросил, какие источники были использованы и какие действия агент пытался выполнить.

Главные риски: индексировать закрытые документы без прав, проверять ACL только на уровне интерфейса, но не retrieval, кэшировать ответы между пользователями, смешивать общие и приватные источники, давать агенту service account с лишними правами и не учитывать отозванные доступы. Для корпоративного AI это одна из самых частых причин утечек.

Примеры

  • В Google Drive документ доступен только отделу финансов. RAG-агент не должен использовать его фрагменты в ответе менеджеру по продажам.
  • В Confluence страница с внутренними регламентами HR открыта только группе hr-team. ACL хранится в metadata и проверяется перед добавлением фрагмента в контекст модели.
  • В CRM менеджер видит только свои сделки и сделки своей команды. AI-агент не должен отвечать по чужим сделкам, даже если они есть в общей базе.
  • В Slack агент может читать публичный канал, но не приватный канал руководства, если бот туда не добавлен и у пользователя нет доступа.
  • При tool calling агент хочет скачать файл. Backend проверяет ACL файла и права пользователя до вызова API, а не после генерации ответа.

Где используется

  • фильтрация документов в RAG по правам конкретного пользователя
  • внутренний поиск по Google Drive, Notion, Confluence и корпоративной wiki
  • ограничение доступа AI-агента к CRM, задачам, договорам и финансовым данным
  • разделение публичных, внутренних, конфиденциальных и персональных источников
  • проверка прав перед tool calling и API-действиями
  • защита от утечек между отделами, командами и клиентскими workspace
  • audit log использованных источников и действий агента
  • реализация принципа least privilege для service accounts
  • пересчет индекса после изменения прав доступа
  • тестирование AI-системы на доступ к запрещенным документам

Связанные термины

Частые вопросы

Что такое ACL простыми словами?

ACL - это список, где написано, кто может работать с конкретным объектом и что именно может делать. Например: этот документ можно читать группе sales, редактировать владельцу и нельзя показывать остальным.

Зачем ACL нужен AI-агенту?

AI-агент часто ищет по документам, CRM, задачам и файлам. ACL нужен, чтобы агент отвечал только по тем данным, которые разрешены конкретному пользователю. Без этого RAG и внутренний поиск могут случайно раскрыть закрытую информацию.

Чем ACL отличается от RBAC?

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

Можно ли настроить ACL только промптом?

Нет. Промпт может напомнить модели правило, но не является надежной защитой. ACL нужно проверять в коде: до retrieval, перед чтением файла, перед вызовом инструмента и перед записью данных.

Какие данные хранить в metadata для ACL?

Обычно хранят owner, workspace_id, document_id, список групп, список пользователей, уровень видимости, sensitivity, дату обновления прав и источник. Эти поля нужны, чтобы фильтровать фрагменты до передачи модели.

Какие ошибки чаще всего приводят к утечкам через AI?

Частые ошибки: индексировать все документы под админским аккаунтом, не фильтровать retrieval по пользователю, кэшировать ответы между пользователями, забывать обновлять права после изменения доступа и давать агенту слишком широкие API-разрешения.

Где читать дальше

Статьи по теме

Инструменты

Связанные инструменты

Доступ к API в рамках тарифов amoCRM amoCRM API

API amoCRM для интеграций с лидами, сделками, контактами, задачами, примечаниями, webhooks, OAuth и безопасным AI write-back.

Доступ REST в рамках тарифов Bitrix24 Bitrix24 REST API

REST API Bitrix24 для CRM, лидов, сделок, задач, комментариев, открытых линий, роботов, бизнес-процессов и безопасного AI write-back.

Atlassian plans Confluence REST API

REST API Confluence для чтения страниц, CQL-поиска, spaces, metadata, синхронизации wiki и построения RAG/AI-поиска.

Free / paid GitHub plans GitHub API

API GitHub для работы с репозиториями, issues, pull requests, checks, webhooks, GitHub Apps и AI-агентами для code review.

Free API / Google Workspace Google Docs API

API Google Docs для AI-агентов: создание, чтение, редактура, шаблоны, comments, approvals и документные workflow.

Google Workspace / API quotas Google Drive API

Google Drive API дает AI-агентам доступ к файлам в Google Drive: искать документы, читать метаданные, загружать новые файлы, обновлять версии и собирать базу знаний из корпоративных папок.