Single Sign-On (SSO)
এক login দিয়ে অনেক app — security এবং UX-এর জন্য।
আপনি একটি কোম্পানির কর্মী। প্রতিদিন Slack, Gmail, Jira, Google Drive, Salesforce, Zoom — সব আলাদা login? প্রতি app-এ different password? সমাধান: SSO — একবার login, সব app-এ access।
SSO কী?
Single Sign-On = একটি authentication system যা user-কে একবার login করে multiple application-এ access দেয় — re-authenticate ছাড়া।
সুবিধা
User-এর জন্য
- একবার login — ১০টি app access।
- একটাই password remember।
- Productivity বাড়ে।
Organization-এর জন্য
- Centralized user management।
- Easy onboarding/offboarding।
- Stronger security policy enforce।
- Audit trail centralized।
- Password reset cost কম।
SSO-র Actors
- Identity Provider (IdP): Authentication করে — Okta, Auth0, Azure AD, Google।
- Service Provider (SP): User access চায় — Slack, Jira, Salesforce।
- User: Login করেন।
SSO Flow
- User Slack-এ যান।
- Slack (SP) IdP-এ redirect — যদি user authenticated না।
- User IdP-এ login (একবারই)।
- IdP authentication assertion (token/SAML response) দেয়।
- SP assertion verify করে — user authenticated।
- User Slack-এ access পেয়ে গেলেন।
- পরে Jira-এ গেলে — IdP session আছে — re-login নয়।
Common SSO Protocols
SAML 2.0
XML-based, enterprise standard (২০০৫)।
- SP IdP-এ AuthnRequest পাঠায়।
- IdP signed XML assertion ফেরত।
- Browser-based, redirect-flow।
- Heavy কিন্তু widely-supported।
OpenID Connect (OIDC)
OAuth 2.0-এর উপর — modern alternative।
- JSON-based (lightweight)।
- Mobile-friendly।
- JWT ID token।
- Google, Microsoft, Apple — সবাই support।
Kerberos
Enterprise network (Windows AD)।
- Ticket-based।
- Local network-এ favored।
OAuth 2.0 (sometimes)
Strictly speaking authorization কিন্তু "Login with Google" SSO-এর মতো user-এর কাছে।
SAML vs OIDC
SAML 2.0
- XML-based
- Enterprise mature
- Browser/web-focused
- Heavy markup
- Banking, government
OIDC
- JSON/JWT
- Modern, mobile-friendly
- API-friendly
- Lightweight
- SaaS, modern apps
Identity Federation
Federation = SSO across organizational boundaries। আপনার company-র IdP আমার company-র app-এ trust।
উদাহরণ: A company-র employee B company-র Slack tenant-এ access — A-র IdP দিয়ে।
Popular Identity Providers
- Okta: Industry leader।
- Auth0: Developer-friendly (Okta acquired)।
- Microsoft Azure AD / Entra ID: Enterprise dominant।
- Google Workspace: "Sign in with Google"।
- Ping Identity: Enterprise।
- Keycloak: Open-source self-hosted।
- OneLogin, JumpCloud: SMB-friendly।
Security Considerations
- SSO compromise = catastrophe: এক IdP fail = সব app vulnerable।
- MFA mandatory: IdP-এ multi-factor (TOTP, hardware key)।
- Session management: Idle timeout, force re-auth on sensitive action।
- Logout — single logout (SLO): এক জায়গা থেকে logout = সব app থেকে।
- Phishing risk: Fake IdP page।
বাস্তব উদাহরণ
- Google Workspace: Gmail, Drive, Calendar — single login।
- Microsoft 365: Office, Teams, OneDrive।
- Enterprise: Okta + Salesforce + Slack + Jira।
- "Sign in with Apple/Google/Facebook": Consumer SSO।
Challenges
- Initial setup complex (especially SAML)।
- SP integration each app আলাদা।
- Identity attribute mapping।
- Multi-IdP scenarios (multi-cloud)।
- SSO bypass — emergency local access।
সাধারণ ভুল ধারণা
- "SSO = OAuth": SSO concept; OAuth/OIDC/SAML implementation।
- "SSO insecure (one point of failure)": Properly implemented strong, MFA সহ।
- "SAML deprecated": Not yet — enterprise-এ widely used।
- "Social login = enterprise SSO": Same idea, different context।
Best Practices
- MFA enforce IdP level-এ।
- OIDC over SAML modern apps-এ।
- Session timeout strict।
- Single Logout (SLO) implement।
- Conditional access — location, device-based।
- Monitoring — failed login, anomaly।
- Emergency break-glass account রাখুন।
📌 চ্যাপ্টার সারমর্ম
- SSO = একবার login, multiple app access।
- Identity Provider (IdP) ও Service Provider (SP) দুটি actor।
- SAML enterprise; OIDC modern; Kerberos network।
- Centralized — সুবিধা ও risk দুটোই।
- MFA + monitoring বাধ্যতামূলক।