Architecture Decision Record

Active theme: Light

← ਫੈਸਲਾ ਰਿਕਾਰਡ ਉਦਾਹਰਨਾਂ

ਆਰਕੀਟੈਕਚਰ ਫੈਸਲਾ ਰਿਕਾਰਡ: ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਧਿਕਾਰ ਦੇ ਵਿਕਲਪ

ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ (authentication) ਅਤੇ ਅਧਿਕਾਰ (authorization) ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੇ ਦੋ ਅਹਿਮ ਸੰਕਲਪ ਹਨ। ਦੋਵੇਂ ਵਰਤੋਂਕਾਰਾਂ ਦੀ ਪਛਾਣ ਅਤੇ ਇਜਾਜ਼ਤਾਂ ਦਿੱਤੇ ਜਾਣ ਦੇ ਤਰੀਕੇ ਨਾਲ ਜੁੜੇ ਹਨ, ਪਰ ਇਨ੍ਹਾਂ ਦਾ ਧਿਆਨ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਉੱਤੇ ਹੈ:

  • ਪ੍ਰਮਾਣਿਕਤਾ (Authentication) ਕਿਸੇ ਵਰਤੋਂਕਾਰ ਜਾਂ ਸਿਸਟਮ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ।
  • ਅਧਿਕਾਰ (Authorization) ਇਹ ਤੈਅ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ ਕਿ ਪ੍ਰਮਾਣਿਤ ਵਰਤੋਂਕਾਰ ਜਾਂ ਸਿਸਟਮ ਕਿਹੜੇ ਸਰੋਤਾਂ ਜਾਂ ਕਾਰਵਾਈਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ।

ਹੁਣ ਆਓ ਉਨ੍ਹਾਂ ਖਾਸ ਪ੍ਰੋਟੋਕੋਲਾਂ ਅਤੇ ਤਕਨਾਲੋਜੀਆਂ ਵਿੱਚ ਡੂੰਘੇ ਉਤਰੀਏ ਜਿਨ੍ਹਾਂ ਦਾ ਤੁਸੀਂ ਜ਼ਿਕਰ ਕੀਤਾ ਹੈ, ਅਤੇ ਜੋ ਆਧੁਨਿਕ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਧਿਕਾਰ ਦੇ ਪ੍ਰਬੰਧ ਲਈ ਆਮ ਤੌਰ ਉੱਤੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।

1. OAuth (Open Authorization)

OAuth ਅਧਿਕਾਰ ਲਈ ਇੱਕ ਖੁੱਲ੍ਹਾ ਮਿਆਰ ਹੈ। ਇਹ ਵਰਤੋਂਕਾਰ ਨੂੰ ਆਪਣੀਆਂ ਸਨਦਾਂ (credentials) ਸਾਂਝੀਆਂ ਕੀਤੇ ਬਿਨਾਂ ਕਿਸੇ ਤੀਜੀ ਧਿਰ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਆਪਣੇ ਸਰੋਤਾਂ ਤੱਕ ਸੀਮਤ ਪਹੁੰਚ ਦੇਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਮੁੱਖ ਵਿਚਾਰ ਸੌਂਪੀ ਗਈ ਪਹੁੰਚ (delegated access) ਹੈ। OAuth ਅਕਸਰ ਉਨ੍ਹਾਂ ਹਾਲਾਤਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਵਰਤੋਂਕਾਰ ਤੀਜੀ ਧਿਰ ਨੂੰ ਸਿੱਧੇ ਆਪਣਾ ਵਰਤੋਂਕਾਰ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ ਦਿੱਤੇ ਬਿਨਾਂ ਉਸ ਦੀ ਸੇਵਾ ਵਿੱਚ ਲੌਗਇਨ ਕਰ ਸਕਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ Google ਨਾਲ ਸਾਈਨ ਇਨ ਕਰਨਾ)।

  • ਪ੍ਰਵਾਹ (Flow): OAuth ਆਮ ਤੌਰ ਉੱਤੇ ਟੋਕਨ-ਆਧਾਰਿਤ ਪ੍ਰਵਾਹ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਇੱਕ ਅਧਿਕਾਰ ਸਰਵਰ ਤੀਜੀ ਧਿਰ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੱਕ ਪਹੁੰਚ ਟੋਕਨ ਜਾਰੀ ਕਰਦਾ ਹੈ। ਇਹ ਟੋਕਨ ਵਰਤੋਂਕਾਰ ਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਦੀ ਵਰਤੋਂ API ਤੋਂ ਵਰਤੋਂਕਾਰ ਦੇ ਡਾਟਾ ਜਾਂ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਕਰਦੀ ਹੈ।
  • ਉਦਾਹਰਨ: ਇੱਕ ਵਰਤੋਂਕਾਰ ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਤੀਜੀ ਧਿਰ ਦੀ ਐਪ ਵਿੱਚ ਸਾਈਨ ਇਨ ਕਰਦਾ ਹੈ। Google ਵਰਤੋਂਕਾਰ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਇੱਕ ਟੋਕਨ ਦਿੰਦਾ ਹੈ ਜੋ ਤੀਜੀ ਧਿਰ ਦੀ ਐਪ ਨੂੰ ਕੁਝ Google ਡਾਟਾ (ਜਿਵੇਂ ਕਿ Google Calendar) ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

