এআই এজেন্টদের কীভাবে নিরাপদ ডেটাবেস অ্যাক্সেস দেবেন

আপনার প্রোডাকশন ডেটাবেসে একটি এআই এজেন্টকে অ্যাক্সেস দেওয়া একটি বিশাল ঝুঁকি। শুধুমাত্র একটি রিড-অনলি (read-only) ইউজার যথেষ্ট নয়। একটি এজেন্ট উদ্দেশ্য বা ডেটার সংবেদনশীলতা বিচার করতে পারে না। আপনি যদি রাইট (write) অ্যাক্সেস প্রদান করেন, তবে একটি প্রম্পট ইনজেকশন (prompt injection) একটি সহায়ক এজেন্টকে ধ্বংসাত্মক করে তুলতে পারে।

আপনার ডেটা নিরাপদ রাখতে আপনার সুরক্ষার দুটি স্তর প্রয়োজন।

স্তর ১: স্ট্যাটিক ডেটাবেস কন্ট্রোলস (Static Database Controls)

এগুলো হলো আপনার ডেটাবেস ইঞ্জিনের ভেতরের মৌলিক সেটিংস। এগুলো প্রথমে ব্যবহার করুন:

  • লিষ্ট-প্রিভিলেজ রোলস (Least-privilege roles): এজেন্টের জন্য একটি নির্দিষ্ট রোল তৈরি করুন। কখনোই অ্যাডমিন অ্যাকাউন্ট ব্যবহার করবেন না।
  • রিড রেপ্লিকা (Read replicas): অ্যানালিটিক্স এজেন্টদের একটি রেপ্লিকাতে পাঠান যাতে তারা প্রোডাকশনকে ধীর করে না দেয়।
  • রো-লেভেল সিকিউরিটি (Row-level security): এজেন্ট কী ডেটা দেখতে পারে তা সীমিত করতে পলিসি ব্যবহার করুন।
  • স্টেটমেন্ট টাইমআউট (Statement timeouts): অনিয়ন্ত্রিত কুয়েরি (runaway queries) আপনার সার্ভার ক্র্যাশ করা থেকে রক্ষা করতে এটি ব্যবহার করুন।
  • অ্যালাউলিস্ট (Allowlists): নির্দিষ্ট হোস্টের জন্য কানেকশন সীমাবদ্ধ করুন।

স্তর ২: রানটাইম কন্ট্রোল প্লেন (The Runtime Control Plane)

স্ট্যাটিক কন্ট্রোলগুলো শুধুমাত্র পরিচয় যাচাই করে। এগুলো কোনো এজেন্টকে ডেটা পাচার (exfiltrating data) করা বা কোনো ক্ষতিকারক নির্দেশ অনুসরণ করা থেকে আটকাতে পারে না। আপনার এমন একটি কন্ট্রোল প্লেন প্রয়োজন যা এজেন্ট এবং ডেটাবেসের মাঝে অবস্থান করবে।

এই স্তরটিকে অবশ্যই চারটি কাজ করতে হবে:

  • ক্লাসিফাই (Classify): প্রতিটি কুয়েরিকে রিড (read), রাইট (write), বা স্কিমা পরিবর্তন (schema change) হিসেবে চিহ্নিত করুন।
  • ডিফল্ট-ডিনাই (Enforce default-deny) প্রয়োগ করুন: আপনি স্পষ্টভাবে অনুমতি না দেওয়া পর্যন্ত সবকিছু ব্লক করুন।
  • ঝুঁকিপূর্ণ কাজগুলো নিয়ন্ত্রণ করুন (Gate risky actions): বাল্ক ডিলিট (bulk deletes) বা স্কিমা পরিবর্তনের জন্য একজন মানুষের অনুমোদন প্রয়োজন করুন।
  • সবকিছু রেকর্ড করুন: প্রতিটি অ্যাকশন এবং প্রতিটি অনুমোদনের একটি অপরিবর্তনীয় (immutable) লগ রাখুন।

কেন এটি গুরুত্বপূর্ণ: আপনি যদি প্রম্পটে নিয়মগুলো রাখেন, তবে এজেন্ট সেগুলো উপেক্ষা করতে পারে। একটি কন্ট্রোল প্লেন এজেন্টের কন্টেক্সটের বাইরে থাকে। এটি এজেন্টের পরিকল্পনা নয়, বরং প্রকৃত কুয়েরিটি দেখতে পায়। এটি আপনাকে প্রম্পট ইনজেকশন থেকে রক্ষা করে।

নিরাপদ অ্যাক্সেসের জন্য এই চেকলিস্টটি ব্যবহার করুন:

  • প্রতিটি এজেন্টের জন্য ডেডিকেটেড রোল।
  • অনুসন্ধানের জন্য রিড রেপ্লিকা ব্যবহার করুন।
  • রো-লেভেল সিকিউরিটি প্রয়োগ করুন।
  • স্টেটমেন্ট টাইমআউট সেট করুন।
  • সমস্ত ট্রাফিক একটি কন্ট্রোল প্লেনের মাধ্যমে পরিচালনা করুন।
  • একটি ডিফল্ট-ডিনাই পলিসি ব্যবহার করুন।
  • উচ্চ-ঝুঁকিপূর্ণ কাজের জন্য মানুষের অনুমোদন প্রয়োজন করুন।
  • একটি অপরিবর্তনীয় অডিট লগ রাখুন।

স্ট্যাটিক কন্ট্রোলগুলো তাদের কাজ করে। কন্ট্রোল প্লেন বাকি কাজগুলো সম্পন্ন করে। আপনার দুটিরই প্রয়োজন।

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

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi