Moving to the cloud was supposed to simplify security. Hand the infrastructure to someone else, let their team of experts handle the patching and monitoring, and focus on running your business. That’s the pitch, anyway. The reality has been far messier.
Cloud breaches continue to climb year over year, and the root cause is almost never a flaw in the cloud platform itself. It’s misconfiguration. Human error. Settings left at default values that nobody reviewed before going live.
The Shared Responsibility Blind Spot
Every major cloud provider publishes a shared responsibility model that clearly defines what they secure and what falls to you. In practice, plenty of organisations haven’t read that document carefully enough.
Azure, AWS, and Google Cloud all secure the underlying infrastructure. They patch hypervisors, maintain physical data centres, and protect the control plane. But everything from identity management to storage bucket permissions to network security groups sits firmly in your court. If you misconfigure it, it’s your problem.

Storage Misconfigurations That Keep Happening
Publicly accessible storage containers remain one of the most embarrassing and preventable cloud security failures. Despite years of headlines about exposed S3 buckets containing customer data, companies continue making the same mistakes.
The problem often starts during development. A developer creates a storage bucket with public access for testing, forgets to lock it down before deployment, and the organisation ends up leaking sensitive data without anyone noticing for months.
William Fieldhouse, Director of Aardwolf Security Ltd, comments: “Cloud misconfigurations are the most common critical findings we report during cloud penetration tests. Storage buckets with public read access, overly permissive IAM roles, and missing encryption at rest are things we find in nearly every engagement. The shared responsibility model means your cloud provider won’t catch these for you.”
Identity and Access Management Gets Complicated Fast
IAM policies in cloud environments can become extraordinarily complex. Organisations that started with a handful of users and a simple permission structure find themselves managing hundreds of roles, service accounts, and cross-account trust relationships.
Overly permissive policies are the norm rather than the exception. When a developer needs access to a service quickly, the path of least resistance is granting broad permissions. The intention is always to tighten them later, but later rarely arrives.
Regular Azure penetration testing and AWS penetration testing help identify these permission sprawl issues before attackers exploit them. Testing should cover both the control plane and the data plane to get a complete picture of your cloud security posture.
Taking Control of Your Cloud Security
Start with a cloud security posture management tool that continuously monitors your configurations against best practice benchmarks. Enable logging across all services, centralise those logs, and build alerts for high-risk configuration changes.
Most importantly, don’t assume that your cloud provider handles security for you. They provide the tools. Using them correctly is your responsibility, and testing that you’ve done so correctly is the only way to know for certain.