tadata
Back to home

Identity & Access Management: Principles, Models & Multi-Cloud Strategy

#security#iam#cloud#governance#compliance

IAM is the security perimeter of cloud-native organizations. Every API call, every data access, every deployment is an identity making a request. Getting IAM right means least privilege by default, auditability everywhere, and zero standing access as the north star.

Access Control Model Comparison

ModelHow it worksGranularityScalabilityComplexityBest for
RBAC (Role-Based)Users assigned to roles, roles have permissionsRole-levelGood (for <100 roles)LowMost organizations, clear role hierarchies
ABAC (Attribute-Based)Policies evaluate attributes (user, resource, environment)Attribute-levelExcellentHighDynamic access, context-aware decisions
PBAC (Policy-Based)Centralized policy engine evaluates rulesPolicy-levelExcellentHighMulti-cloud, complex compliance needs
ReBAC (Relationship-Based)Access based on resource-to-user relationshipsRelationship-levelExcellentMediumDocument sharing, social, collaborative apps
ACL (Access Control List)Per-resource list of allowed identitiesResource-levelPoor (doesn't scale)LowSimple file systems, legacy apps
MAC (Mandatory)Labels/classifications enforced by systemClassification-levelModerateVery highMilitary, government, regulated industries

IAM Principles Checklist

PrincipleDescriptionImplementation
Least privilegeGrant minimum permissions requiredStart with zero, add as needed; review quarterly
Separation of dutiesNo single identity can complete a critical workflow aloneRequire multi-party approval for production changes
Zero standing accessNo permanent privileged accessJust-in-time (JIT) access with time-bound elevation
Defense in depthMultiple layers of access controlNetwork + IAM + application-level authorization
Assume breachDesign as if perimeter is already compromisedMicro-segmentation, continuous verification
AuditabilityEvery access decision is logged and reviewableCloudTrail, audit logs, SIEM integration
Credential rotationSecrets and keys have a defined lifetimeAuto-rotation via Vault, AWS Secrets Manager
MFA everywhereMulti-factor for all human accessHardware keys for admins, TOTP minimum for all users

Multi-Cloud IAM Mapping

ConceptAWSGCPAzureKubernetes
Identity providerIAM Users / SSOCloud Identity / WorkspaceEntra ID (Azure AD)ServiceAccount / OIDC
Role / principalIAM RoleIAM Role (roles/)App Registration / Managed IdentityClusterRole / Role
Policy attachmentPolicy → Role → User/GroupRole → Member bindingRole assignment → PrincipalRoleBinding / ClusterRoleBinding
Service identityIAM Role for serviceService Account (GCP SA)Managed IdentityKubernetes ServiceAccount
Workload identityIRSA (IAM Roles for SA)Workload Identity FederationWorkload Identity FederationProjected SA tokens
Temporary credentialsSTS AssumeRoleSTS (short-lived tokens)Managed Identity tokensTokenRequest API
Permission boundaryPermission Boundary policyOrganization PolicyAzure PolicyOPA / Kyverno
Cross-account/projectCross-account rolesCross-project IAMCross-tenant / LighthouseCluster federation
Policy languageJSON (IAM Policy)YAML (IAM bindings)JSON (ARM/Bicep)YAML (RBAC manifests)

Service Account Management Matrix

AspectBest practiceAnti-patternRisk if ignored
NamingDescriptive: svc-billing-api-prodGeneric: admin, service-account-1Unauditable, impossible to trace
Key rotationAuto-rotate every 90 days maxStatic keys, never rotatedCompromised credentials persist
ScopeOne service account per workloadShared SA across multiple servicesBlast radius of compromise
PermissionsScoped to exact API actions neededAdmin/owner permissionsLateral movement on compromise
Key storageVault, cloud secret managerEnvironment variables, git reposCredential leakage
MonitoringAlert on anomalous SA behaviorNo monitoringUndetected compromise
LifecycleDecommission when workload is removedOrphaned SAs accumulateUnused attack surface
Human useNever use SAs for human accessSharing SA credentials among teamNo individual accountability

Audit Framework

LayerWhat to auditTool / sourceFrequencyRetention
AuthenticationLogin attempts, MFA status, failed authIdP logs, CloudTrailReal-time alerts1 year minimum
AuthorizationPermission grants, role assignmentsIAM change logsDaily review2 years
Data accessWho accessed what data, whenCloudTrail data events, BigQuery auditWeekly reviewPer regulation (GDPR: purpose-bound)
Privilege escalationRole assumption, temporary elevationSTS logs, JIT access logsReal-time alerts1 year
Service accountsKey usage, API call patternsCloud audit logsMonthly review1 year
Policy changesIAM policy modificationsConfig change logs, SCPsReal-time alerts2 years
Access reviewsPeriodic validation of access rightsIdentity governance toolQuarterlyIndefinite

IAM Architecture for Multi-Cloud

┌─────────────────────────────────────────────────────────┐
│                 IDENTITY PROVIDER (IdP)                   │
│         Okta / Entra ID / Google Workspace                │
│                  SSO + MFA + SCIM                         │
└────────────────────┬────────────────────────────────────┘
                     │ SAML / OIDC
        ┌────────────┼────────────┐
        ▼            ▼            ▼
┌──────────┐  ┌──────────┐  ┌──────────┐
│   AWS    │  │   GCP    │  │  Azure   │
│ IAM/SSO  │  │ Workload │  │ Entra ID │
│          │  │ Identity │  │          │
└────┬─────┘  └────┬─────┘  └────┬─────┘
     │              │              │
     ▼              ▼              ▼
┌──────────┐  ┌──────────┐  ┌──────────┐
│ Workload │  │ Workload │  │ Workload │
│ (EKS)   │  │ (GKE)   │  │ (AKS)   │
└──────────┘  └──────────┘  └──────────┘

Cross-cutting: OPA/Cedar for unified policy evaluation
Audit: centralized SIEM (Splunk, Elastic, Datadog)

Resources

:::