OAuth ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਿੱਧੇ ਤੌਰ ਉੱਤੇ ਨਹੀਂ ਸੰਭਾਲਦਾ; ਇਹ ਪਹੁੰਚ ਦੇਣ ਬਾਰੇ ਹੈ। ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ, OAuth ਨੂੰ ਅਕਸਰ ਹੋਰ ਪ੍ਰੋਟੋਕੋਲਾਂ, ਜਿਵੇਂ ਕਿ OpenID Connect, ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।

2. OpenID Connect (OIDC)

OpenID Connect (OIDC) OAuth 2.0 ਦੇ ਉੱਤੇ ਬਣੀ ਇੱਕ ਪਛਾਣ ਪਰਤ ਹੈ ਜੋ OAuth ਦੀਆਂ ਅਧਿਕਾਰ ਸਮਰੱਥਾਵਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕਤਾ ਜੋੜਦੀ ਹੈ। ਸੰਖੇਪ ਵਿੱਚ, OpenID Connect OAuth ਨੂੰ ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣਿਕਤਾ ਸੰਭਾਲਣ ਲਈ ਵਧਾਉਂਦਾ ਹੈ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਵਰਤੋਂਕਾਰ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਾ ਮਿਆਰੀ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ।

  • ਪ੍ਰਵਾਹ (Flow): ਜਦੋਂ ਵਰਤੋਂਕਾਰ OpenID Connect ਨਾਲ ਲੌਗਇਨ ਕਰਦਾ ਹੈ, ਤਾਂ ਤੀਜੀ ਧਿਰ ਦੀ ਐਪਲੀਕੇਸ਼ਨ (OAuth ਪਹੁੰਚ ਟੋਕਨ ਤੋਂ ਇਲਾਵਾ) ਇੱਕ ID ਟੋਕਨ ਦੀ ਬੇਨਤੀ ਕਰਦੀ ਹੈ। ID ਟੋਕਨ ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਬਾਰੇ ਜਾਣਕਾਰੀ (ਜਿਵੇਂ ਕਿ ਉਸ ਦਾ ਵਰਤੋਂਕਾਰ ਨਾਮ, ਈਮੇਲ ਅਤੇ ਹੋਰ ਦਾਅਵੇ) ਹੁੰਦੀ ਹੈ। ਇਸ ਨਾਲ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਵਰਤੋਂਕਾਰ ਕੌਣ ਹੈ ਅਤੇ ਕੀ ਉਹ ਪ੍ਰਮਾਣਿਤ ਹੈ।
  • ਉਦਾਹਰਨ: ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ Slack ਵਰਗੀ ਸੇਵਾ ਵਿੱਚ ਲੌਗਇਨ ਕਰਨ (ਜਿੱਥੇ Google OpenID Connect ਪ੍ਰਦਾਤਾ ਹੈ) ਵਿੱਚ OpenID Connect ਰਾਹੀਂ ਪ੍ਰਮਾਣਿਕਤਾ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ, ਜਦਕਿ OAuth ਤੁਹਾਡੇ Google ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਦਾ ਪ੍ਰਬੰਧ ਕਰਦਾ ਹੈ।

