Skip to main content
KeenSafe
← All blog posts
Offensive Security·KeenSafe·May 25, 2026

Cloud Security Hardening Guide

Cloud has moved from adoption to dependency. The typical enterprise now operates production workloads across multiple cloud providers, with AWS, Azure, and GCP often coexisting alongside on-premises infrastructure under a single security program.

Cloud Security Hardening Guide

Cloud Security Hardening Guide

AWS, Azure, and GCP — A Strategic and Technical Hardening Reference for the Multi-Cloud Enterprise


Executive Summary

Cloud has moved from adoption to dependency. The typical enterprise now operates production workloads across multiple cloud providers, with AWS, Azure, and GCP often coexisting alongside on-premises infrastructure under a single security program. The cloud security model is not a smaller version of the on-premises model — it is structurally different. Identity is the perimeter, configuration is the attack surface, and the control plane is the highest-leverage target. Adversaries have adapted; many defensive programs have not.

KeenSafe Visual
Executive Risk Dashboard
registered
Risk score
72
Paths open
14
MTTR
9d

Board-ready KPIs: risk score, top exposures, trend (also: Outcome Metrics, Business Impact, Transformation Summary).

This guide consolidates strategic and technical hardening guidance for AWS, Azure, and GCP in enterprise environments, with attention to the patterns that recur across providers and the provider-specific weaknesses that dominate adversary tradecraft. It is written for CISOs and cloud security architects responsible for multi-cloud posture, for platform teams implementing guardrails at scale, and for offensive teams validating that the cloud control plane survives realistic attack.

The thesis is that cloud security is fundamentally an IAM and configuration discipline practiced continuously across a graph of identities, resources, and trust relationships — not a perimeter discipline reapplied with new vocabulary. Enterprises that internalize this difference outperform those that retrofit on-premises models onto cloud topology.


Problem Overview

Cloud security programs fail for a consistent set of structural reasons across providers and sectors.

The shared responsibility model is unevenly understood. Cloud providers secure the infrastructure; customers secure the configuration, the identities, and the data. The customer side of the line is broader than most non-cloud teams appreciate, and operational responsibility for it is frequently unassigned or distributed without governance.

IAM accumulates faster than it is governed. Each engineer creates roles, policies, and identities under operational pressure. Permissions are granted broadly to make systems work and rarely scoped down once they do. The IAM graph in a mature account is typically larger and more permissive than any individual administrator believes.

Configuration drift is continuous. Infrastructure-as-code is widely adopted but partially applied; manual changes in the console persist; drift detection is implemented narrowly. The configuration baseline at audit time is rarely the configuration in production a month later.

Multi-cloud multiplies the surface without unifying the controls. AWS IAM, Azure RBAC, and GCP IAM are conceptually similar and operationally distinct. Permission models, service primitives, identity primitives, and audit logging differ in ways that make consistent governance across providers genuinely difficult.

Posture tools find issues; they do not find paths. CSPM platforms enumerate misconfigurations against benchmarks. They produce backlogs of thousands of findings, of which a small fraction are actually exploitable in context. Triage is constrained by severity scoring that does not reflect business reachability.

KeenSafe Visual
Exposure Correlation Graph
registered
foothold
privilege
target

Multi-step exploitation path from initial access to objective.

The structural pattern is consistent: cloud security is treated as a configuration audit problem, while adversaries operate it as an IAM graph traversal problem. The mismatch is the source of most consequential cloud incidents.


Threat Landscape

Cloud attack tradecraft has matured into a stable, well-documented practice that is used by adversaries across the threat spectrum.

Credential compromise is the dominant initial access. Leaked access keys in source control, phished refresh tokens, infostealer-harvested browser sessions, and over-permissioned CI/CD credentials are the primary entry points. The cloud "perimeter" is whichever credential is most easily obtained.

The control plane is the highest-leverage target. A compromised identity with control plane access can enumerate the entire account, modify configurations, exfiltrate data, and establish persistence — typically without ever touching a workload. Network-centric defenses do not observe control plane API calls.

IAM privilege escalation is mechanical. Each provider has well-cataloged privilege escalation primitives — combinations of permissions that, despite each appearing innocuous, collectively grant escalation. iam:PassRole plus lambda:CreateFunction in AWS; microsoft.directory/applications/credentials/update in Entra ID; iam.serviceAccountTokenCreator in GCP. Adversaries enumerate these systematically.

Data exfiltration via the control plane. S3 buckets, Azure storage accounts, GCS buckets, and managed database snapshots can be exfiltrated via the API without any data-plane network activity that traditional DLP would observe. Logging and detection on the control plane is the only viable defense.

