ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಯಾವುದೇ ದೊಡ್ಡ ಕಂಪನಿಯಲ್ಲಿ, ಮತ್ತು X5 ರಿಟೇಲ್ ಗ್ರೂಪ್ ಇದಕ್ಕೆ ಹೊರತಾಗಿಲ್ಲ, ಅದು ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತಿದ್ದಂತೆ, ಬಳಕೆದಾರರ ಅಧಿಕಾರದ ಅಗತ್ಯವಿರುವ ಯೋಜನೆಗಳ ಸಂಖ್ಯೆಯು ಹೆಚ್ಚಾಗುತ್ತದೆ. ಕಾಲಾನಂತರದಲ್ಲಿ, ಒಂದು ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಬಳಕೆದಾರರ ತಡೆರಹಿತ ಪರಿವರ್ತನೆಯ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ನಂತರ ಒಂದೇ ಸಿಂಗಲ್-ಸಿಂಗ್-ಆನ್ (SSO) ಸರ್ವರ್ ಅನ್ನು ಬಳಸುವ ಅವಶ್ಯಕತೆಯಿದೆ. ಆದರೆ ಹೆಚ್ಚುವರಿ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರದ AD ಅಥವಾ ಇತರರಂತಹ ಗುರುತಿನ ಪೂರೈಕೆದಾರರನ್ನು ಈಗಾಗಲೇ ವಿವಿಧ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಿದಾಗ ಏನು ಮಾಡಬೇಕು. "ಗುರುತಿನ ದಲ್ಲಾಳಿಗಳು" ಎಂಬ ವ್ಯವಸ್ಥೆಗಳ ವರ್ಗವು ರಕ್ಷಣೆಗೆ ಬರುತ್ತದೆ. ಕೀಕ್ಲೋಕ್, ಗ್ರಾವಿಟೀ ಆಕ್ಸೆಸ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್, ಇತ್ಯಾದಿಗಳಂತಹ ಅದರ ಪ್ರತಿನಿಧಿಗಳು ಅತ್ಯಂತ ಕ್ರಿಯಾತ್ಮಕವಾಗಿದೆ. ಹೆಚ್ಚಾಗಿ, ಬಳಕೆಯ ಸಂದರ್ಭಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು: ಯಂತ್ರ ಸಂವಹನ, ಬಳಕೆದಾರರ ಭಾಗವಹಿಸುವಿಕೆ, ಇತ್ಯಾದಿ. ಪರಿಹಾರವು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಕಾರ್ಯವನ್ನು ಬೆಂಬಲಿಸಬೇಕು ಅದು ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು ಒಂದರಲ್ಲಿ ಸಂಯೋಜಿಸಬಹುದು, ಮತ್ತು ಅಂತಹ ಪರಿಹಾರಗಳು ನಮ್ಮ ಕಂಪನಿಯು ಈಗ ಸೂಚನೆ ಬ್ರೋಕರ್ ಅನ್ನು ಹೊಂದಿದೆ - ಕೀಕ್ಲೋಕ್.

ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಕೀಕ್ಲೋಕ್ ಓಪನ್ ಸೋರ್ಸ್ ಐಡೆಂಟಿಟಿ ಮತ್ತು ರೆಡ್‌ಹ್ಯಾಟ್ ನಿರ್ವಹಿಸುವ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಉತ್ಪನ್ನವಾಗಿದೆ. SSO - RH-SSO ಅನ್ನು ಬಳಸುವ ಕಂಪನಿಯ ಉತ್ಪನ್ನಗಳಿಗೆ ಇದು ಆಧಾರವಾಗಿದೆ.

ಮೂಲ ಪರಿಕಲ್ಪನೆಗಳು

ನೀವು ಪರಿಹಾರಗಳು ಮತ್ತು ವಿಧಾನಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ನೀವು ಪ್ರಕ್ರಿಯೆಗಳ ನಿಯಮಗಳು ಮತ್ತು ಅನುಕ್ರಮವನ್ನು ನಿರ್ಧರಿಸಬೇಕು:

ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಗುರುತಿಸುವಿಕೆ ಒಂದು ವಿಷಯವನ್ನು ತನ್ನ ಗುರುತಿಸುವಿಕೆಯಿಂದ ಗುರುತಿಸುವ ವಿಧಾನವಾಗಿದೆ (ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಇದು ಹೆಸರು, ಲಾಗಿನ್ ಅಥವಾ ಸಂಖ್ಯೆಯ ವ್ಯಾಖ್ಯಾನವಾಗಿದೆ).

ದೃ ation ೀಕರಣ - ಇದು ದೃಢೀಕರಣ ವಿಧಾನವಾಗಿದೆ (ಬಳಕೆದಾರರನ್ನು ಪಾಸ್‌ವರ್ಡ್ ಬಳಸಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಪತ್ರವನ್ನು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಸಹಿಯನ್ನು ಬಳಸಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಇತ್ಯಾದಿ.)

ಅಧಿಕಾರ - ಇದು ಸಂಪನ್ಮೂಲಕ್ಕೆ ಪ್ರವೇಶದ ನಿಬಂಧನೆಯಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಇ-ಮೇಲ್ಗೆ).

ಐಡೆಂಟಿಟಿ ಬ್ರೋಕರ್ ಕೀಕ್ಲೋಕ್

ಕೀಕ್ಲಾಕ್ ಮೈಕ್ರೋಸರ್ವೀಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮಾದರಿಗಳನ್ನು ಬಳಸಬಹುದಾದ IS ನಲ್ಲಿ ಬಳಕೆಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ತೆರೆದ ಮೂಲ ಗುರುತು ಮತ್ತು ಪ್ರವೇಶ ನಿರ್ವಹಣೆ ಪರಿಹಾರವಾಗಿದೆ.

ಕೀಕ್ಲೋಕ್ ಸಿಂಗಲ್ ಸೈನ್-ಆನ್ (SSO), ದಲ್ಲಾಳಿ ಗುರುತಿಸುವಿಕೆ ಮತ್ತು ಸಾಮಾಜಿಕ ಲಾಗಿನ್, ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ, ಕ್ಲೈಂಟ್ ಅಡಾಪ್ಟರ್‌ಗಳು, ನಿರ್ವಾಹಕ ಕನ್ಸೋಲ್ ಮತ್ತು ಖಾತೆ ನಿರ್ವಹಣೆ ಕನ್ಸೋಲ್‌ನಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ.