OIDC ਤੀਜੀ ਧਿਰ ਦੀਆਂ ਐਪਾਂ ਲਈ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ, ਜਦਕਿ ਇਹ ਵੀ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਉਹ ਐਪਾਂ ਕਿਹੜੇ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀਆਂ ਹਨ ਇਸ ਉੱਤੇ ਬਾਰੀਕ ਨਿਯੰਤਰਣ ਬਣਿਆ ਰਹੇ।

3. SAML (Security Assertion Markup Language)

SAML ਇੱਕ ਪੁਰਾਣਾ, XML-ਆਧਾਰਿਤ ਮਿਆਰ ਹੈ ਜੋ ਧਿਰਾਂ ਵਿਚਕਾਰ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਧਿਕਾਰ ਦੇ ਡਾਟਾ ਦੇ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਸਿੰਗਲ ਸਾਈਨ-ਆਨ (SSO) ਦੇ ਹਾਲਾਤਾਂ ਵਿੱਚ। ਇਹ ਮੁੱਖ ਤੌਰ ਉੱਤੇ ਉੱਦਮ ਮਾਹੌਲਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਵਰਤੋਂਕਾਰ ਇੱਕ ਵਾਰ ਪ੍ਰਮਾਣਿਤ ਹੋ ਕੇ ਸਨਦਾਂ ਦੁਬਾਰਾ ਦਰਜ ਕੀਤੇ ਬਿਨਾਂ ਕਈ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਣ।

  • ਪ੍ਰਵਾਹ (Flow): ਵਰਤੋਂਕਾਰ ਪਹਿਲਾਂ ਇੱਕ ਪਛਾਣ ਪ੍ਰਦਾਤਾ (IdP) ਕੋਲ ਪ੍ਰਮਾਣਿਤ ਹੁੰਦਾ ਹੈ। IdP ਇੱਕ ਦਸਤਖ਼ਤ ਕੀਤਾ SAML ਦਾਅਵਾ (assertion) ਬਣਾਉਂਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਦੀ ਪਛਾਣ ਅਤੇ ਸੰਬੰਧਿਤ ਗੁਣ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। ਇਹ ਦਾਅਵਾ ਸੇਵਾ ਪ੍ਰਦਾਤਾ (SP) ਨੂੰ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਇਸ ਦੀ ਵਰਤੋਂ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਅਧਿਕਾਰਤ ਕਰਨ ਲਈ ਕਰਦਾ ਹੈ।
  • ਉਦਾਹਰਨ: ਇੱਕ ਕਰਮਚਾਰੀ ਆਪਣੇ ਕਾਰਪੋਰੇਟ ਪੋਰਟਲ (IdP) ਵਿੱਚ ਲੌਗਇਨ ਕਰਦਾ ਹੈ ਅਤੇ ਸਨਦਾਂ ਦੁਬਾਰਾ ਦਰਜ ਕੀਤੇ ਬਿਨਾਂ ਆਪਣੇ-ਆਪ ਈਮੇਲ, CRM ਆਦਿ ਵਰਗੇ ਹੋਰ ਸਿਸਟਮਾਂ ਵਿੱਚ ਲੌਗਇਨ ਹੋ ਜਾਂਦਾ ਹੈ। ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਕਿਰਿਆ IdP ਵੱਲੋਂ ਭੇਜੇ SAML ਦਾਅਵੇ ਉੱਤੇ ਆਧਾਰਿਤ ਹੁੰਦੀ ਹੈ।

SAML ਆਮ ਤੌਰ ਉੱਤੇ ਉੱਦਮ SSO ਹੱਲਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਕਾਰਪੋਰੇਟ ਮਾਹੌਲਾਂ ਵਿੱਚ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ OAuth/OIDC ਦੇ ਮੁਕਾਬਲੇ ਇਹ ਮੋਬਾਈਲ ਲਈ ਘੱਟ ਅਨੁਕੂਲ ਹੈ।

4. WS-Federation (Web Services Federation)