Resource hijacking. Cryptocurrency mining, credential testing infrastructure, and phishing infrastructure are commonly stood up in compromised cloud accounts. The financial cost is direct and immediate; the reputational cost extends to the abuse of the account's identity for further attacks.

Cross-tenant and supply chain risk. SaaS integrations, managed application offerings, and cross-account/cross-tenant trust relationships introduce trust paths that few enterprises map. A compromised vendor can become a path into a customer's cloud environment.

KeenSafe Visual
Identity Attack Chain
registered
initialTA1execTA2persistTA3escTA4impactTA5

Linear kill-chain sequence with MITRE ATT&CK tactic tags per stage.

The adversary playbook is consistent across providers: obtain a credential, enumerate accessible resources and IAM, identify escalation primitives, escalate, persist via additional identity creation or trust modification, exfiltrate.


Technical Analysis

This section examines the dominant cloud attack paths per provider, with cross-cutting observations.

AWS

Initial access through credentials. Long-lived access keys in source control, CI/CD configurations, and developer workstations remain the most common entry point. AWS provides better-than-passwords alternatives (IAM Identity Center, OIDC federation, EC2 instance roles, IAM roles for service accounts) but the migration is incomplete in most enterprises.

Privilege escalation primitives. Well-documented paths include:

  • iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction: create a Lambda running as a higher-privileged role.
  • iam:PassRole + ec2:RunInstances: launch an EC2 instance with a higher-privileged instance profile.
  • iam:CreatePolicyVersion: modify an existing policy to grant new permissions.
  • iam:AttachUserPolicy / iam:AttachRolePolicy: attach AWS managed AdministratorAccess to a controlled identity.
  • sts:AssumeRole chaining across accounts when trust policies are over-permissive.

Cross-account trust abuse. Trust policies with "Principal": "*" and weak external ID enforcement allow assumption from arbitrary AWS principals. Cross-account IAM relationships are an attack surface unto themselves.

SSM and Session Manager lateral movement. Once an attacker has ssm:StartSession and ssm:SendCommand against managed EC2 instances, lateral movement into private subnets is API-mediated and bypasses network controls.

S3 misconfiguration. Block Public Access at account level is now standard; bucket-level overrides, presigned URL abuse, and cross-account bucket policies remain risk vectors. ACL-based access — though deprecated — persists in legacy buckets.

Azure

Entra ID role abuse. The most consequential paths involve Entra ID directory roles:

  • Application Administrator and Cloud Application Administrator can add credentials to existing service principals, including those with elevated Graph or Azure RBAC permissions.
  • Privileged Authentication Administrator can reset credentials and MFA for any user, including Global Admins.
  • Helpdesk Administrator and User Administrator have similar but narrower reach.

Service principal credential addition. The microsoft.directory/applications/credentials/update permission is the canonical escalation primitive in Entra ID. Identifying and constraining identities that hold it directly or transitively is foundational.

Subscription owner at management group scope. Owner assigned at the tenant root management group grants Owner on every nested subscription — a fact frequently overlooked when assignments are made for "temporary" administrative convenience.

Managed identity abuse. A compromised VM with a system-assigned managed identity can request tokens for that identity from IMDS and use them to access any resource the identity is authorized to reach. User-assigned managed identities shared across resources amplify this.

Conditional access exclusions. Every conditional access exclusion is an attack surface. Exclusions for break-glass accounts are appropriate; exclusions for "service accounts" or "legacy applications" frequently expose privileged identities.

GCP

Service account impersonation chains. GCP's iam.serviceAccounts.getAccessToken and iam.serviceAccountTokenCreator permissions form a graph of who-can-impersonate-whom that is rarely audited globally. A single editable IAM binding can extend the chain significantly.

Organization policy gaps. Organization policies (constraints) are the structural defense against misconfiguration. Coverage is uneven in most enterprises, and exemptions accumulate.

Default service account. The default Compute Engine service account, when not disabled, runs with broad project-level permissions and is attached to instances by default. A compromised instance with the default service account is a project-level identity.

Workload identity federation. GCP's workload identity federation is excellent when correctly scoped — and a significant risk when scoped permissively. OIDC issuer trust must be narrowly bound to specific identities, not entire issuers.

Cross-project IAM. Bindings at folder and organization level grant access transitively across projects in ways that are difficult to enumerate from a single project view.

KeenSafe Visual
Attack Path Graph
registered
foothold
privilege
target

Multi-step exploitation path from initial access to objective.

Cross-Cutting Patterns

Network controls do not stop control plane attacks. VPC firewalls, NSGs, and security groups operate at the data plane. Control plane abuse occurs over the provider API and is invisible to data plane controls.

Logging is the only credible detection surface for control plane attacks. CloudTrail, Azure Activity Logs and Microsoft Graph audit, and Cloud Audit Logs are the primary detection substrate. Coverage gaps — data events, management events in unmonitored regions, audit logs not exported — are detection gaps.

