ಅನುಮತಿ ಮೋಡ್ (Permission Mode) APX ನಲ್ಲಿ ಇರುತ್ತದೆ, APC ಯಲ್ಲಲ್ಲ

APC ಎಂಬುದು ಪೋರ್ಟಬಲ್ ಕಾಂಟೆಕ್ಸ್ಟ್ ಲೇಯರ್ (portable context layer). APX ಎಂಬುದು ರನ್‌ಟೈಮ್ ಮತ್ತು ಟೂಲಿಂಗ್ ಲೇಯರ್ (runtime and tooling layer). ಈ ವ್ಯತ್ಯಾಸವು ಸುರಕ್ಷತೆಗೆ ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ.

ಅನುಮತಿಗಳು (Permissions) ಪ್ರಾಜೆಕ್ಟ್‌ನ ಸತ್ಯವಲ್ಲ. ಅವು ಯಂತ್ರದ ನೀತಿಗಳು (machine policy).

ಒಂದು ರೆಪೊಸಿಟರಿಯು (repository) ಯಾವುದೇ ಅಡೆತಡೆಯಿಲ್ಲದೆ ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗಳು ಮತ್ತು ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗಳ ನಡುವೆ ವರ್ಗಾವಣೆಯಾಗಬೇಕು. ಅನುಮತಿಯ ಸೆಟ್ಟಿಂಗ್ ಪ್ರತಿಯೊಂದು ಯಂತ್ರದ ಮೇಲೆ ಒಂದೇ ರೀತಿಯ ಅಪಾಯದ ಮಟ್ಟವನ್ನು ಹೇರಬಾರದು. ನೀವು ಅನುಮತಿ ಸ್ಥಿತಿಯನ್ನು (permission state) APC ಯಲ್ಲಿ ಇರಿಸಿದರೆ, ಸ್ಥಳೀಯ ನಂಬಿಕೆ ಮತ್ತು ಹಂಚಿಕೆಯ ಕಾಂಟೆಕ್ಸ್ಟ್ ಅನ್ನು ನೀವು ಬೆರೆಸಿದಂತಾಗುತ್ತದೆ.

APX ಗಡಿಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿರಿಸುತ್ತದೆ. ಅನುಮತಿ ಮೋಡ್ ನಿಮ್ಮ ಸ್ಥಳೀಯ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ (local config) ಇರುತ್ತದೆ, ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಅಲ್ಲ.

ಲಭ್ಯವಿರುವ ಮೋಡ್‌ಗಳು ಇಲ್ಲಿವೆ:

  • total: ಯಾವುದೇ ದೃಢೀಕರಣವಿಲ್ಲದೆ ಪ್ರತಿಯೊಂದು ಟೂಲ್ ಅನ್ನು ಚಲಾಯಿಸಿ.
  • automatico: ಸುರಕ್ಷಿತ ರೀಡ್‌ಗಳು (reads) ಮತ್ತು ಶೆಲ್ ಕೆಲಸಗಳಿಗೆ ಅನುಮತಿಸಿ. ವಿನಾಶಕಾರಿ ಅಥವಾ ಹೊರಗಿನ ಕ್ರಿಯೆಗಳಿಗಾಗಿ ದೃಢೀಕರಣವನ್ನು ಕೇಳಿ.
  • permiso: ಅನುಮತಿಸಲಾದ ಟೂಲ್‌ಗಳನ್ನು ಮಾತ್ರ ನೇರವಾಗಿ ಚಲಾಯಿಸಿ. ಉಳಿದೆಲ್ಲವೂ ದೃಢೀಕರಣವನ್ನು ಬಯಸುತ್ತವೆ.

Automatico ಎಂಬುದು ಡಿಫಾಲ್ಟ್ (default) ಆಗಿದೆ. ಇದು ದೈನಂದಿನ ಕೆಲಸಕ್ಕಾಗಿ ರನ್‌ಟೈಮ್ ಅನ್ನು ಬಳಸಲು ಅನುಕೂಲಕರವಾಗಿಸುತ್ತದೆ.

APC ಪ್ರಾಜೆಕ್ಟ್ ಮೆಟಾಡೇಟಾ (metadata), ಏಜೆಂಟ್‌ಗಳು ಮತ್ತು ಕೌಶಲ್ಯಗಳನ್ನು (skills) ನಿರ್ವಹಿಸುತ್ತದೆ. ಈ ವಿಷಯವು ವಿವಿಧ ಟೂಲ್‌ಗಳಲ್ಲಿ ಸ್ಥಿರವಾಗಿರುತ್ತದೆ ಮತ್ತು git ನಲ್ಲಿ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

