AI एजेंट्स को सुरक्षित डेटाबेस एक्सेस कैसे दें
अपने प्रोडक्शन डेटाबेस का एक्सेस किसी AI एजेंट को देना एक बहुत बड़ा जोखिम है। केवल एक 'read-only' यूजर होना काफी नहीं है। एक एजेंट इरादे (intent) या डेटा की संवेदनशीलता का अंदाजा नहीं लगा सकता। यदि आप 'write access' देते हैं, तो एक 'prompt injection' एक मददगार एजेंट को विनाशकारी बना सकता है।
अपने डेटा को सुरक्षित रखने के लिए आपको सुरक्षा की दो परतों (layers) की आवश्यकता है।
लेयर 1: स्टैटिक डेटाबेस कंट्रोल्स (Static Database Controls)
ये आपके डेटाबेस इंजन के भीतर बुनियादी सेटिंग्स हैं। इनका उपयोग सबसे पहले करें:
- Least-privilege roles: एजेंट के लिए एक विशिष्ट रोल (role) बनाएं। कभी भी एडमिन अकाउंट का उपयोग न करें।
- Read replicas: एनालिटिक्स एजेंटों को एक रेप्लिका (replica) पर भेजें ताकि वे प्रोडक्शन को धीमा न करें।
- Row-level security: एजेंट कौन सा डेटा देख सकता है, इसे सीमित करने के लिए पॉलिसियों का उपयोग करें।
- Statement timeouts: अनियंत्रित क्वेरीज़ (runaway queries) को अपने सर्वर को क्रैश करने से रोकें।
- Allowlists: कनेक्शन को विशिष्ट होस्ट तक ही सीमित रखें।
लेयर 2: रनटाइम कंट्रोल प्लेन (The Runtime Control Plane)
स्टैटिक कंट्रोल्स केवल पहचान (identity) की जांच करते हैं। वे एजेंट को डेटा चोरी करने (exfiltrating data) या किसी दुर्भावनापूर्ण निर्देश का पालन करने से नहीं रोक सकते। आपको एक कंट्रोल प्लेन की आवश्यकता है जो एजेंट और डेटाबेस के बीच स्थित हो।
इस लेयर को चार काम करने चाहिए:
- Classify: हर क्वेरी को read, write, या schema change के रूप में लेबल करें।
- Enforce default-deny: जब तक आप स्पष्ट रूप से अनुमति न दें, तब तक सब कुछ ब्लॉक करें।
- Gate risky actions: बल्क डिलीट या स्कीमा बदलावों के लिए किसी इंसान की मंजूरी अनिवार्य करें।
- Record everything: हर एक्शन और हर अप्रूवल का एक अपरिवर्तनीय (immutable) लॉग रखें।
यह क्यों महत्वपूर्ण है:
यदि आप प्रॉम्प्ट में नियम डालते हैं, तो एजेंट उन्हें अनदेखा कर सकता है। एक कंट्रोल प्लेन एजेंट के कॉन्टेक्स्ट (context) से बाहर काम करता है। यह एजेंट की योजना के बजाय वास्तविक क्वेरी को देखता है। यह आपको प्रॉम्प्ट इंजेक्शन से बचाता है।
सुरक्षित एक्सेस के लिए इस चेकलिस्ट का उपयोग करें:
- प्रत्येक एजेंट के लिए समर्पित रोल।
- एक्सप्लोरेशन के लिए रीड रेप्लिका का उपयोग करें।
- रो-लेवल सिक्योरिटी (row-level security) लागू करें।
- स्टेटमेंट टाइमआउट सेट करें।
- सारा ट्रैफिक एक कंट्रोल प्लेन के माध्यम से रूट करें।
- डिफॉल्ट-डिनाय (default-deny) पॉलिसी का उपयोग करें।
- उच्च-जोखिम वाले कार्यों के लिए मानवीय अनुमोदन (human approval) की आवश्यकता रखें।
- एक अपरिवर्तनीय ऑडिट लॉग रखें।
स्टैटिक कंट्रोल्स अपना काम करते हैं। कंट्रोल प्लेन बाकी काम करता है। आपको दोनों की आवश्यकता है।
Optional learning community: https://t.me/GyaanSetuAi