ಕೀಕ್ಲೋಕ್‌ನಿಂದ ಬೆಂಬಲಿತ ಮೂಲಭೂತ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳು:

  • ಬ್ರೌಸರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಏಕ-ಸೈನ್ ಆನ್ ಮತ್ತು ಏಕ-ಸೈನ್ ಔಟ್.
  • OpenID/OAuth 2.0/SAML ಗೆ ಬೆಂಬಲ.
  • ಐಡೆಂಟಿಟಿ ಬ್ರೋಕರಿಂಗ್ - ಬಾಹ್ಯ OpenID ಕನೆಕ್ಟ್ ಅಥವಾ SAML ಗುರುತಿನ ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸಿಕೊಂಡು ದೃಢೀಕರಣ.
  • ಸಾಮಾಜಿಕ ಲಾಗಿನ್ - ಬಳಕೆದಾರರ ಗುರುತಿಸುವಿಕೆಗಾಗಿ Google, GitHub, Facebook, Twitter ಬೆಂಬಲ.
  • ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ - LDAP ಮತ್ತು ಸಕ್ರಿಯ ಡೈರೆಕ್ಟರಿ ಸರ್ವರ್‌ಗಳು ಮತ್ತು ಇತರ ಗುರುತಿನ ಪೂರೈಕೆದಾರರಿಂದ ಬಳಕೆದಾರರ ಸಿಂಕ್ರೊನೈಸೇಶನ್.
  • Kerberos ಸೇತುವೆ - ಸ್ವಯಂಚಾಲಿತ ಬಳಕೆದಾರ ದೃಢೀಕರಣಕ್ಕಾಗಿ Kerberos ಸರ್ವರ್ ಅನ್ನು ಬಳಸುವುದು.
  • ನಿರ್ವಾಹಕ ಕನ್ಸೋಲ್ - ವೆಬ್ ಮೂಲಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಪರಿಹಾರ ಆಯ್ಕೆಗಳ ಏಕೀಕೃತ ನಿರ್ವಹಣೆಗಾಗಿ.
  • ಖಾತೆ ನಿರ್ವಹಣೆ ಕನ್ಸೋಲ್ - ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್‌ನ ಸ್ವಯಂ ನಿರ್ವಹಣೆಗಾಗಿ.
  • ಕಂಪನಿಯ ಕಾರ್ಪೊರೇಟ್ ಗುರುತನ್ನು ಆಧರಿಸಿ ಪರಿಹಾರದ ಗ್ರಾಹಕೀಕರಣ.
  • 2FA ದೃಢೀಕರಣ - Google Authenticator ಅಥವಾ FreeOTP ಬಳಸಿಕೊಂಡು TOTP/HOTP ಬೆಂಬಲ.
  • ಲಾಗಿನ್ ಹರಿವುಗಳು - ಬಳಕೆದಾರರ ಸ್ವಯಂ-ನೋಂದಣಿ, ಪಾಸ್ವರ್ಡ್ ಮರುಪಡೆಯುವಿಕೆ ಮತ್ತು ಮರುಹೊಂದಿಸುವಿಕೆ ಮತ್ತು ಇತರವುಗಳು ಸಾಧ್ಯ.
  • ಸೆಷನ್ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ - ನಿರ್ವಾಹಕರು ಬಳಕೆದಾರರ ಅವಧಿಗಳನ್ನು ಒಂದೇ ಹಂತದಿಂದ ನಿರ್ವಹಿಸಬಹುದು.
  • ಟೋಕನ್ ಮ್ಯಾಪರ್‌ಗಳು - ಬಳಕೆದಾರರ ಗುಣಲಕ್ಷಣಗಳು, ಪಾತ್ರಗಳು ಮತ್ತು ಟೋಕನ್‌ಗಳಿಗೆ ಅಗತ್ಯವಿರುವ ಇತರ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬಂಧಿಸುವುದು.
  • ಕ್ಷೇತ್ರ, ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಬಳಕೆದಾರರ ಮೂಲಕ ಹೊಂದಿಕೊಳ್ಳುವ ನೀತಿ ನಿರ್ವಹಣೆ.
  • CORS ಬೆಂಬಲ - ಕ್ಲೈಂಟ್ ಅಡಾಪ್ಟರ್‌ಗಳು ಅಂತರ್ನಿರ್ಮಿತ CORS ಬೆಂಬಲವನ್ನು ಹೊಂದಿವೆ.
  • ಸೇವಾ ಪೂರೈಕೆದಾರ ಇಂಟರ್‌ಫೇಸ್‌ಗಳು (SPI) - ಸರ್ವರ್‌ನ ವಿವಿಧ ಅಂಶಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ SPI ಗಳು: ದೃಢೀಕರಣ ಹರಿವುಗಳು, ಗುರುತಿನ ಪೂರೈಕೆದಾರರು, ಪ್ರೋಟೋಕಾಲ್ ಮ್ಯಾಪಿಂಗ್, ಮತ್ತು ಇನ್ನಷ್ಟು.
  • JavaScript ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಕ್ಲೈಂಟ್ ಅಡಾಪ್ಟರ್‌ಗಳು, WildFly, JBoss EAP, ಫ್ಯೂಸ್, ಟಾಮ್‌ಕ್ಯಾಟ್, ಜೆಟ್ಟಿ, ಸ್ಪ್ರಿಂಗ್.
  • OpenID ಕನೆಕ್ಟ್ ರಿಲೈಯಿಂಗ್ ಪಾರ್ಟಿ ಲೈಬ್ರರಿ ಅಥವಾ SAML 2.0 ಸರ್ವಿಸ್ ಪ್ರೊವೈಡರ್ ಲೈಬ್ರರಿಯನ್ನು ಬೆಂಬಲಿಸುವ ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಬೆಂಬಲ.
  • ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಿಸ್ತರಿಸಬಹುದಾಗಿದೆ.