Configuration drift in IaC environments. Even environments managed by Terraform or Bicep drift through emergency console changes, manual interventions, and automation that runs outside the primary pipeline. Drift detection is a continuous discipline, not a one-time gate.

KeenSafe Visual
MITRE ATT&CK Mapping
registered

Map techniques used in this engagement to MITRE tactics.


Enterprise Risk

Cloud exposure translates into business risk in increasingly direct and measurable ways.

Operational risk. Cloud incidents now include account takeover, ransomware against cloud-hosted data, data exfiltration via control plane, and resource hijacking. Recovery from control plane compromise frequently requires extensive identity and configuration reconstitution and can disrupt business operations for extended periods.

Compliance. Cloud-specific regulatory expectations have matured. PCI DSS 4.0 explicitly addresses cloud environments; SOC 2 audits cover cloud configuration and identity; HIPAA expects cloud-hosted PHI to be governed equivalently to on-premises. Region-specific regulations (GDPR, DORA, NIS2) impose data residency and operational resilience requirements that map directly to cloud architecture choices.

Cyber insurance. Carriers now ask for cloud-specific evidence: IAM Identity Center adoption, root account protection, multi-account architecture, conditional access coverage, control plane logging completeness. Negative answers translate to premium and coverage impact.

Board concerns. Cloud risk is increasingly a board topic — particularly cost of compromise, regulatory exposure, and the dependency of operations on cloud provider availability and integrity.

Exposure persistence. Cloud configuration changes daily in any active environment. Without continuous validation, the gap between assessed posture and live exposure widens continuously.

KeenSafe Visual
Executive Risk Dashboard
registered
Risk score
72
Paths open
14
MTTR
9d

Board-ready KPIs: risk score, top exposures, trend (also: Outcome Metrics, Business Impact, Transformation Summary).


Continuous Validation Perspective

Cloud is the environment where continuous validation provides the most direct value because configuration changes constantly and the IAM graph evolves continuously.

Continuous IAM graph enumeration. The graph of who-can-do-what-to-which-resource must be enumerated continuously, not at audit time. Privilege escalation primitives must be checked against the current state, not a quarterly snapshot.

Attack path validation, not finding lists. A misconfigured trust policy is a finding; a misconfigured policy that creates a viable path from a developer credential to a production database is an attack path. The latter is what continuous validation must produce.

Exploitability reasoning. Of the thousands of theoretical misconfigurations a CSPM may surface, the operationally interesting subset is the few hundred that compose into attack paths against business-critical resources. Reasoning about composition is what reduces noise to signal.

Re-validation. Cloud remediations should be re-tested against both the original path and adjacent paths. Cloud IAM is dense enough that a fix on one route frequently leaves equivalent routes untouched.

Production-safe execution. Validation must operate against production without disruption: read-mostly enumeration, scoped impersonation against test identities, no resource modification. The cloud is the production environment in modern enterprises; lab validation is structurally insufficient.

KeenSafe Visual
Continuous Validation Workflow
registered
01scan
02exploit
03report
04retest

Pipeline of recurring checks: scan → exploit → report → retest.


The KeenSafe Perspective

KeenSafe treats multi-cloud as a unified IAM graph and continuously validates exposure against it.

Unified multi-cloud graph. AWS IAM, Azure RBAC and Entra ID, and GCP IAM are modeled in a single graph with cross-provider edges representing federation, identity synchronization, and trust relationships. Hybrid environments include on-premises identity as part of the same graph.

AI-driven privilege escalation reasoning. KeenSafe reasons about cloud escalation chains the way a skilled operator would: enumerating IAM, composing escalation primitives, identifying the minimum chain from foothold to objective, and validating that the chain is currently executable.

Continuous offensive validation. Validation runs continuously, safely, against production. New IAM bindings, new trust relationships, new service principals, and new role assignments are evaluated for path implications in near real time.

Provider-specific depth. KeenSafe maintains current taxonomies of provider-specific escalation primitives — the AWS privilege escalation catalog, the Entra ID role abuse graph, the GCP impersonation chain — and validates against them empirically.

Empirical evidence. Every cloud attack path is delivered with reproduction evidence: the API calls, the identities, the trust relationships, the controls that did not intervene. The artifact is consumable by cloud engineering, audit, and executive stakeholders.


Strategic Recommendations

