ನಿಮ್ಮ ಏಜೆಂಟ್ ತಪ್ಪು ಮಾಡಿದಾಗ, ಅದನ್ನು ಮಾಡಿದ್ದು ಯಾವುದು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆಯೇ?

ಒಂದು ಏಜೆಂಟ್ ಸ್ಪರ್ಶಿಸಬಾರದ ದಾಖಲೆಯನ್ನು (record) ಅಳಿಸಿಹಾಕುತ್ತದೆ. ಅದು ತಪ್ಪು ಟೆನೆಂಟ್‌ಗೆ (tenant) ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಅದು ಲೂಪ್‌ನಲ್ಲಿ (loop) ಒಂದು API ಅನ್ನು ಕರೆದು ನಿಮ್ಮ ಬಿಲ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

ಒಂದು ಘಟನೆ ನಡೆದ ಹತ್ತು ನಿಮಿಷಗಳ ನಂತರ, ನೀವು ಒಂದು ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುತ್ತೀರಿ: ಇದನ್ನು ಮಾಡಿದ್ದು ಯಾವ ಏಜೆಂಟ್?

ನಿಮಗೆ ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ, ನೀವು ಅದನ್ನು ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಬಿಲ್ಡ್ ಅನ್ನು ನಿಲ್ಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ತಪ್ಪನ್ನು ಆಡಿಟ್ (audit) ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಆ ತಪ್ಪಿನಿಂದ ಕಲಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಇದು ಗುರುತಿನ (identity) ಸಮಸ್ಯೆಯಾಗಿದೆ.

ಹೆಚ್ಚಿನ ತಂಡಗಳು ಏಜೆಂಟ್ ಕ್ರಮಗಳನ್ನು ಮರೆಮಾಚುವ ಮೂರು ಮಾದರಿಗಳನ್ನು ಎದುರಿಸುತ್ತವೆ:

  • ಹಂಚಿಕೆಯ ಸೇವಾ ಖಾತೆಗಳು (Shared service accounts): ಹತ್ತು ಏಜೆಂಟ್‌ಗಳು ಒಂದು ಸೆಟ್ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಸ್ (credentials) ಬಳಸುತ್ತವೆ. ನಿಮ್ಮ ಲಾಗ್‌ಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಕ್ರಮವೂ ಒಂದೇ ರೀತಿ ಕಾಣುತ್ತದೆ.
  • ಮಾನವ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಸ್ (Human credentials): ಏಜೆಂಟ್ ನಿಮ್ಮ ಲಾಗಿನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಲಾಗ್‌ಗಳು ನಿಮ್ಮ ಹೆಸರನ್ನು ತೋರಿಸುತ್ತವೆ, ಏಜೆಂಟ್ ಹೆಸರನ್ನು ಅಲ್ಲ. ಇದು ದೊಡ್ಡ ಭದ್ರತಾ ಅಪಾಯವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
  • ಸೈಲೆಂಟ್ ಡ್ರಿಫ್ಟ್ (Silent drift): ಎರಡು ವಿಭಿನ್ನ ಬಿಲ್ಡ್‌ಗಳು ಒಂದೇ ಹೆಸರನ್ನು ಬಳಸುತ್ತವೆ. ಒಂದು ಹೊಸ ಮಾಡೆಲ್ ಅಥವಾ ಹೊಸ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಲಾಗ್‌ಗಳು ಒಂದೇ ಗುರುತನ್ನು ತೋರಿಸುತ್ತವೆ.