CI/CD ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ, ಹಾಗೆಯೇ ಕೀಕ್ಲೋಕ್‌ನಲ್ಲಿನ ನಿರ್ವಹಣಾ ಪ್ರಕ್ರಿಯೆಗಳ ಯಾಂತ್ರೀಕರಣಕ್ಕಾಗಿ, REST API/JAVA API ಅನ್ನು ಬಳಸಬಹುದು. ದಾಖಲೆಗಳು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ರೂಪದಲ್ಲಿ ಲಭ್ಯವಿದೆ:

REST API ಅನ್ನು https://www.keycloak.org/docs-api/8.0/rest-api/index.html
ಜಾವಾ API https://www.keycloak.org/docs-api/8.0/javadocs/index.html

ಎಂಟರ್‌ಪ್ರೈಸ್ ಐಡೆಂಟಿಟಿ ಪ್ರೊವೈಡರ್ಸ್ (ಆನ್-ಪ್ರಿಮೈಸ್)

ಬಳಕೆದಾರರ ಒಕ್ಕೂಟ ಸೇವೆಗಳ ಮೂಲಕ ಬಳಕೆದಾರರನ್ನು ದೃಢೀಕರಿಸುವ ಸಾಮರ್ಥ್ಯ.

ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಪಾಸ್-ಥ್ರೂ ದೃಢೀಕರಣವನ್ನು ಸಹ ಬಳಸಬಹುದು - ಬಳಕೆದಾರರು Kerberos (LDAP ಅಥವಾ AD) ನೊಂದಿಗೆ ವರ್ಕ್‌ಸ್ಟೇಷನ್‌ಗಳ ವಿರುದ್ಧ ದೃಢೀಕರಿಸಿದರೆ, ನಂತರ ಅವರ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮತ್ತೆ ನಮೂದಿಸದೆಯೇ ಅವರು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕೀಕ್ಲೋಕ್‌ಗೆ ದೃಢೀಕರಿಸಬಹುದು.

ದೃಢೀಕರಣ ಮತ್ತು ಬಳಕೆದಾರರ ಹೆಚ್ಚಿನ ದೃಢೀಕರಣಕ್ಕಾಗಿ, ಸಂಬಂಧಿತ DBMS ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ, ಇದು ಅಭಿವೃದ್ಧಿ ಪರಿಸರಕ್ಕೆ ಹೆಚ್ಚು ಅನ್ವಯಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಇದು ಯೋಜನೆಗಳ ಆರಂಭಿಕ ಹಂತಗಳಲ್ಲಿ ದೀರ್ಘವಾದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಏಕೀಕರಣಗಳನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಕೀಕ್ಲೋಕ್ ಅಂತರ್ನಿರ್ಮಿತ DBMS ಅನ್ನು ಬಳಸುತ್ತದೆ.

ಬೆಂಬಲಿತ DBMS ಪಟ್ಟಿಯು ವಿಸ್ತಾರವಾಗಿದೆ ಮತ್ತು ಇವುಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ: MS SQL, Oracle, PostgreSQL, MariaDB, Oracle ಮತ್ತು ಇತರೆ. MariaDB 12 ಗಾಗಿ Oracle 1C Release3.12 RAC ಮತ್ತು Galera 10.1.19 ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಇಲ್ಲಿಯವರೆಗೆ ಹೆಚ್ಚು ಪರೀಕ್ಷಿಸಲಾಗಿದೆ.

ಗುರುತಿನ ಪೂರೈಕೆದಾರರು - ಸಾಮಾಜಿಕ ಲಾಗಿನ್

ಸಾಮಾಜಿಕ ನೆಟ್ವರ್ಕ್ಗಳಿಂದ ಲಾಗಿನ್ ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ. ಬಳಕೆದಾರರನ್ನು ದೃಢೀಕರಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, ಕೀಕ್ಲಾಕ್ ನಿರ್ವಾಹಕ ಕನ್ಸೋಲ್ ಅನ್ನು ಬಳಸಿ. ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ನಲ್ಲಿ ಬದಲಾವಣೆಗಳು ಅಗತ್ಯವಿಲ್ಲ ಮತ್ತು ಈ ಕಾರ್ಯವು ಬಾಕ್ಸ್‌ನ ಹೊರಗೆ ಲಭ್ಯವಿದೆ ಮತ್ತು ಯೋಜನೆಯ ಯಾವುದೇ ಹಂತದಲ್ಲಿ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.

ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಬಳಕೆದಾರರ ದೃಢೀಕರಣಕ್ಕಾಗಿ OpenID/SAML ಐಡೆಂಟಿಟಿ ಪ್ರೊವೈಡರ್‌ಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ.

ಕೀಕ್ಲೋಕ್‌ನಲ್ಲಿ OAuth2 ಅನ್ನು ಬಳಸುವ ವಿಶಿಷ್ಟವಾದ ದೃಢೀಕರಣ ಸನ್ನಿವೇಶಗಳು

ದೃಢೀಕರಣ ಕೋಡ್ ಹರಿವು - ಸರ್ವರ್-ಸೈಡ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ದೃಢೀಕರಣ ಅನುಮತಿಯ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ವಿಧಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಸರ್ವರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಸೂಕ್ತವಾಗಿರುತ್ತದೆ ಏಕೆಂದರೆ ಅಪ್ಲಿಕೇಶನ್‌ನ ಮೂಲ ಕೋಡ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ಡೇಟಾ ಹೊರಗಿನವರಿಗೆ ಲಭ್ಯವಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯು ಮರುನಿರ್ದೇಶನವನ್ನು ಆಧರಿಸಿದೆ. ಬಳಕೆದಾರ ಏಜೆಂಟ್ ಮೂಲಕ ಮರುನಿರ್ದೇಶಿಸಲಾದ API ದೃಢೀಕರಣ ಕೋಡ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು - ವೆಬ್ ಬ್ರೌಸರ್‌ನಂತಹ ಬಳಕೆದಾರ ಏಜೆಂಟ್‌ನೊಂದಿಗೆ (ಬಳಕೆದಾರ-ಏಜೆಂಟ್) ಸಂವಹನ ನಡೆಸಲು ಅಪ್ಲಿಕೇಶನ್ ಸಮರ್ಥವಾಗಿರಬೇಕು.

