🔐
Identity & Access
Who are you and what can you do?
Identity Provider (IdP)
Okta, Entra ID (Azure AD), Auth0, Keycloak, Ping
Centralised service that manages user identities, credentials, and authentication. Supports protocols like OIDC, SAML, and LDAP. Enables Single Sign-On (SSO) across all applications from a single login.
🏛️ Context: Every enterprise should centralise identity in one IdP. Evaluate Okta/Entra ID for cloud-first; Keycloak for open-source self-hosted. Enforce MFA universally. Plan for identity federation with partners and acquisitions.
OAuth 2.0 / OpenID Connect
OAuth2, OIDC, JWT, Access tokens, Refresh tokens
OAuth 2.0 is the authorisation delegation framework (granting apps limited access). OIDC adds an identity layer on top (proving who you are). Together they power modern API security, SSO, and social login.
🏛️ Context: OIDC + OAuth 2.0 is the standard for modern applications. Use authorisation code flow with PKCE for web/mobile. Short-lived access tokens + refresh tokens. Never store sensitive data in JWTs (they're base64, not encrypted).
Multi-Factor Authentication (MFA)
2FA, TOTP, WebAuthn, FIDO2, Passkeys
Requiring multiple verification factors: something you know (password), have (phone, security key), or are (biometrics). Passkeys (FIDO2/WebAuthn) are phishing-resistant and replacing passwords entirely.
🏛️ Context: Enforce MFA universally — it blocks 99%+ of credential-based attacks. Push for phishing-resistant methods: hardware keys (YubiKey) for admins, passkeys for all users. SMS-based 2FA is the weakest option.
RBAC / ABAC / Policy Engines
Role-Based, Attribute-Based, OPA, Cedar, Casbin
RBAC: permissions assigned by role (admin, editor, viewer). ABAC: access decisions based on attributes (department, location, time). Policy engines (OPA, Cedar) externalise authorisation logic into centrally managed rules.
🏛️ Context: RBAC is sufficient for most applications. ABAC enables fine-grained, context-aware access. OPA/Cedar externalise policy from code — enables consistent enforcement across services and simplifies auditing. Design for least privilege.
Privileged Access Management (PAM)
CyberArk, HashiCorp Vault, AWS IAM, Just-in-Time access
Controls and audits access to sensitive systems — admin accounts, databases, production infrastructure. Just-in-time (JIT) access grants elevated privileges temporarily, with approval workflows and full session recording.
🏛️ Context: Standing admin access is the #1 target for attackers. Implement JIT access for all production systems. Vault stores and rotates secrets (API keys, database credentials). Every privileged session should be logged and reviewable.