AI ಏಜೆಂಟ್ಗಳಿಗೆ ಸುರಕ್ಷಿತ ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶವನ್ನು ನೀಡುವುದು ಹೇಗೆ
ನಿಮ್ಮ ಪ್ರೊಡಕ್ಷನ್ ಡೇಟಾಬೇಸ್ಗೆ AI ಏಜೆಂಟ್ಗೆ ಪ್ರವೇಶ ನೀಡುವುದು ದೊಡ್ಡ ಅಪಾಯವಾಗಿದೆ. ಕೇವಲ 'ರೀಡ್-ಓನ್ಲಿ' (read-only) ಬಳಕೆದಾರರು ಸಾಕಾಗುವುದಿಲ್ಲ. ಏಜೆಂಟ್ಗೆ ಉದ್ದೇಶ ಅಥವಾ ಡೇಟಾದ ಸೂಕ್ಷ್ಮತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಬರವಣಿಗೆಯ ಪ್ರವೇಶವನ್ನು (write access) ನೀಡಿದರೆ, ಒಂದು 'ಪ್ರಾಂಪ್ಟ್ ಇಂಜೆಕ್ಷನ್' (prompt injection) ಸಹಕಾರಿಯಾದ ಏಜೆಂಟ್ ಅನ್ನು ವಿನಾಶಕಾರಿಯನ್ನಾಗಿ ಮಾಡಬಹುದು.
ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡಲು ನಿಮಗೆ ಎರಡು ಪದರಗಳ ರಕ್ಷಣೆ ಬೇಕಾಗುತ್ತದೆ.
ಪದರ 1: ಸ್ಟ್ಯಾಟಿಕ್ ಡೇಟಾಬೇಸ್ ನಿಯಂತ್ರಣಗಳು (Static Database Controls)
ಇವು ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಇಂಜಿನ್ನ ಒಳಗಿರುವ ಮೂಲಭೂತ ಸೆಟ್ಟಿಂಗ್ಗಳಾಗಿವೆ. ಇವುಗಳನ್ನು ಮೊದಲು ಬಳಸಿ:
- ಕನಿಷ್ಠ-ಅಧಿಕಾರ ಪಾತ್ರಗಳು (Least-privilege roles): ಏಜೆಂಟ್ಗಾಗಿ ಒಂದು ನಿರ್ದಿಷ್ಟ ಪಾತ್ರವನ್ನು ರಚಿಸಿ. ಎಂದಿಗೂ ಅಡ್ಮಿನ್ (admin) ಖಾತೆಗಳನ್ನು ಬಳಸಬೇಡಿ.
- ರೀಡ್ ರೆಪ್ಲಿಕಾಗಳು (Read replicas): ಅನಾಲಿಟಿಕ್ಸ್ ಏಜೆಂಟ್ಗಳನ್ನು ರೆಪ್ಲಿಕಾಕ್ಕೆ ಕಳುಹಿಸಿ, ಇದರಿಂದ ಅವು ಪ್ರೊಡಕ್ಷನ್ ಅನ್ನು ನಿಧಾನಗೊಳಿಸುವುದಿಲ್ಲ.
- ರೋ-ಲೆವೆಲ್ ಸೆಕ್ಯುರಿಟಿ (Row-level security): ಏಜೆಂಟ್ ಯಾವ ಡೇಟಾವನ್ನು ನೋಡಬಹುದು ಎಂಬುದನ್ನು ಸೀಮಿತಗೊಳಿಸಲು ಪಾಲಿಸಿಗಳನ್ನು ಬಳಸಿ.
- ಸ್ಟೇಟ್ಮೆಂಟ್ ಟೈಮೌಟ್ಗಳು (Statement timeouts): ಅತಿಯಾದ ಕ್ವೇರಿಗಳು (queries) ನಿಮ್ಮ ಸರ್ವರ್ ಅನ್ನು ಕ್ರ್ಯಾಶ್ ಮಾಡದಂತೆ ತಡೆಯಿರಿ.
- ಅಲೋಲಿಸ್ಟ್ಗಳು (Allowlists): ನಿರ್ದಿಷ್ಟ ಹೋಸ್ಟ್ಗಳಿಗೆ ಮಾತ್ರ ಸಂಪರ್ಕವನ್ನು ಸೀಮಿತಗೊಳಿಸಿ.
ಪದರ 2: ರನ್ಟೈಮ್ ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ (The Runtime Control Plane)
ಸ್ಟ್ಯಾಟಿಕ್ ನಿಯಂತ್ರಣಗಳು ಕೇವಲ ಗುರುತನ್ನು (identity) ಮಾತ್ರ ಪರಿಶೀಲಿಸುತ್ತವೆ. ಅವು ಏಜೆಂಟ್ ಡೇಟಾವನ್ನು ಸೋರಿಕೆ ಮಾಡುವುದನ್ನು ಅಥವಾ ದುರುದ್ದೇಶಪೂರಿತ ಸೂಚನೆಯನ್ನು ಅನುಸರಿಸುವುದನ್ನು ತಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಏಜೆಂಟ್ ಮತ್ತು ಡೇಟಾಬೇಸ್ ನಡುವೆ ಒಂದು ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ ಇರಬೇಕು.
ಈ ಪದರವು ನಾಲ್ಕು ಕೆಲಸಗಳನ್ನು ಮಾಡಬೇಕು:
- ವರ್ಗೀಕರಿಸುವುದು (Classify): ಪ್ರತಿಯೊಂದು ಕ್ವೇರಿಯನ್ನು ರೀಡ್, ರೈಟ್ ಅಥವಾ ಸ್ಕೀಮಾ ಬದಲಾವಣೆ ಎಂದು ಲೇಬಲ್ ಮಾಡಿ.
- ಡಿಫಾಲ್ಟ್-ಡಿನೈ (default-deny) ಜಾರಿಗೊಳಿಸಿ: ನೀವು ಸ್ಪಷ್ಟವಾಗಿ ಅನುಮತಿಸದ ಹೊರತು ಎಲ್ಲವನ್ನೂ ನಿರ್ಬಂಧಿಸಿ.
- ಅಪಾಯಕಾರಿ ಕ್ರಮಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ (Gate risky actions): ಬಲ್ಕ್ ಡಿಲೀಟ್ ಅಥವಾ ಸ್ಕೀಮಾ ಬದಲಾವಣೆಗಳಿಗೆ ಮನುಷ್ಯನ ಅನುಮೋದನೆಯನ್ನು ಕಡ್ಡಾಯಗೊಳಿಸಿ.
- ಎಲ್ಲವನ್ನೂ ದಾಖಲಿಸಿ: ಪ್ರತಿಯೊಂದು ಕ್ರಮ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಅನುಮೋದನೆಯ ಬದಲಾಯಿಸಲಾಗದ (immutable) ಲಾಗ್ ಅನ್ನು ಇರಿಸಿ.
ಇದು ಏಕೆ ಮುಖ್ಯವಾಗುತ್ತದೆ: ನೀವು ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ನಿಯಮಗಳನ್ನು ಹಾಕಿದರೆ, ಏಜೆಂಟ್ ಅವುಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಬಹುದು. ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ ಏಜೆಂಟ್ನ ಸಂದರ್ಭದ (context) ಹೊರಗೆ ಇರುತ್ತದೆ. ಇದು ಏಜೆಂಟ್ನ ಯೋಜನೆಯನ್ನು ನೋಡುವ ಬದಲು, ನಿಜವಾದ ಕ್ವೇರಿಯನ್ನು ನೋಡುತ್ತದೆ. ಇದು ನಿಮ್ಮನ್ನು ಪ್ರಾಂಪ್ಟ್ ಇಂಜೆಕ್ಷನ್ನಿಂದ ರಕ್ಷಿಸುತ್ತದೆ.
ಸುರಕ್ಷಿತ ಪ್ರವೇಶಕ್ಕಾಗಿ ಈ ಚೆಕ್ಲಿಸ್ಟ್ ಬಳಸಿ:
- ಪ್ರತಿ ಏಜೆಂಟ್ಗೆ ಪ್ರತ್ಯೇಕ ಪಾತ್ರ (Dedicated role).
- ಅನ್ವೇಷಣೆಗಾಗಿ ರೀಡ್ ರೆಪ್ಲಿಕಾಗಳನ್ನು ಬಳಸಿ.
- ರೋ-ಲೆವೆಲ್ ಸೆಕ್ಯುರಿಟಿಯನ್ನು ಜಾರಿಗೆ ತರండి.
- ಸ್ಟೇಟ್ಮೆಂಟ್ ಟೈಮೌಟ್ಗಳನ್ನು ಹೊಂದಿಸಿ.
- ಎಲ್ಲಾ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ ಮೂಲಕ ಕಳುಹಿಸಿ.
- ಡಿಫಾಲ್ಟ್-ಡಿನೈ ಪಾಲಿಸಿಯನ್ನು ಬಳಸಿ.
- ಹೆಚ್ಚಿನ ಅಪಾಯವಿರುವ ಕಾರ್ಯಗಳಿಗೆ ಮನುಷ್ಯನ ಅನುಮೋದನೆಯನ್ನು ಪಡೆಯಿರಿ.
- ಬದಲಾಯಿಸಲಾಗದ (immutable) ಆಡಿಟ್ ಲಾಗ್ ಅನ್ನು ಇರಿಸಿ.
ಸ್ಟ್ಯಾಟಿಕ್ ನಿಯಂತ್ರಣಗಳು ತಮ್ಮ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತವೆ. ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ ಉಳಿದದ್ದನ್ನು ಮಾಡುತ್ತದೆ. ನಿಮಗೆ ಎರಡೂ ಬೇಕು.
Optional learning community: https://t.me/GyaanSetuAi