ಇದನ್ನು ಸರಿಪಡಿಸಲು, ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಿ:

  1. ಪ್ರತಿಯೊಂದು ಏಜೆಂಟ್‌ಗೆ ಅದರದೇ ಆದ ಗುರುತನ್ನು ನೀಡಿ. ಮಾನವ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಸ್ ಬಳಸಬೇಡಿ. ಹಂಚಿಕೆಯ ಖಾತೆಗಳನ್ನು ಬಳಸಬೇಡಿ. ಏಜೆಂಟ್ ತನ್ನನ್ನು ತಾನು ಸಾಬೀತುಪಡಿಸಿಕೊಳ್ಳಬೇಕು (authenticate).

  2. ಪ್ರತಿಯೊಂದು ಕ್ರಮದ ಮೇಲೆ ಆರು ನಿರ್ದಿಷ್ಟ ಕ್ಷೇತ್ರಗಳನ್ನು (fields) ಗುರುತಿಸಿ:

  • ಹೊಣೆಗಾರ ವ್ಯಕ್ತಿ (Accountable party): ಈ ಏಜೆಂಟ್‌ಗೆ ಯಾರು ಜವಾಬ್ದಾರರು?
  • ಕಾರ್ಯಾಚರಣೆಯ ಮಾಲೀಕ (Operational owner): ಇದನ್ನು ಪ್ರತಿದಿನ ಯಾರು ನಿರ್ವಹಿಸುತ್ತಾರೆ?
  • ಟೆನೆಂಟ್ (Tenant): ಇದು ಯಾವ ಗ್ರಾಹಕನಿಗಾಗಿ?
  • ಏಜೆಂಟ್-ಟೈಪ್-ಐಡಿ (Agent-type-id): ಇದು ಯಾವ ನಿರ್ದಿಷ್ಟ ಬಿಲ್ಡ್?
  • ಏಜೆಂಟ್-ಇನ್‌ಸ್ಟೆನ್ಸ್-ಐಡಿ (Agent-instance-id): ಇದು ಯಾವ ನಿರ್ದಿಷ್ಟ ರನ್?
  • ಟ್ರೇಸ್ ಕಾನ್ಟೆಕ್ಸ್ಟ್ (Trace context): ಕಾಲ್ ಚೈನ್‌ನಲ್ಲಿ ಇದು ಎಲ್ಲಿದೆ?
  1. ವರ್ಷೀಕರಣಕ್ಕಾಗಿ (versioning) ಹ್ಯಾಶ್‌ಗಳನ್ನು (hashes) ಬಳಸಿ. ನಿಮ್ಮ ಏಜೆಂಟ್‌ಗೆ "support-agent-v2" ಎಂದು ಹೆಸರಿಸಬೇಡಿ. ನೀವು ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಹೆಸರು ಹಾಗೆಯೇ ಇರುತ್ತದೆ, ಆದರೆ ವರ್ತನೆ ಬದಲಾಗುತ್ತದೆ. ಬದಲಾಗಿ, ಕಂಟೆಂಟ್ ಹ್ಯಾಶ್ (content hash) ಬಳಸಿ. ಕಂಟೇನರ್ ಇಮೇಜ್, ಪ್ರಾಂಪ್ಟ್, ಮಾಡೆಲ್ ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಆಧಾರದ ಮೇಲೆ ಹ್ಯಾಶ್ ಅನ್ನು ರಚಿಸಿ. ನೀವು ಒಂದು ಸಾಲಿನ ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸಿದರೆ, ಐಡಿ ಬದಲಾಗುತ್ತದೆ. ಇದು ಸೈಲೆಂಟ್ ಡ್ರಿಫ್ಟ್ ಅನ್ನು ದೃಶ್ಯೀಕರಿಸುತ್ತದೆ.

  2. ಲೀನಿಯೇಜ್ (lineage) ದಾಖಲಿಸಿ. ಏಜೆಂಟ್‌ಗಳು ಉಪ-ಏಜೆಂಟ್‌ಗಳನ್ನು (sub-agents) ಸೃಷ್ಟಿಸುತ್ತವೆ. ಯಾವ ಪೇರೆಂಟ್ ಏಜೆಂಟ್ ಉಪ-ಏಜೆಂಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿತು ಎಂಬುದನ್ನು ನೀವು ದಾಖಲಿಸಬೇಕು. ಪೇರೆಂಟ್ ಉಪ-ಏಜೆಂಟ್‌ಗೆ ನೀಡಿದ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸಹ ನೀವು ದಾಖಲಿಸಬೇಕು. ಇನ್‌ಜೆಕ್ಟ್ ಮಾಡಿದ ಸೂಚನೆಗಳು ಅಥವಾ ವಿಷಪೂರಿತ ಡೇಟಾವನ್ನು (poisoned data) ಕಂಡುಹಿಡಿಯಲು ಇದೊಂದೇ ದಾರಿ.

ಗುರುತು (Identity) ನಿಮ್ಮ ರಿಕವರಿ ಸರ್ಫೇಸ್ ಆಗಿದೆ. ಇದು ನಿಮಗೆ ಕಿಲ್ ಸ್ವಿಚ್ (kill switch) ಬಳಸಲು ಮತ್ತು ಆಡಿಟ್ ಟ್ರೈಲ್ (audit trail) ನಿರ್ಮಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಘಟನೆ ನಡೆಯುವ ಮೊದಲೇ ನೀವು ಇದನ್ನು ಸಿದ್ಧಪಡಿಸಿಕೊಳ್ಳಬೇಕು. ಬಿಕ್ಕಟ್ಟಿನ ಸಮಯದಲ್ಲಿ ಗುರುತನ್ನು ಸೇರಿಸುವುದು ತುಂಬಾ ತಡವಾಗುತ್ತದೆ.

ಈಗಲೇ ನಿಮ್ಮ ಲಾಗ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ಒಂದು ಗಂಟೆಯ ಹಿಂದಿನ ಕ್ರಮವನ್ನು ನೋಡಿ. ಆ ಕ್ರಮವನ್ನು ಮಾಡಿದ ನಿರ್ದಿಷ್ಟ ಬಿಲ್ಡ್ ಅನ್ನು ನೀವು ಹೆಸರಿಸಬಲ್ಲಿರಾ? ನಿಮಗೆ ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ನೀವು ತುಂಬಬೇಕಾದ ಅಂತರವಿದೆ (gap).

Source: https://dev.to/brennhill/when-your-agent-does-something-bad-can-you-tell-which-agent-did-it-37a2

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