WS-Federation ਸਿੰਗਲ ਸਾਈਨ-ਆਨ (SSO) ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਹੋਰ ਪ੍ਰੋਟੋਕੋਲ ਹੈ, ਖਾਸ ਕਰਕੇ Microsoft-ਆਧਾਰਿਤ ਉੱਦਮ ਮਾਹੌਲਾਂ ਵਿੱਚ। ਇਹ WS- (Web Services)* ਨਿਰਧਾਰਨਾਂ ਦੇ ਪਰਿਵਾਰ ਦਾ ਹਿੱਸਾ ਹੈ ਅਤੇ ਵੱਖ-ਵੱਖ ਸੁਰੱਖਿਆ ਖੇਤਰਾਂ (ਜਿਵੇਂ ਕਿ ਵੱਖ-ਵੱਖ ਸੰਸਥਾਵਾਂ ਜਾਂ ਵੱਖ-ਵੱਖ ਸੇਵਾਵਾਂ ਵਿਚਕਾਰ) ਵਿੱਚ ਪਛਾਣ ਫੈਡਰੇਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

  • ਪ੍ਰਵਾਹ (Flow): WS-Federation ਇੱਕ ਭਰੋਸੇਯੋਗ ਪਛਾਣ ਪ੍ਰਦਾਤਾ (IdP) ਨੂੰ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਅਤੇ ਅਜਿਹੇ ਟੋਕਨ ਜਾਰੀ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਅਧਿਕਾਰ ਲਈ ਵਰਤ ਸਕਦਾ ਹੈ। ਇਹ SAML ਵਰਗਾ ਹੈ ਪਰ ਅਕਸਰ ਉਨ੍ਹਾਂ ਹਾਲਾਤਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ Microsoft ਤਕਨਾਲੋਜੀਆਂ ਉੱਤੇ ਬਹੁਤ ਨਿਰਭਰ ਹਨ।
  • ਉਦਾਹਰਨ: ਇੱਕ ਵਰਤੋਂਕਾਰ Microsoft Azure Active Directory (AD) ਉੱਤੇ ਹੋਸਟ ਕੀਤੀ ਉੱਦਮ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਲੌਗਇਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਉਸ ਦੀ ਪਛਾਣ ਹੋਰ ਫੈਡਰੇਟਿਡ ਸੇਵਾਵਾਂ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਤੀਜੀ ਧਿਰ ਦੇ ਵਿਕਰੇਤਾਵਾਂ ਵੱਲੋਂ ਹੋਸਟ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਸ਼ਾਮਲ ਹਨ, ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ।

ਹਾਲਾਂਕਿ ਕਈ ਆਧੁਨਿਕ ਵੈੱਬ ਮਾਹੌਲਾਂ ਵਿੱਚ WS-Federation ਦੀ ਥਾਂ ਵੱਡੇ ਪੱਧਰ ਉੱਤੇ OAuth2.0 ਅਤੇ OpenID Connect ਵਰਗੇ ਨਵੇਂ ਪ੍ਰੋਟੋਕੋਲਾਂ ਨੇ ਲੈ ਲਈ ਹੈ, ਇਹ ਅਜੇ ਵੀ ਪੁਰਾਣੇ ਸਿਸਟਮਾਂ ਵਿੱਚ, ਖਾਸ ਕਰਕੇ Microsoft-ਕੇਂਦਰਿਤ ਉੱਦਮਾਂ ਵਿੱਚ, ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

5. LDAP (Lightweight Directory Access Protocol)

