SOC 2 Readiness
24/7 Security Monitoring
Canadian-Based SOC
Cloud Security

Cloud Security Best Practices for AWS, Azure, and GCP

Provider-specific controls and shared-responsibility discipline for the three major hyperscalers

GuardsArm Security Research7 min read7 chapters

Executive Summary

Amazon Web Services, Microsoft Azure, and Google Cloud Platform now run the majority of enterprise workloads, yet the vast majority of cloud incidents trace back to customer-side misconfiguration rather than a flaw in the platform itself. The cloud is secure; the way organizations configure it often is not.

This whitepaper provides a practical, provider-specific guide to securing workloads on the three major hyperscalers. It is organized around the controls that matter most — identity and access, network isolation, data protection, logging, and posture management — and translates each into the concrete services AWS, Azure, and GCP offer to implement it.

The shared responsibility model is the single most misunderstood concept in cloud security. The provider secures the cloud; you secure what you put in it. Every recommendation here lives on your side of that line.

Key findings:

  • Identity is the new perimeter. Over-permissioned IAM roles and standing credentials are the most exploited weakness across all three clouds.
  • Default-deny networking and private connectivity dramatically shrink the attack surface exposed to the public internet.
  • Native posture tools — AWS Security Hub, Microsoft Defender for Cloud, Google Security Command Center — surface misconfiguration before attackers do.
  • Consistency across providers matters more than any single control; drift between clouds is where gaps hide.

The Shared Responsibility Model in Practice

Every hyperscaler publishes a shared responsibility model, and every serious cloud breach begins with a misunderstanding of it. The provider is responsible for security of the cloud — the physical facilities, hardware, and hypervisor. The customer is responsible for security in the cloud — identities, data, configuration, and application code.

The line moves by service model

  • For infrastructure services (EC2, Azure VMs, GCE), you own the operating system, patching, network configuration, and everything above it.
  • For managed and serverless services (Lambda, Azure Functions, Cloud Run), the provider handles more of the stack, but you still own identity, data, and access policy.
  • No model ever makes the provider responsible for your IAM policies, your storage bucket permissions, or your encryption choices.

Where customers get it wrong

Misattributed responsibility produces predictable failures: publicly exposed storage, unpatched guest operating systems, and disabled logging. The Verizon Data Breach Investigations Report consistently attributes cloud incidents to configuration error and stolen credentials rather than platform compromise.

Treat the shared responsibility model as a contract you must read line by line for each service you adopt — not a blanket assurance that the cloud is secure by default.

Identity and Access Management Across the Three Clouds

Identity is the primary control plane of the cloud. An attacker with a valid, over-privileged credential does not need to breach a network — they simply log in.

Enforce least privilege everywhere

  • AWS: Prefer IAM roles over long-lived access keys, scope policies tightly, and use IAM Access Analyzer to find unintended external access. Enforce permission boundaries and service control policies via AWS Organizations.
  • Azure: Use Entra ID role-based access control (RBAC) with the principle of least privilege, and apply Privileged Identity Management (PIM) for just-in-time elevation of admin roles.
  • GCP: Grant predefined or custom IAM roles rather than broad primary roles, and use the IAM Recommender to right-size permissions based on actual usage.

Kill standing privilege

Standing administrative access is the highest-value target in any cloud tenant. Move to just-in-time elevation, require approval for privileged actions, and expire access automatically.

Federate and enforce strong MFA

Centralize human identity in a single provider and federate into each cloud rather than maintaining separate local accounts. Require phishing-resistant MFA for all console and privileged access. Root and global-admin accounts should be locked down, MFA-protected, and used almost never.

Network Architecture and Segmentation

The cloud network is software-defined, which makes strong segmentation cheap to implement and expensive to neglect.

Default to private

  • AWS: Design VPCs with private subnets for workloads, use security groups and network ACLs restrictively, and reach AWS services over VPC endpoints (PrivateLink) instead of the public internet.
  • Azure: Use virtual networks with network security groups, deploy Private Endpoints for PaaS services, and front public applications with Azure Firewall and Web Application Firewall.
  • GCP: Segment with VPC networks and firewall rules, use Private Google Access and VPC Service Controls to prevent data exfiltration to unauthorized projects.

Minimize public exposure

Every public IP is an invitation. Inventory internet-facing resources continuously and justify each one. Management ports (SSH, RDP) should never be open to the world — use bastion patterns, Session Manager, Azure Bastion, or Identity-Aware Proxy instead.

Encrypt data in transit

Enforce TLS on all endpoints and require encrypted connections to databases and storage. Internal service-to-service traffic should be encrypted as well; assume the network is hostile even inside your own tenant.

Data Protection and Encryption

Data is the asset attackers ultimately want. All three clouds encrypt data at rest by default, but default encryption is only the starting point.

Control your keys

  • AWS: Use KMS with customer-managed keys for sensitive workloads, enable key rotation, and scope key policies to specific principals.
  • Azure: Use Key Vault with customer-managed keys and, for high-assurance needs, managed HSM.
  • GCP: Use Cloud KMS or Cloud HSM with customer-managed encryption keys, and consider customer-supplied keys where regulation demands external key custody.