ಸೂಚ್ಯ ಹರಿವು - ಮೊಬೈಲ್ ಅಥವಾ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಬಳಸಲಾಗುತ್ತದೆ (ಬಳಕೆದಾರರ ಸಾಧನದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು).

ಕ್ಲೈಂಟ್ ಗೌಪ್ಯತೆಯನ್ನು ಖಾತರಿಪಡಿಸಲಾಗದ ಮೊಬೈಲ್ ಮತ್ತು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಸೂಚ್ಯ ದೃಢೀಕರಣ ಅನುಮತಿ ಪ್ರಕಾರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಸೂಚ್ಯ ಅನುಮತಿ ಪ್ರಕಾರವು ಬಳಕೆದಾರ ಏಜೆಂಟ್ ಮರುನಿರ್ದೇಶನವನ್ನು ಸಹ ಬಳಸುತ್ತದೆ, ಆ ಮೂಲಕ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಬಳಕೆಗಾಗಿ ಪ್ರವೇಶ ಟೋಕನ್ ಅನ್ನು ಬಳಕೆದಾರ ಏಜೆಂಟ್‌ಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಇದು ಬಳಕೆದಾರರ ಸಾಧನದಲ್ಲಿ ಬಳಕೆದಾರರಿಗೆ ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಟೋಕನ್ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. ಈ ರೀತಿಯ ಅಧಿಕೃತ ಅನುಮತಿಯು ಅಪ್ಲಿಕೇಶನ್‌ನ ಗುರುತನ್ನು ದೃಢೀಕರಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯು ಸ್ವತಃ ಮರುನಿರ್ದೇಶನ URL ಅನ್ನು ಅವಲಂಬಿಸಿದೆ (ಹಿಂದೆ ಸೇವೆಯೊಂದಿಗೆ ನೋಂದಾಯಿಸಲಾಗಿದೆ).

ಇಂಪ್ಲಿಸಿಟ್ ಫ್ಲೋ ಪ್ರವೇಶ ಟೋಕನ್ ರಿಫ್ರೆಶ್ ಟೋಕನ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.

ಕ್ಲೈಂಟ್ ರುಜುವಾತುಗಳ ಅನುದಾನ ಹರಿವು - ಅಪ್ಲಿಕೇಶನ್ API ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ ಬಳಸಲಾಗುತ್ತದೆ. ಈ ರೀತಿಯ ದೃಢೀಕರಣ ಅನುಮತಿಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸರ್ವರ್-ಟು-ಸರ್ವರ್ ಪರಸ್ಪರ ಕ್ರಿಯೆಗಳಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ, ಅದನ್ನು ತಕ್ಷಣದ ಬಳಕೆದಾರರ ಸಂವಹನವಿಲ್ಲದೆ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ನಿರ್ವಹಿಸಬೇಕು. ಕ್ಲೈಂಟ್ ರುಜುವಾತು ಅನುದಾನ ಹರಿವು ವೆಬ್ ಸೇವೆಗೆ (ಗೌಪ್ಯ ಕ್ಲೈಂಟ್) ಮತ್ತೊಂದು ವೆಬ್ ಸೇವೆಗೆ ಕರೆ ಮಾಡುವಾಗ ದೃಢೀಕರಿಸಲು ಬಳಕೆದಾರರನ್ನು ಸೋಗು ಹಾಕುವ ಬದಲು ತನ್ನದೇ ಆದ ರುಜುವಾತುಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಉನ್ನತ ಮಟ್ಟದ ಭದ್ರತೆಗಾಗಿ, ಕರೆ ಮಾಡುವ ಸೇವೆಯು ಪ್ರಮಾಣಪತ್ರವನ್ನು (ಹಂಚಿಕೊಂಡ ರಹಸ್ಯದ ಬದಲಿಗೆ) ರುಜುವಾತುಗಳಾಗಿ ಬಳಸಲು ಸಾಧ್ಯವಿದೆ.

OAuth2 ವಿವರಣೆಯನ್ನು ವಿವರಿಸಲಾಗಿದೆ
ಆರ್‌ಎಫ್‌ಸಿ -6749
ಆರ್‌ಎಫ್‌ಸಿ -8252
ಆರ್‌ಎಫ್‌ಸಿ -6819

JWT ಟೋಕನ್ ಮತ್ತು ಅದರ ಪ್ರಯೋಜನಗಳು