LDAP ਡਾਇਰੈਕਟਰੀ ਸੇਵਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਪ੍ਰੋਟੋਕੋਲ ਹੈ, ਜੋ ਆਮ ਤੌਰ ਉੱਤੇ ਇੱਕ ਕੇਂਦਰੀ ਡਾਇਰੈਕਟਰੀ (ਜਿਸ ਨੂੰ ਅਕਸਰ ਡਾਇਰੈਕਟਰੀ ਸੇਵਾ ਕਿਹਾ ਜਾਂਦਾ ਹੈ) ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਸਨਦਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। LDAP ਖਾਸ ਤੌਰ ਉੱਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂ ਅਧਿਕਾਰ ਬਾਰੇ ਨਹੀਂ ਹੈ ਪਰ ਪਛਾਣ ਡਾਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਫਿਰ ਉਨ੍ਹਾਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

  • ਪ੍ਰਮਾਣਿਕਤਾ: LDAP ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਡਾਇਰੈਕਟਰੀ ਸੇਵਾ ਤੋਂ ਸਨਦਾਂ (ਜਿਵੇਂ ਕਿ ਪਾਸਵਰਡ) ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਕਰਕੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
  • ਅਧਿਕਾਰ: ਇਹ ਵਰਤੋਂਕਾਰ ਭੂਮਿਕਾਵਾਂ ਅਤੇ ਇਜਾਜ਼ਤਾਂ ਦਾ ਪ੍ਰਬੰਧ ਵੀ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਇਹ ਤੈਅ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ ਕਿ ਕੀ ਵਰਤੋਂਕਾਰ ਕੋਲ ਕੁਝ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਹੈ।
  • ਉਦਾਹਰਨ: ਬਹੁਤ ਸਾਰੇ ਉੱਦਮ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਧਿਕਾਰ ਲਈ LDAP-ਆਧਾਰਿਤ ਡਾਇਰੈਕਟਰੀਆਂ (ਜਿਵੇਂ ਕਿ Active Directory) ਵਰਤਦੇ ਹਨ, ਖਾਸ ਕਰਕੇ Windows ਮਾਹੌਲਾਂ ਵਿੱਚ।

ਅੰਦਰੂਨੀ ਸਿਸਟਮਾਂ ਵਿੱਚ ਵਰਤੋਂਕਾਰ ਪਹੁੰਚ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਲਈ LDAP ਉੱਦਮਾਂ ਵਾਸਤੇ ਅਹਿਮ ਹੈ, ਪਰ ਆਧੁਨਿਕ ਵੈੱਬ ਪ੍ਰਸੰਗ ਵਿੱਚ, ਵਧੇਰੇ ਸੰਪੂਰਨ ਪਛਾਣ ਪ੍ਰਬੰਧਨ ਲਈ LDAP ਨੂੰ ਅਕਸਰ SAML ਜਾਂ OAuth ਵਰਗੇ ਹੋਰ ਪ੍ਰੋਟੋਕੋਲਾਂ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।

6. ਸੋਸ਼ਲ SSO ਪ੍ਰਦਾਤਾ

Facebook, Google, Twitter, GitHub ਅਤੇ ਹੋਰ ਵਰਗੇ ਸੋਸ਼ਲ ਸਿੰਗਲ ਸਾਈਨ-ਆਨ (SSO) ਪ੍ਰਦਾਤਾ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਆਪਣੀਆਂ ਸੋਸ਼ਲ ਮੀਡੀਆ ਸਨਦਾਂ ਨਾਲ ਤੀਜੀ ਧਿਰ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣਿਤ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ। ਇਹ OAuth-ਆਧਾਰਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਇੱਕ ਕਿਸਮ ਹੈ ਜਿੱਥੇ ਤੀਜੀ ਧਿਰ ਦੀ ਸੇਵਾ (ਜਿਵੇਂ ਕਿ Google) ਪਛਾਣ ਪ੍ਰਦਾਤਾ ਹੁੰਦੀ ਹੈ।

  • ਪ੍ਰਵਾਹ (Flow): ਵਰਤੋਂਕਾਰ (ਉਦਾਹਰਨ ਲਈ) "Google ਨਾਲ ਲੌਗਇਨ ਕਰੋ" ਉੱਤੇ ਕਲਿੱਕ ਕਰਦਾ ਹੈ। ਐਪ Google ਵੱਲ ਭੇਜਦੀ ਹੈ, ਜਿੱਥੇ ਵਰਤੋਂਕਾਰ ਲੌਗਇਨ ਕਰਦਾ ਹੈ (ਜੇ ਪਹਿਲਾਂ ਤੋਂ ਲੌਗਇਨ ਨਾ ਹੋਵੇ)। ਫਿਰ Google ਤੀਜੀ ਧਿਰ ਦੀ ਐਪ ਨੂੰ ਇੱਕ ਪਹੁੰਚ ਟੋਕਨ ਜਾਂ ID ਟੋਕਨ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਦੀ ਵਰਤੋਂ ਵਰਤੋਂਕਾਰ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਅਤੇ ਸ਼ਾਇਦ ਉਸ ਦੇ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
  • ਉਦਾਹਰਨ: ਬਹੁਤ ਸਾਰੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ Google ਜਾਂ Facebook ਸਨਦਾਂ ਨਾਲ ਲੌਗਇਨ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ। ਐਪ ਪਰਦੇ ਪਿੱਛੇ ਤੁਹਾਡੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ, ਅਤੇ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਕੁਝ ਸੋਸ਼ਲ ਮੀਡੀਆ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ, OAuth ਜਾਂ OpenID Connect ਵਰਤੇਗੀ।