Lock down storage

Publicly exposed object storage remains one of the most common causes of large data leaks. Enable account-level public-access blocks — S3 Block Public Access, Azure storage public-access restrictions, GCP public-access prevention — and treat any public bucket as an exception requiring sign-off.

Classify and govern

Encryption protects data at rest; classification tells you what to protect and how. Tag sensitive data, apply access controls tied to sensitivity, and use native tools such as Amazon Macie or Microsoft Purview to discover and monitor sensitive data at scale.

Encryption is necessary but not sufficient. If access policy is wrong, encryption protects the data from everyone except the attacker who is authorized by your misconfiguration.

Logging, Monitoring, and Detection

You cannot defend what you cannot see. Comprehensive logging is the foundation of both detection and incident response, and it must be configured deliberately in every cloud.

Turn on the foundational logs

  • AWS: Enable CloudTrail across all regions and accounts, capture VPC Flow Logs, and centralize logs in a dedicated, access-restricted account.
  • Azure: Enable Activity Logs, diagnostic settings, and NSG flow logs, and route them to a central Log Analytics workspace.
  • GCP: Enable Cloud Audit Logs (admin and data access), VPC Flow Logs, and centralize in a logging sink.

Detect threats natively

Each cloud offers a managed threat-detection service: Amazon GuardDuty, Microsoft Defender for Cloud, and Google Security Command Center with Event Threat Detection. These analyze provider telemetry for anomalous behavior, credential abuse, and known-bad activity with minimal tuning.

Centralize and respond

Aggregate findings into a SIEM for correlation across clouds, and define response playbooks before you need them. GuardsArm's managed detection and response services extend this coverage with continuous monitoring and expert triage across AWS, Azure, and GCP environments.

Continuous Posture Management and Automation

Cloud environments change constantly, so security cannot be a point-in-time review. Posture must be assessed continuously and enforced through automation.

Use native posture tools

  • AWS Security Hub aggregates findings and benchmarks accounts against the CIS and AWS Foundational Security Best Practices standards.
  • Microsoft Defender for Cloud provides a secure score and prioritized recommendations across subscriptions.
  • Google Security Command Center surfaces misconfigurations, vulnerabilities, and compliance drift.

Enforce with policy as code

Guardrails should prevent misconfiguration rather than merely report it. Use AWS Service Control Policies and Config rules, Azure Policy, and GCP Organization Policy to block risky configurations automatically — public buckets, unencrypted volumes, disabled logging.

Shift left into infrastructure as code

Scan Terraform, CloudFormation, and ARM/Bicep templates for misconfiguration before deployment. Catching an open security group in a pull request is far cheaper than remediating it in production.

The goal is a self-correcting environment: misconfigurations are prevented at deploy time, detected continuously in runtime, and remediated automatically wherever possible.

Building a Consistent Multi-Provider Baseline

Most enterprises end up on more than one cloud, whether by strategy or acquisition. Inconsistency between providers is where security gaps quietly accumulate.

Define controls provider-agnostically

Write your security baseline in terms of outcomes — least-privilege identity, private-by-default networking, encryption with managed keys, comprehensive logging — then map each outcome to the specific services each provider offers. This keeps your standard stable even as vendor features change.

Normalize visibility

Different consoles, terminology, and defaults make it easy to secure one cloud well and neglect another. Aggregate findings into a single pane so that a critical misconfiguration in a secondary cloud is as visible as one in your primary.

Govern the human layer

Skills rarely transfer cleanly between clouds. Invest in cross-cloud training, standardize your landing-zone patterns, and document the provider-specific equivalents of each control.

Where GuardsArm helps

A GuardsArm cloud security gap assessment benchmarks each of your cloud environments against a consistent baseline, identifies drift between providers, and produces a prioritized remediation roadmap — so that strong security in one cloud becomes the standard across all of them.

Key Takeaways

  • 1.Most cloud breaches stem from customer-side misconfiguration, not provider compromise — the shared responsibility model defines what you must secure.
  • 2.Identity is the primary attack surface; enforce least privilege, eliminate standing admin access, and require phishing-resistant MFA on all three clouds.
  • 3.Default to private networking, block public storage access account-wide, and control your own encryption keys with KMS, Key Vault, or Cloud KMS.
  • 4.Enable foundational logging (CloudTrail, Activity Logs, Cloud Audit Logs) and native detection (GuardDuty, Defender for Cloud, Security Command Center) everywhere.
  • 5.Enforce guardrails with policy as code and maintain one consistent, provider-agnostic baseline so security does not drift between clouds.

Sources & Further Reading

  1. AWS Well-Architected Framework, Security Pillar
  2. Microsoft Cloud Adoption Framework and Azure Security Benchmark
  3. Google Cloud Architecture Framework, Security and Compliance
  4. CIS Benchmarks for AWS, Azure, and GCP
  5. NIST SP 800-53, Security and Privacy Controls for Information Systems
  6. Verizon Data Breach Investigations Report (annual)

Turn this research into a plan

Our team maps findings like these onto your environment and hands you a prioritized roadmap — not another report to file away.

Book a Free Consultation

Related Whitepapers