Foundational Cloud Posture

  1. Adopt a landing zone architecture. AWS Organizations with multi-account, Azure management group hierarchy, GCP organization with folder structure. Guardrails enforced at the structural level, not per-resource.
  2. Implement preventive guardrails. SCPs in AWS, management group policies in Azure, organization policies in GCP. Enforce constraints that no operational role can relax.
  3. Eliminate root account and tenant-level standing privilege. Root accounts and tenant-level Global Admin accounts exist for break-glass and are governed as such.
  4. Centralize identity through SSO and federation. IAM Identity Center, Entra ID, or third-party SSO as the source of human identity; eliminate cloud-local users where possible.

IAM Hygiene

  1. Eliminate long-lived credentials. OIDC federation for CI/CD, instance roles for compute, managed identities for Azure resources, workload identity federation for GCP. Static keys only where unavoidable, with short rotation.
  2. Right-size IAM policies. Usage-based analysis to identify unused permissions; principle of least privilege applied to actually-exercised actions, not theoretical ones.
  3. Audit and remediate privilege escalation primitives. Continuously enumerate the AWS escalation catalog, the Entra ID role graph, and the GCP impersonation chain against current state.
  4. Constrain cross-account and cross-tenant trust. Trust policies with "Principal": "*", weak external IDs, and federated trust to unverified issuers must be exceptions, documented and approved.

Control Plane and Logging

  1. Enable comprehensive control plane logging. CloudTrail organization trails with data events for critical buckets, Azure activity logs and Graph audit logs exported and retained, Cloud Audit Logs (admin activity and data access) enabled.
  2. Centralize logs into a SIEM or dedicated security data platform. Provider-native consoles are not sufficient for cross-account or cross-cloud correlation.
  3. Detect escalation primitives in near real time. Service principal credential addition, IAM policy modification, role assumption from unusual sources, and conditional access exclusion changes are first-class detection targets.

Workload Security

  1. Treat managed identities as identities. Their reachability and permissions are part of the IAM graph and must be governed accordingly.
  2. Block IMDSv1 in AWS. IMDSv2 with hop limit 1 is the contemporary default.
  3. Disable default service accounts in GCP on Compute Engine instances; use explicit, narrowly-scoped service accounts.

Continuous Validation

  1. Adopt continuous attack path validation across all clouds. Per-provider posture is insufficient; the path graph spans providers.
  2. Re-validate every remediation. A closed IAM finding without re-test is not closed.
  3. Tie validation to business assets. Validate paths to named data stores, named applications, and named cloud-hosted production systems — not abstract resource categories.

Governance

  1. Continuous drift detection between IaC declarations and live state, with remediation workflows for unauthorized changes.
  2. Tag and inventory comprehensively. Ownership, environment, data classification, and business criticality as enforced tags, not optional ones.
  3. Cloud risk on the board scorecard. Treat cloud exposure as a tracked, trending metric.

Key Takeaways

  • Cloud security is fundamentally an IAM and configuration discipline, not a perimeter discipline.
  • IAM accumulates faster than it is governed; the graph in a mature account is typically more permissive than administrators believe.
  • Privilege escalation primitives are well-cataloged per provider and must be continuously audited against current state.
  • Network controls do not observe control plane attacks; logging and identity-aware detection are the credible defenses.
  • Multi-cloud requires unified IAM graph reasoning; per-provider posture is insufficient.
  • Continuous validation of attack paths is the credible measure of cloud security posture.

Conclusion

Cloud is the operational center of gravity for most enterprises and is consequently the operational center of gravity for adversaries. The hardening practices in this guide are individually well-known across the industry. What changes outcomes is the discipline of treating cloud security as a continuously validated, IAM-centric graph problem and proving, empirically and continuously, that the controls hold against realistic adversary tradecraft.

KeenSafe exists to operationalize that discipline — to convert cloud security from a posture audit into an evidence-backed, continuously validated state across AWS, Azure, GCP, and the hybrid bridges that connect them.


SEO

SEO Title: Cloud Security Hardening Guide: AWS, Azure, GCP | KeenSafe

Meta Description: A premium strategic and technical guide to hardening AWS, Azure, and GCP for the multi-cloud enterprise. Covers IAM attack paths, privilege escalation primitives, control plane defense, and continuous cloud attack path validation.

Focus Keywords:

  • cloud security hardening
  • AWS security guide
  • Azure security guide
  • GCP security guide
  • cloud IAM attack path
  • privilege escalation AWS Azure GCP
  • multi-cloud security
  • cloud control plane defense
  • cloud attack path validation

Suggested URL Slug: /resources/cloud-security-hardening-guide-aws-azure-gcp

Suggested CTA: Request a KeenSafe cloud attack-path assessment — see your AWS, Azure, and GCP environments as an adversary does, with continuous, evidence-backed validation of every path to your critical cloud assets.

offensive-security
Get Started

Run Free Exposure Scan

Surface the public-facing patterns adversaries reconnoitre first. Read-only, 10-second scan, full report emailed.