ಅನುಮತಿ ಮೋಡ್ ರನ್‌ಟೈಮ್ ಸತ್ಯಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ:

  • ಯಾರು ಯಂತ್ರದ ಮಾಲೀಕರು.
  • ಯಂತ್ರವು ವೈಯಕ್ತಿಕವಾಗಿದೆಯೇ ಅಥವಾ ಹಂಚಿಕೆಯಾಗಿದೆಯೇ.
  • ಕಾರ್ಯವು ಅನ್ವೇಷಣಾತ್ಮಕವಾಗಿದೆಯೇ ಅಥವಾ ಹೆಚ್ಚಿನ ಅಪಾಯವನ್ನು ಹೊಂದಿದೆಯೇ.
  • ಇಂದು ನೀವು ರನ್‌ಟೈಮ್‌ಗೆ ಎಷ್ಟು ನಂಬಿಕೆ ನೀಡುತ್ತೀರಿ.

ನೀವು ಅನುಮತಿಗಳನ್ನು APC ಗೆ ವರ್ಗಾಯಿಸಿದರೆ, ನೀವು ಎರಡು ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತೀರಿ. ಹೊಸ ಯಂತ್ರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗದ ನೀತಿಯನ್ನು ನೀವು ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಅಲ್ಲದೆ, ಸ್ಥಳೀಯ ಸುರಕ್ಷತಾ ಆಯ್ಕೆಯನ್ನು ಹಂಚಿಕೆಯ ಪ್ರಾಜೆಕ್ಟ್ ಹೊರೆಯನ್ನಾಗಿ (shared project baggage) ಬದಲಾಯಿಸುತ್ತೀರಿ.

ರೆಪೊಸಿಟರಿಯು ಕೆಲಸವನ್ನು ವಿವರಿಸುತ್ತದೆ. ಸ್ಥಳೀಯ ರನ್‌ಟೈಮ್‌ಗೆ ಎಷ್ಟು ಅಧಿಕಾರವಿದೆ ಎಂಬುದನ್ನು APX ನಿರ್ಧರಿಸುತ್ತದೆ.

APX ಇದನ್ನು ಕೋಡ್‌ನಲ್ಲಿ ಜಾರಿಗೆ ತರುತ್ತದೆ. createPermissionGuard ಫಂಕ್ಷನ್ ನಿಮ್ಮ ಗ್ಲೋಬಲ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಟೂಲ್ ಕರೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ ಅಥವಾ ಅನುಮತಿಸುತ್ತದೆ.

ಈ ರಚನೆಯು ನೀವು ಕೆಲಸ ಮಾಡುವ ವಿಧಾನಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಫೈಲ್ ಅನ್ನು ಓದುವುದು ರೆಪೊಸಿಟರಿಯನ್ನು ಬದಲಾಯಿಸುವುದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ. ಸುರಕ್ಷಿತ ಲುಕಪ್ (lookup) ಎಂಬುದು MCP ಕನೆಕ್ಷನ್‌ನಿಂದ ಭಿನ್ನವಾಗಿದೆ.

ನೀವು ವಿಭಿನ್ನ APX ನೀತಿಗಳೊಂದಿಗೆ ಒಂದೇ APC ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಬಳಸಬಹುದು. ನಿಮ್ಮ ಲ್ಯಾಪ್‌ಟಾಪ್‌ನಲ್ಲಿ automatico ಬಳಸಿ. ಹಂಚಿಕೆಯ ವರ್ಕ್‌ಸ್ಟೇಷನ್‌ನಲ್ಲಿ permiso ಬಳಸಿ.

ಒಂದು ಸೆಟ್ಟಿಂಗ್ ಎಲ್ಲಿ ಇರಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಲು ಈ ಪರೀಕ್ಷೆಯನ್ನು ಬಳಸಿ:

  • ಅದು "ಇದು ಯಾವ ಪ್ರಾಜೆಕ್ಟ್?" ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆಯೇ? ಹಾಗಿದ್ದರೆ ಅದನ್ನು APC ಯಲ್ಲಿ ಇರಿಸಿ.
  • ಅದು "ಈ ಯಂತ್ರವು ಈಗ ಏನು ಮಾಡಬಹುದು?" ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆಯೇ? ಹಾಗಿದ್ದರೆ ಅದನ್ನು APX ಯಲ್ಲಿ ಇರಿಸಿ.

ಅನುಮತಿ ಮೋಡ್ APX ಗೆ ಸೇರಿದ್ದಾಗಿದೆ. ಇದು APC ಅನ್ನು ಪೋರ್ಟಬಲ್ ಆಗಿರಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ಥಳೀಯ ರನ್‌ಟೈಮ್ ಅನ್ನು ಪ್ರಾಮಾಣಿಕವಾಗಿರಿಸುತ್ತದೆ.

Source: https://dev.to/agentprojectcontext/permission-mode-lives-in-apx-not-apc-50d6

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