JWT (JSON ವೆಬ್ ಟೋಕನ್) ಒಂದು ಮುಕ್ತ ಮಾನದಂಡವಾಗಿದೆ (https://tools.ietf.org/html/rfc7519) ಇದು JSON ವಸ್ತುವಿನಂತೆ ಪಕ್ಷಗಳ ನಡುವೆ ಮಾಹಿತಿಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ವರ್ಗಾಯಿಸಲು ಕಾಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಮಾರ್ಗವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪ್ರಕಾರ, ಟೋಕನ್ ಬೇಸ್-64 ಸ್ವರೂಪದಲ್ಲಿ ಮೂರು ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಚುಕ್ಕೆಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ. ಮೊದಲ ಭಾಗವನ್ನು ಹೆಡರ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಇದು ಟೋಕನ್ ಪ್ರಕಾರ ಮತ್ತು ಡಿಜಿಟಲ್ ಸಹಿಯನ್ನು ಪಡೆಯಲು ಹ್ಯಾಶ್ ಅಲ್ಗಾರಿದಮ್‌ನ ಹೆಸರನ್ನು ಒಳಗೊಂಡಿದೆ. ಎರಡನೇ ಭಾಗವು ಮೂಲ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ (ಬಳಕೆದಾರರು, ಗುಣಲಕ್ಷಣಗಳು, ಇತ್ಯಾದಿ). ಮೂರನೇ ಭಾಗವು ಡಿಜಿಟಲ್ ಸಹಿಯಾಗಿದೆ.

. .
ನಿಮ್ಮ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಟೋಕನ್ ಅನ್ನು ಎಂದಿಗೂ ಸಂಗ್ರಹಿಸಬೇಡಿ. ಮಾನ್ಯವಾದ ಟೋಕನ್ ಪಾಸ್‌ವರ್ಡ್‌ಗೆ ಸಮನಾಗಿರುವ ಕಾರಣ, ಟೋಕನ್ ಅನ್ನು ಸಂಗ್ರಹಿಸುವುದು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಸ್ಪಷ್ಟ ಪಠ್ಯದಲ್ಲಿ ಸಂಗ್ರಹಿಸುವಂತೆಯೇ ಇರುತ್ತದೆ.
ಪ್ರವೇಶ ಚೀಟಿ ಸುರಕ್ಷಿತ ಸರ್ವರ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಅದರ ಮಾಲೀಕರಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುವ ಟೋಕನ್ ಆಗಿದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಕಡಿಮೆ ಜೀವಿತಾವಧಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ ಮತ್ತು ಟೋಕನ್ ಅನ್ನು ವಿನಂತಿಸುವ ಪಕ್ಷದ IP ವಿಳಾಸದಂತಹ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ಸಾಗಿಸಬಹುದು.

ಟೋಕನ್ ಅನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಿ ಕ್ಲೈಂಟ್‌ಗಳು ತಮ್ಮ ಜೀವಿತಾವಧಿಯ ಅವಧಿ ಮುಗಿದ ನಂತರ ಹೊಸ ಪ್ರವೇಶ ಟೋಕನ್‌ಗಳನ್ನು ವಿನಂತಿಸಲು ಅನುಮತಿಸುವ ಟೋಕನ್ ಆಗಿದೆ. ಈ ಟೋಕನ್ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ದೀರ್ಘಕಾಲದವರೆಗೆ ನೀಡಲಾಗುತ್ತದೆ.

ಮೈಕ್ರೋ ಸರ್ವೀಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್‌ನಲ್ಲಿ ಬಳಸುವ ಮುಖ್ಯ ಅನುಕೂಲಗಳು:

  • ಒಂದು-ಬಾರಿ ದೃಢೀಕರಣದ ಮೂಲಕ ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಸಾಮರ್ಥ್ಯ.
  • ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಹಲವಾರು ಗುಣಲಕ್ಷಣಗಳ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ, ಸ್ವಯಂಚಾಲಿತ ಮತ್ತು ಹಾರಾಟವನ್ನು ಒಳಗೊಂಡಂತೆ ಪೇಲೋಡ್‌ಗೆ ಸೇರಿಸಬಹುದಾದ ಡೇಟಾವನ್ನು ಪುಷ್ಟೀಕರಿಸಲು ಸಾಧ್ಯವಿದೆ.
  • ಸಕ್ರಿಯ ಅವಧಿಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಸರ್ವರ್ ಅಪ್ಲಿಕೇಶನ್ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಅಗತ್ಯವಿದೆ.
  • ಪೇಲೋಡ್‌ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಗುಣಲಕ್ಷಣಗಳ ಮೂಲಕ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ.
  • ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್‌ಗಾಗಿ ಟೋಕನ್ ಸಹಿಯ ಬಳಕೆಯು ಒಟ್ಟಾರೆಯಾಗಿ ಪರಿಹಾರದ ಸುರಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

JWT ಟೋಕನ್ - ಸಂಯೋಜನೆ

ಶಿರೋಲೇಖ - ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಹೆಡರ್ ಟೋಕನ್ ಪ್ರಕಾರ ಮತ್ತು ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗಾಗಿ ಬಳಸುವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿದೆ.

ಟೋಕನ್ ಪ್ರಕಾರವನ್ನು "ಟೈಪ್" ಕೀಲಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ. JWT ಯಲ್ಲಿ 'ಟೈಪ್' ಕೀಲಿಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ. "ಟೈಪ್" ಕೀ ಇದ್ದರೆ, ಈ ವಸ್ತುವು JSON ವೆಬ್ ಟೋಕನ್ ಎಂದು ಸೂಚಿಸಲು ಅದರ ಮೌಲ್ಯವು JWT ಆಗಿರಬೇಕು.

ಎರಡನೇ ಕೀ "alg" ಟೋಕನ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸುವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ HS256 ಗೆ ಹೊಂದಿಸಬೇಕು. ಹೆಡರ್ ಅನ್ನು ಬೇಸ್ 64 ರಲ್ಲಿ ಎನ್ಕೋಡ್ ಮಾಡಲಾಗಿದೆ.

{ "alg": "HS256", "ಟೈಪ್": "JWT"}
ಪೇಲೋಡ್ (ವಿಷಯ) - ಪೇಲೋಡ್ ಪರಿಶೀಲಿಸಬೇಕಾದ ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಪೇಲೋಡ್‌ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಕೀಲಿಯನ್ನು "ಹಕ್ಕು" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಆಹ್ವಾನದ ಮೂಲಕ ಮಾತ್ರ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಮೂದಿಸಬಹುದು (ಮುಚ್ಚಿದ ಪ್ರೊಮೊ). ನಾವು ಯಾರನ್ನಾದರೂ ಭಾಗವಹಿಸಲು ಆಹ್ವಾನಿಸಲು ಬಯಸಿದಾಗ, ನಾವು ಅವರಿಗೆ ಆಹ್ವಾನ ಪತ್ರವನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ. ಇಮೇಲ್ ವಿಳಾಸವು ಆಹ್ವಾನವನ್ನು ಸ್ವೀಕರಿಸುವ ವ್ಯಕ್ತಿಗೆ ಸೇರಿದೆ ಎಂದು ಪರಿಶೀಲಿಸುವುದು ಮುಖ್ಯ, ಆದ್ದರಿಂದ ನಾವು ಈ ವಿಳಾಸವನ್ನು ಪೇಲೋಡ್‌ನಲ್ಲಿ ಸೇರಿಸುತ್ತೇವೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಅದನ್ನು "ಇಮೇಲ್" ಕೀಲಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೇವೆ

{ "ಇಮೇಲ್": "[ಇಮೇಲ್ ರಕ್ಷಿಸಲಾಗಿದೆ]"}

ಪೇಲೋಡ್‌ನಲ್ಲಿರುವ ಕೀಗಳು ಅನಿಯಂತ್ರಿತವಾಗಿರಬಹುದು. ಆದಾಗ್ಯೂ, ಕೆಲವು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ:

  • iss (ವಿತರಕರು) - ಟೋಕನ್ ಕಳುಹಿಸುವ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಗುರುತಿಸುತ್ತದೆ.
  • ಉಪ (ವಿಷಯ) - ಟೋಕನ್‌ನ ವಿಷಯವನ್ನು ವಿವರಿಸುತ್ತದೆ.
  • aud (ಪ್ರೇಕ್ಷಕರು) ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಅಥವಾ URIಗಳ ಒಂದು ಶ್ರೇಣಿಯಾಗಿದ್ದು ಅದು ಈ ಟೋಕನ್‌ನ ಸ್ವೀಕರಿಸುವವರ ಪಟ್ಟಿಯಾಗಿದೆ. ಸ್ವೀಕರಿಸುವ ಭಾಗವು ನೀಡಿದ ಕೀಲಿಯೊಂದಿಗೆ JWT ಅನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ಅದು ಸ್ವೀಕರಿಸುವವರಲ್ಲಿ ಸ್ವತಃ ಇರುವಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸಬೇಕು - ಇಲ್ಲದಿದ್ದರೆ ಟೋಕನ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ.
  • ಎಕ್ಸ್ (ಮುಕ್ತಾಯ ಸಮಯ) - ಟೋಕನ್ ಅವಧಿ ಮುಕ್ತಾಯಗೊಂಡಾಗ ಸೂಚಿಸುತ್ತದೆ. JWT ಮಾನದಂಡವು ಅವಧಿ ಮೀರಿದ ಟೋಕನ್‌ಗಳನ್ನು ತಿರಸ್ಕರಿಸಲು ಅದರ ಎಲ್ಲಾ ಅನುಷ್ಠಾನಗಳ ಅಗತ್ಯವಿದೆ. ಎಕ್ಸ್ ಕೀ ಯುನಿಕ್ಸ್ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಆಗಿರಬೇಕು.
  • nbf (ಮೊದಲು ಅಲ್ಲ) ಯುನಿಕ್ಸ್ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿರುವ ಸಮಯವಾಗಿದ್ದು ಅದು ಟೋಕನ್ ಮಾನ್ಯವಾದ ಕ್ಷಣವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
  • iat (ನೀಡಲಾಗಿದೆ) - ಈ ಕೀಲಿಯು ಟೋಕನ್ ನೀಡಿದ ಸಮಯವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಮತ್ತು JWT ಯ ವಯಸ್ಸನ್ನು ನಿರ್ಧರಿಸಲು ಬಳಸಬಹುದು. iat ಕೀ ಯುನಿಕ್ಸ್ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಆಗಿರಬೇಕು.
  • Jti (JWT ID) - ಈ ಟೋಕನ್‌ನ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆಯನ್ನು ವಿವರಿಸುವ ಸ್ಟ್ರಿಂಗ್, ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್.

ಪೇಲೋಡ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ರೂಪದಲ್ಲಿ ರವಾನಿಸುವುದಿಲ್ಲ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ (ಟೋಕನ್‌ಗಳನ್ನು ನೆಸ್ಟ್ ಮಾಡಬಹುದು ಮತ್ತು ನಂತರ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಡೇಟಾವನ್ನು ರವಾನಿಸಲು ಸಾಧ್ಯವಿದೆ). ಆದ್ದರಿಂದ, ಇದು ಯಾವುದೇ ರಹಸ್ಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಹೆಡರ್ ನಂತೆ, ಪೇಲೋಡ್ ಬೇಸ್64 ಎನ್ಕೋಡ್ ಆಗಿದೆ.
ಸಹಿ - ನಾವು ಶೀರ್ಷಿಕೆ ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು ಹೊಂದಿರುವಾಗ, ನಾವು ಸಹಿಯನ್ನು ಲೆಕ್ಕ ಹಾಕಬಹುದು.

Base64-ಎನ್ಕೋಡ್: ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಅವುಗಳನ್ನು ಡಾಟ್ ಮೂಲಕ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಸಂಯೋಜಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಈ ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ರಹಸ್ಯ ಕೀಲಿಯು ಹೆಡರ್ ("alg" ಕೀ) ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅಲ್ಗಾರಿದಮ್‌ಗೆ ಇನ್‌ಪುಟ್ ಆಗಿರುತ್ತದೆ. ಕೀಲಿಯು ಯಾವುದೇ ಸ್ಟ್ರಿಂಗ್ ಆಗಿರಬಹುದು. ಉದ್ದವಾದ ತಂತಿಗಳನ್ನು ಹೆಚ್ಚು ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ ಇದು ತೆಗೆದುಕೊಳ್ಳಲು ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.

{"alg":"RSA1_5","payload":"A128CBC-HS256"}

ಕೀಕ್ಲೋಕ್ ಫೇಲ್ಓವರ್ ಕ್ಲಸ್ಟರ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಎಲ್ಲಾ ಯೋಜನೆಗಳಿಗೆ ಒಂದೇ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಬಳಸುವಾಗ, SSO ಪರಿಹಾರಕ್ಕಾಗಿ ಹೆಚ್ಚಿನ ಅವಶ್ಯಕತೆಗಳಿವೆ. ಯೋಜನೆಗಳ ಸಂಖ್ಯೆಯು ಚಿಕ್ಕದಾಗಿದ್ದಾಗ, ಎಲ್ಲಾ ಯೋಜನೆಗಳಿಗೆ ಈ ಅವಶ್ಯಕತೆಗಳು ಅಷ್ಟೊಂದು ಗಮನಿಸುವುದಿಲ್ಲ, ಆದಾಗ್ಯೂ, ಬಳಕೆದಾರರ ಸಂಖ್ಯೆ ಮತ್ತು ಏಕೀಕರಣಗಳ ಹೆಚ್ಚಳದೊಂದಿಗೆ, ಲಭ್ಯತೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಗತ್ಯತೆಗಳು ಹೆಚ್ಚಾಗುತ್ತವೆ.

ಏಕ SSO ವೈಫಲ್ಯದ ಅಪಾಯವನ್ನು ಹೆಚ್ಚಿಸುವುದರಿಂದ ಪರಿಹಾರದ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮತ್ತು ಅನಗತ್ಯ ಘಟಕಗಳಿಗೆ ಬಳಸುವ ವಿಧಾನಗಳ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ತುಂಬಾ ಬಿಗಿಯಾದ SLA ಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಈ ನಿಟ್ಟಿನಲ್ಲಿ, ಹೆಚ್ಚಾಗಿ ಅಭಿವೃದ್ಧಿ ಅಥವಾ ಪರಿಹಾರಗಳನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುವ ಆರಂಭಿಕ ಹಂತಗಳಲ್ಲಿ, ಯೋಜನೆಗಳು ತಮ್ಮದೇ ಆದ ದೋಷ-ಸಹಿಷ್ಣು ಮೂಲಸೌಕರ್ಯವನ್ನು ಹೊಂದಿವೆ. ಅಭಿವೃದ್ಧಿಯು ಮುಂದುವರೆದಂತೆ, ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಸ್ಕೇಲಿಂಗ್‌ಗೆ ಅವಕಾಶಗಳನ್ನು ಹಾಕುವ ಅಗತ್ಯವಿದೆ. ಕಂಟೇನರ್ ವರ್ಚುವಲೈಸೇಶನ್ ಅಥವಾ ಹೈಬ್ರಿಡ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ವಿಫಲವಾದ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಇದು ಅತ್ಯಂತ ಮೃದುವಾಗಿರುತ್ತದೆ.

ಸಕ್ರಿಯ/ಸಕ್ರಿಯ ಮತ್ತು ಸಕ್ರಿಯ/ನಿಷ್ಕ್ರಿಯ ಕ್ಲಸ್ಟರ್ ಮೋಡ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು, ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಡೇಟಾ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಇದು ಅಗತ್ಯವಿದೆ - ಎರಡೂ ಡೇಟಾಬೇಸ್ ನೋಡ್‌ಗಳನ್ನು ವಿವಿಧ ಜಿಯೋ-ವಿತರಣೆ ಡೇಟಾ ಕೇಂದ್ರಗಳ ನಡುವೆ ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಪುನರಾವರ್ತಿಸಬೇಕು.

ದೋಷ-ಸಹಿಷ್ಣು ಅನುಸ್ಥಾಪನೆಯ ಸರಳ ಉದಾಹರಣೆ.

ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮೇಲೆ SSO. ನಾವು ಕೀಕ್ಲೋಕ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ. ಭಾಗ 1

ಒಂದೇ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಬಳಸುವ ಪ್ರಯೋಜನಗಳೇನು:

  • ಹೆಚ್ಚಿನ ಲಭ್ಯತೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆ.
  • ಆಪರೇಟಿಂಗ್ ಮೋಡ್‌ಗಳಿಗೆ ಬೆಂಬಲ: ಸಕ್ರಿಯ / ಸಕ್ರಿಯ, ಸಕ್ರಿಯ / ನಿಷ್ಕ್ರಿಯ.
  • ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಅಳೆಯುವ ಸಾಮರ್ಥ್ಯ - ಕಂಟೇನರ್ ವರ್ಚುವಲೈಸೇಶನ್ ಬಳಸುವಾಗ.
  • ಕೇಂದ್ರೀಕೃತ ನಿರ್ವಹಣೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆಯ ಸಾಧ್ಯತೆ.
  • ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಕೆದಾರರ ಗುರುತಿಸುವಿಕೆ/ದೃಢೀಕರಣ/ಅಧಿಕಾರಕ್ಕಾಗಿ ಏಕೀಕೃತ ವಿಧಾನ.
  • ಬಳಕೆದಾರರ ಒಳಗೊಳ್ಳುವಿಕೆ ಇಲ್ಲದೆ ವಿವಿಧ ಯೋಜನೆಗಳ ನಡುವೆ ಹೆಚ್ಚು ಪಾರದರ್ಶಕ ಸಂವಹನ.
  • ವಿವಿಧ ಯೋಜನೆಗಳಲ್ಲಿ JWT ಟೋಕನ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ.
  • ನಂಬಿಕೆಯ ಏಕ ಬಿಂದು.
  • ಮೈಕ್ರೋಸರ್ವಿಸ್/ಕಂಟೇನರ್ ವರ್ಚುವಲೈಸೇಶನ್ ಬಳಸಿಕೊಂಡು ಪ್ರಾಜೆಕ್ಟ್‌ಗಳ ವೇಗದ ಉಡಾವಣೆ (ಹೆಚ್ಚುವರಿ ಘಟಕಗಳನ್ನು ಎತ್ತುವ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ).
  • ಮಾರಾಟಗಾರರಿಂದ ವಾಣಿಜ್ಯ ಬೆಂಬಲವನ್ನು ಖರೀದಿಸಲು ಸಾಧ್ಯವಿದೆ.

ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಯೋಜಿಸುವಾಗ ಏನು ನೋಡಬೇಕು

ಡಿಬಿಎಂಎಸ್

ಕೀಕ್ಲೋಕ್ ಸಂಗ್ರಹಿಸಲು ಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸುತ್ತದೆ: ಕ್ಷೇತ್ರಗಳು, ಗ್ರಾಹಕರು, ಬಳಕೆದಾರರು, ಇತ್ಯಾದಿ.
ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ DBMS ಬೆಂಬಲಿತವಾಗಿದೆ: MS SQL, Oracle, MySQL, PostgreSQL. ಕೀಕ್ಲೋಕ್ ತನ್ನದೇ ಆದ ಅಂತರ್ನಿರ್ಮಿತ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನೊಂದಿಗೆ ಬರುತ್ತದೆ. ಲೋಡ್ ಮಾಡದ ಪರಿಸರಗಳಿಗೆ ಬಳಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ - ಉದಾಹರಣೆಗೆ ಅಭಿವೃದ್ಧಿ ಪರಿಸರಗಳು.

ಸಕ್ರಿಯ/ಸಕ್ರಿಯ ಮತ್ತು ಸಕ್ರಿಯ/ನಿಷ್ಕ್ರಿಯ ಕ್ಲಸ್ಟರ್ ಮೋಡ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು, ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಡೇಟಾ ಸ್ಥಿರತೆಯ ಅಗತ್ಯವಿದೆ, ಮತ್ತು ಡೇಟಾಬೇಸ್ ಕ್ಲಸ್ಟರ್ ನೋಡ್‌ಗಳನ್ನು ಎರಡೂ ಡೇಟಾ ಕೇಂದ್ರಗಳ ನಡುವೆ ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಪುನರಾವರ್ತಿಸಲಾಗುತ್ತದೆ.

ವಿತರಿಸಲಾದ ಸಂಗ್ರಹ (ಇನ್‌ಫಿನ್ಸ್‌ಪಾನ್)

ಕ್ಲಸ್ಟರ್ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು, JBoss ಡೇಟಾ ಗ್ರಿಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕೆಳಗಿನ ರೀತಿಯ ಕ್ಯಾಶ್‌ಗಳ ಹೆಚ್ಚುವರಿ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅಗತ್ಯವಿದೆ:

ದೃಢೀಕರಣ ಅವಧಿಗಳು - ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರನ್ನು ದೃಢೀಕರಿಸುವಾಗ ಡೇಟಾವನ್ನು ಉಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಸಂಗ್ರಹದಿಂದ ವಿನಂತಿಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಬ್ರೌಸರ್ ಮತ್ತು ಕೀಕ್ಲೋಕ್ ಸರ್ವರ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಅಪ್ಲಿಕೇಶನ್ ಅಲ್ಲ.

ಕ್ರಿಯೆಯನ್ನು ಬಳಕೆದಾರರು ಅಸಮಕಾಲಿಕವಾಗಿ (ಇಮೇಲ್ ಮೂಲಕ) ದೃಢೀಕರಿಸಬೇಕಾದ ಸನ್ನಿವೇಶಗಳಿಗಾಗಿ ಆಕ್ಷನ್ ಟೋಕನ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪಾಸ್‌ವರ್ಡ್ ಮರೆತುಹೋಗುವ ಸಮಯದಲ್ಲಿ, ಈಗಾಗಲೇ ಬಳಸಲಾದ ಸಂಯೋಜಿತ ಕ್ರಿಯೆಯ ಟೋಕನ್‌ಗಳ ಕುರಿತು ಮೆಟಾಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಆಕ್ಷನ್‌ಟೋಕನ್‌ಗಳ ಇನ್ಫಿನಿಸ್ಪಾನ್ ಸಂಗ್ರಹವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಮರುಬಳಕೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ.

ನಿರಂತರ ಡೇಟಾದ ಕ್ಯಾಶಿಂಗ್ ಮತ್ತು ಅಮಾನ್ಯೀಕರಣ - ಡೇಟಾಬೇಸ್‌ಗೆ ಅನಗತ್ಯ ಪ್ರಶ್ನೆಗಳನ್ನು ತಪ್ಪಿಸಲು ನಿರಂತರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಕೀಕ್ಲೋಕ್ ಸರ್ವರ್ ಡೇಟಾವನ್ನು ನವೀಕರಿಸಿದಾಗ, ಎಲ್ಲಾ ಡೇಟಾ ಕೇಂದ್ರಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಇತರ ಕೀಕ್ಲೋಕ್ ಸರ್ವರ್‌ಗಳು ಅದರ ಬಗ್ಗೆ ತಿಳಿದಿರಬೇಕು.

ಕೆಲಸ - ಕ್ಲಸ್ಟರ್ ನೋಡ್‌ಗಳು ಮತ್ತು ಡೇಟಾ ಕೇಂದ್ರಗಳ ನಡುವೆ ಅಮಾನ್ಯ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ.

ಬಳಕೆದಾರ ಸೆಷನ್‌ಗಳು - ಬಳಕೆದಾರರ ಬ್ರೌಸರ್ ಅವಧಿಯ ಅವಧಿಗೆ ಮಾನ್ಯವಾಗಿರುವ ಬಳಕೆದಾರ ಸೆಷನ್‌ಗಳ ಕುರಿತು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಸಂಗ್ರಹವು ಅಂತಿಮ ಬಳಕೆದಾರ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ HTTP ವಿನಂತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕು.

ಬ್ರೂಟ್ ಫೋರ್ಸ್ ಪ್ರೊಟೆಕ್ಷನ್ - ವಿಫಲವಾದ ಲಾಗಿನ್‌ಗಳ ಬಗ್ಗೆ ಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ.

ಹೊರೆ ಸಮತೋಲನೆ

ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಕೀಕ್ಲೋಕ್‌ಗೆ ಏಕ ಪ್ರವೇಶ ಬಿಂದುವಾಗಿದೆ ಮತ್ತು ಜಿಗುಟಾದ ಅವಧಿಗಳನ್ನು ಬೆಂಬಲಿಸಬೇಕು.

ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್‌ಗಳು

ಅವುಗಳನ್ನು ಪರಸ್ಪರ ಘಟಕಗಳ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಉಪಕರಣಗಳು ಮತ್ತು ಮೂಲಸೌಕರ್ಯ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಸಾಧನಗಳ ಡೈನಾಮಿಕ್ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವರ್ಚುವಲೈಸ್ ಮಾಡಬಹುದು ಅಥವಾ ಕಂಟೈನರೈಸ್ ಮಾಡಬಹುದು. OpenShift, Kubernates, Rancher ನಲ್ಲಿ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ನಿಯೋಜನೆ ಸನ್ನಿವೇಶಗಳು.

ಇದು ಮೊದಲ ಭಾಗವನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸುತ್ತದೆ - ಸೈದ್ಧಾಂತಿಕ ಒಂದು. ಮುಂದಿನ ಲೇಖನಗಳ ಸರಣಿಯಲ್ಲಿ, ವಿವಿಧ ಗುರುತಿನ ಪೂರೈಕೆದಾರರೊಂದಿಗಿನ ಸಂಯೋಜನೆಗಳ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಉದಾಹರಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲಾಗುತ್ತದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