Cara Memberikan Akses Database yang Aman kepada Agen AI

Memberikan akses database produksi Anda kepada agen AI adalah risiko yang sangat besar. Pengguna read-only saja tidak cukup. Seorang agen tidak dapat menilai niat atau sensitivitas data. Jika Anda memberikan akses tulis (write access), prompt injection dapat mengubah agen yang membantu menjadi agen yang merusak.

Anda memerlukan dua lapisan perlindungan untuk menjaga keamanan data Anda.

Lapisan 1: Kontrol Database Statis Ini adalah pengaturan dasar di dalam mesin database Anda. Gunakan ini terlebih dahulu:

  • Peran hak istimewa minimum (least-privilege roles): Buat peran khusus untuk agen. Jangan pernah gunakan akun admin.
  • Replika baca (read replicas): Arahkan agen analitik ke replika agar tidak memperlambat produksi.
  • Keamanan tingkat baris (row-level security): Gunakan kebijakan untuk membatasi data apa yang dapat dilihat oleh agen.
  • Batas waktu pernyataan (statement timeouts): Cegah kueri yang tidak terkendali agar tidak merusak server Anda.
  • Daftar izin (allowlists): Batasi koneksi ke host tertentu.

Lapisan 2: Runtime Control Plane Kontrol statis hanya memeriksa identitas. Kontrol tersebut tidak dapat menghentikan agen dari mengeksfiltrasi data atau mengikuti instruksi berbahaya. Anda memerlukan control plane yang berada di antara agen dan database.

Lapisan ini harus melakukan empat hal:

  • Klasifikasi: Beri label pada setiap kueri sebagai baca (read), tulis (write), atau perubahan skema (schema change).
  • Terapkan default-deny: Blokir segalanya kecuali Anda mengizinkannya secara eksplisit.
  • Batasi tindakan berisiko: Wajibkan manusia untuk menyetujui penghapusan massal atau perubahan skema.
  • Catat segalanya: Simpan log yang tidak dapat diubah (immutable log) dari setiap tindakan dan setiap persetujuan.

Mengapa ini penting: Jika Anda menaruh aturan di dalam prompt, agen dapat mengabaikannya. Control plane berada di luar konteks agen. Ia melihat kueri yang sebenarnya, bukan rencana agen. Ini melindungi Anda dari prompt injection.

Gunakan daftar periksa ini untuk akses yang aman:

  • Peran khusus per agen.
  • Gunakan replika baca untuk eksplorasi.
  • Terapkan keamanan tingkat baris (row-level security).
  • Atur batas waktu pernyataan (statement timeouts).
  • Alirkan semua lalu lintas melalui control plane.
  • Gunakan kebijakan default-deny.
  • Wajibkan persetujuan manusia untuk tugas berisiko tinggi.
  • Simpan log audit yang tidak dapat diubah (immutable audit log).

Kontrol statis melakukan tugasnya. Control plane melakukan sisanya. Anda membutuhkan keduanya.

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

Komunitas belajar opsional: https://t.me/GyaanSetuAi