Як надати ШІ-агентам безпечний доступ до бази даних

Надання ШІ-агенту доступу до вашої робочої бази даних (production database) — це величезний ризик. Користувача з доступом лише для читання недостатньо. Агент не може оцінити намір або чутливість даних. Якщо ви надасте доступ на запис, ін'єкція промпту (prompt injection) може перетворити корисного агента на руйнівного.

Вам потрібні два рівні захисту, щоб убезпечити ваші дані.

Рівень 1: Статичні засоби контролю бази даних

Це базові налаштування всередині вашого рушія бази даних. Використовуйте їх насамперед:

  • Ролі з мінімальними привілеями: Створіть окрему роль для агента. Ніколи не використовуйте облікові записи адміністратора.
  • Репліки для читання: Направляйте аналітичних агентів на репліку, щоб вони не сповільнювали роботу основної бази.
  • Безпека на рівні рядків (Row-level security): Використовуйте політики, щоб обмежити дані, які може бачити агент.
  • Тайм-аути запитів: Запобігайте збоям сервера через неконтрольовані запити.
  • Білі списки (Allowlists): Обмежте підключення лише конкретними хостами.

Рівень 2: Контрольна панель під час виконання (Runtime Control Plane)

Статичні засоби контролю перевіряють лише ідентифікацію. Вони не можуть зупинити агента від витоку даних або виконання шкідливої інструкції. Вам потрібна контрольна панель, яка розташована між агентом і базою даних.

Цей рівень має виконувати чотири функції:

  • Класифікувати: Позначати кожен запит як читання, запис або зміну схеми.
  • Впроваджувати принцип «заборонено за замовчуванням»: Блокувати все, що не дозволено явно.
  • Контролювати ризиковані дії: Вимагати підтвердження людиною для масового видалення або зміни схеми.
  • Фіксувати все: Вести незмінний журнал (immutable log) кожної дії та кожного підтвердження.

Чому це важливо: Якщо ви пропишете правила в промпті, агент може їх проігнорувати. Контрольна панель працює поза контекстом агента. Вона бачить фактичний запит, а не план агента. Це захищає вас від ін'єкцій промптів.

Використовуйте цей чек-лист для безпечного доступу:

  • Окрема роль для кожного агента.
  • Використовуйте репліки для читання для дослідницьких запитів.
  • Впровадьте безпеку на рівні рядків.
  • Встановіть тайм-аути запитів.
  • Направляйте весь трафік через контрольну панель.
  • Використовуйте політику «заборонено за замовчуванням».
  • Вимагайте підтвердження людиною для завдань із високим рівнем ризику.
  • Ведіть незмінний журнал аудиту.

Статичні засоби виконують свою роботу. Контрольна панель робить решту. Вам потрібні обидва рівні.

Source: https://dev.to/maxime_dalessandro_28171d/how-to-give-an-ai-agent-safe-access-to-your-production-database-1ami

Optional learning community: https://t.me/GyaanSetuAi