ਸੋਸ਼ਲ SSO ਪ੍ਰਮਾਣਿਕਤਾ ਦਾ ਇੱਕ ਸੁਵਿਧਾਜਨਕ ਅਤੇ ਵਿਆਪਕ ਤੌਰ ਉੱਤੇ ਅਪਣਾਇਆ ਤਰੀਕਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਵਰਤੋਂਕਾਰਾਂ ਲਈ ਰੁਕਾਵਟ ਘਟਾਉਂਦਾ ਹੈ, ਜੋ ਸ਼ਾਇਦ ਇੱਕ ਹੋਰ ਵਰਤੋਂਕਾਰ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ ਬਣਾਉਣਾ ਨਹੀਂ ਚਾਹੁੰਦੇ।


ਅੰਤਰਾਂ ਦਾ ਸਾਰ:

  • OAuth: ਅਧਿਕਾਰ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤੀਜੀ ਧਿਰ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਸਨਦਾਂ ਉਜਾਗਰ ਕੀਤੇ ਬਿਨਾਂ ਵਰਤੋਂਕਾਰ ਦੇ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਿੰਦਾ ਹੈ।
  • OpenID Connect: OAuth ਨੂੰ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇਣ ਲਈ ਵਧਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਐਪਾਂ ਵਰਤੋਂਕਾਰ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੀਆਂ ਹਨ।
  • SAML: SSO ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ XML-ਆਧਾਰਿਤ ਪ੍ਰੋਟੋਕੋਲ, ਅਕਸਰ ਉੱਦਮ ਮਾਹੌਲਾਂ ਵਿੱਚ।
  • WS-Federation: ਪਛਾਣ ਫੈਡਰੇਸ਼ਨ ਲਈ Microsoft-ਵਿਸ਼ੇਸ਼ ਪ੍ਰੋਟੋਕੋਲ, ਪੁਰਾਣੇ ਸਿਸਟਮਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
  • LDAP: ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਅਤੇ ਅਧਿਕਾਰ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਲਈ ਡਾਇਰੈਕਟਰੀ ਸੇਵਾਵਾਂ ਤੋਂ ਪੁੱਛ-ਗਿੱਛ ਕਰਨ ਦਾ ਪ੍ਰੋਟੋਕੋਲ।
  • ਸੋਸ਼ਲ SSO ਪ੍ਰਦਾਤਾ: OAuth-ਆਧਾਰਿਤ ਸਿਸਟਮ (ਜਿਵੇਂ ਕਿ Google, Facebook) ਜੋ ਤੀਜੀ ਧਿਰ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਦੀਆਂ ਸੋਸ਼ਲ ਮੀਡੀਆ ਸਨਦਾਂ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦਿੰਦੇ ਹਨ।

ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਤਕਨਾਲੋਜੀ ਦੀਆਂ ਆਪਣੀਆਂ ਤਾਕਤਾਂ ਅਤੇ ਵਰਤੋਂ ਦੇ ਕੇਸ ਹਨ, ਅਤੇ ਆਧੁਨਿਕ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਤੁਸੀਂ ਸੁਰੱਖਿਆ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਲਈ ਇਨ੍ਹਾਂ ਦਾ ਸੁਮੇਲ ਵਰਤਿਆ ਜਾਂਦਾ ਵੇਖ ਸਕਦੇ ਹੋ (ਜਿਵੇਂ ਕਿ API ਪਹੁੰਚ ਲਈ OAuth/OIDC, ਉੱਦਮ SSO ਲਈ SAML)।