Cloud audits rarely fail because of missing security features from providers, but because of missing or inaccurate evidence on the customer side: who is responsible for what, which configuration was active on a given date, and how was it ensured that changes are traceable, approved and reviewed? This is exactly where a robust cloud audit practice starts. It links the Shared-Responsibility-Model (shared responsibility between provider and customer) with verifiable evidence, tamper-resistant configuration snapshots and a prioritization of the typical misconfigurations that auditors regularly find.
This article is aimed at IT leadership, compliance and security officers, and decision-makers with IT responsibilities. It shows which evidences auditors expect to see in practice, how you can produce that evidence efficiently (without „screenshot compliance“) and which misconfigurations frequently lead to findings, risks and additional costs. Where helpful, examples are presented as copyable source blocks.
Why cloud audits differ from traditional infrastructure audits
In data center or on-premises audits, evidence such as inventory lists, hardening standards, patch levels and network diagrams dominate. In cloud environments an additional dimension appears: Configuration is the infrastructure. Many security-relevant properties (public accessibility, logging, encryption, key rotation, data residency, administrative access) depend directly on settings in cloud services and on identities (IAM: Identity and Access Management, i.e., roles, permissions and identity principles).
For audits this means:
- Time context is critical: Auditors do not only ask “Is it secure today?”, but “Was it consistently controlled during the audit period?”.
- Automation changes the evidence: Changes occur via pipelines (CI/CD) and Infrastructure as Code (IaC, e.g. declarative templates). The evidence is often found in logs, pull requests and policies, not in the ticket text.
- Provider attestations are not sufficient: Providers deliver attestations (e.g. SOC reports) for their part. On the customer side you must demonstrate that your usage, configuration and governance meet the requirements.
An audit-capable cloud organization accepts this logic and builds evidence so that it is reproducible, verifiable and not „handmade“.
Shared Responsibility Model: a demarcation auditors will accept
The Shared-Responsibility-Model is often shown as a slide in the audit opening, but rarely implemented as a verifiable governance instrument. Auditors will only accept the demarcation once you break it down into concrete control objectives and support them with evidence.
Practical translation into control objects
Instead of saying abstractly “Provider is responsible for the security of the cloud”, create a matrix of control objects (What is controlled?), responsibility (Who controls it?) and evidence source (How do we prove it?). Example control objects:
- Physical security, hypervisor, base network: Provider – Evidence: provider attestations (SOC/ISO) and contractual/reporting artifacts.
- Identities, roles, permission assignments: Customer – Evidence: IAM policies, role model, recertification records, admin logins.
- Network segmentation, public endpoints: Customer – Evidence: security groups/firewall rules, routing, load balancer policies, scans.
Evidence for the provider side: what is sufficient, what is not?
Typical checkpoints: Are current provider reports available, are they assigned to the correct scope (region, service, product) and is access to them controlled? Important: provider reports do not replace your own controls. They are an input for your risk management and your control landscape.
In practice, a provider evidence file per cloud provider has proven useful and should contain:
- current report/attestation (including validity period),
- service scope list (which services you use are covered),
- mapping to internal controls (which control objective is thereby partially addressed),
- risk acceptances/gap notes, if a service is not covered.
Shared responsibility evidence: which artifacts auditors expect on the customer side
Auditors look for traceability and effectiveness. “We have a policy” is worth less than “We have a policy, it is enforced technically, changes are approved, and we test regularly.” In cloud contexts many of these points can be evidenced via logs, policies and configuration states.
Evidence categories regularly requested in audits
- Governance & roles: RACI (Responsible/Accountable/Consulted/Informed), owners for Landing Zone, network, IAM, logging, data classification.
- Change management: approvals, four-eyes principle for high-risk changes, emergency changes (break-glass) with post-processing.
- Configuration management: desired state (baselines), actual state (snapshots), drift detection (deviations), exceptions with expiration.
- IAM & access: role models, least privilege, privileged roles, MFA/Conditional Access, recertifications.
- Logging & monitoring: centralized logging, immutability (WORM/Immutability), retention periods, alarm tests.
- Incident response: runbooks, alert chains, exercise logs, evidence of ticket handling.
A reliable evidence map (template)
Create an evidence map that links each control objective with a primary and secondary evidence source. This prevents frantic “gathering actions” shortly before the audit.
Evidence Map (example structure)
Control-ID:
Control objective:
Scope (Accounts/Subscriptions/Projects/Regions):
Shared responsibility (Provider/Customer/shared):
Technical implementation (brief description):
Primary evidence source (system/log/repo):
Secondary evidence source (ticket/log/report):
Evidence frequency (point-in-time / monthly / quarterly):
Owner (Accountable/Responsible):
Exceptions & expiration:
Test of effectiveness (how/how often):
Configuration snapshots: point-in-time, tamper-proof, comparable
Configuration snapshots are, in a cloud audit, the answer to the central question: ‚What did your system look like at a particular point in time?‘ A snapshot is not necessarily a VM snapshot. It means a complete, auditable export of the security-relevant configuration across accounts, identities, network, data services and logging.
What an audit-ready snapshot must provide
- Coverage: not only compute, but also IAM, network, storage, databases, key management, logging, policy engines.
- Integrity: protection against subsequent tampering (e.g. hashing, signed artifacts, write-once storage).
- Traceability: metadata: timestamp, scope, tools/versions used, responsible person/automation.
- Comparability: repeatable in the same format so that drift and exceptions become visible.
Snapshot strategies: three practical patterns
1) API-based export (Cloud CLI/SDK): Good for complete coverage when cleanly orchestrated. Risk: proliferation of tooling if each unit builds ‚its own‘ scripts.
2) IaC repo as primary source: When infrastructure is largely operated as code, the repo is a strong source of evidence. It must be complemented by the actual state, because IaC does not automatically prove that production reflects it.
3) CSPM/Policy-as-Code as a source of state: CSPM (Cloud Security Posture Management) can centralize reports, findings and states. This is audit-friendly as long as you show how findings are handled (SLA, prioritization, exceptions).
Minimal snapshot scope (checklist)
- Account/subscription list including owner, purpose, data classification
- IAM: roles, policies, groups, privileged accounts, MFA status
- Network: VPC/VNet, subnets, routing, peering, gateways, firewall/security group rules
- Perimeter: public IPs, load balancers, WAF rules (WAF = Web Application Firewall)
- Storage: buckets/containers, public access, encryption, lifecycle/retention
- Databases/managed services: network bindings, backups, encryption, admin access
- Logging: audit logs, service logs, central sink, retention, immutability
- KMS/HSM: keys, key policies, rotation, access rights
Integrity and retention: typical audit questions
Examiners often ask: ‚Can administrators delete the audit logs?‘ and ‚Can snapshot artifacts be altered after the fact?‘ A robust practice therefore separates:
- Operational admin rights (for operations) from security/audit rights (for log and evidence stores).
- Write permissions to log sinks from read and export permissions for auditors/compliance.
Common misconfigurations: What auditors find – and why it happens
Many findings do not arise from „poor security“ but from scale effects: many teams, many accounts, rapid changes, distributed responsibility. The following misconfigurations are audit-relevant because they either introduce direct security risks or undermine control objectives (traceability, access control, data and log protection).
1) Overprivileged identities and roles
Typical: admin rights for too many people, service accounts without a clear purpose, lack of separation between „build“ and „run“. Auditors here check not only ‚Who has admin?‘, but also: how is that regularly recertified, how is it revoked, and how is misuse detected?
Pragmatic immediate measures:
- consolidate privileged roles (few, tightly controlled admin paths),
- enforce MFA or Conditional Access for privileged access,
- define break-glass accounts, log their use strictly, conduct regular tests.
2) Missing or incomplete audit logs
A common audit snag: logs may be „enabled somewhere“, but not centralised, not immutable or not retained long enough. Or: the scope is incomplete (e.g., individual accounts/subscriptions are missing). The consequence is not only a compliance risk but also an operational problem for incident response.
Audit and operational questions you should be able to answer:
- Which log sources are mandatory (Control Plane, Data Plane, Auth)?
- How do you detect if logging is disabled or circumvented?
- Who is allowed to change Retention?
3) Publicly reachable storage or data endpoints
Public buckets, open blob containers or database endpoints are classic findings. Not every „public“ is wrong (e.g., static web content), but it must be intentional, documented and controlled. Auditors expect exceptions with a risk assessment and a technical guardrail (e.g., Block Public Access as the default).
4) Network rules „too broad“ or untested exceptions
‚0.0.0.0/0‘ on admin ports is the known extreme. More common are creeping expansions: a temporary exception is never removed; new services are placed into existing, too-open segments. An auditable practice combines baselines (allowed patterns) with regular reviews and technical tests (e.g., external scans, internal reachability checks).
5) Encryption not applied consistently or not verifiable
Many managed services encrypt by default, but audits require proof and governance: who controls keys, how is rotation performed, how are accesses limited? Particularly critical is “Encryption at REST” (data encryption at REST) with customer-managed keys: this is more controllable but increases operational effort (rotation, permissions, emergency access).
6) Shadow accounts and unclear responsibilities
In large organizations, cloud accounts/subscriptions are created outside central governance, often driven by project needs or quick proofs of concept. Auditors then observe: missing owners, missing baselines, missing logs. Operationally, this additionally creates cost and risk opacity.
Prioritization: Which findings to close first (audit and risk logic)
If you have many findings, prioritization helps align audit relevance with actual risk. A practical scheme:
- Category A (immediate): exposed data/endpoints, overprivileged admin access without MFA, logging that can be disabled or is not centralized, key/secret exposure.
- Category B (short term): unclear owners, missing recertification, overly broad network rules without evidence, missing drift controls.
- Category C (planned): standardization, refactoring of IaC, unification of guardrails, reporting quality.
Important for decision-makers: Category A typically reduces both audit risk (severe findings) and incident costs. Category C reduces follow-on costs (operations, audit effort), but is rarely the first-line „audit firefighting.“
Implementation logic: Guardrails instead of ad-hoc policing
Audit-capable cloud security does not scale via manual approvals, but via guardrails: technical boundaries that enforce standards and make exceptions visible. Typical building blocks:
- Landing Zone: predefined base structure (accounts, network, logging, IAM fundamentals) where projects start.
- Policies: rules that prevent or at least report configurations (e.g. public storage, missing tags/owner, logging off).
- Standard modules: reusable components for network, identity, data services that adhere to baselines.
- Exception process: time-limited, documented, with compensating controls and a review date.
Change and exception evidence: What “audit-proof” means
Auditors want to see that risky changes do not occur „on the fly.“ For cloud this often means: pull-request reviews, merge rules, signed artifacts, change tickets linked to the change, and a traceable justification for exceptions.
If you are looking for a more detailed structure: building an auditable change trail can be usefully linked to a clear artifact model, as many organizations use even outside the cloud (Ticket, Approval, Change-Log, Testnachweis, Rollback-Plan). A relevant internal link is to a post about change-management audit artifacts.
Concrete audit queries: examples that serve as evidence
The exact syntax depends on the cloud provider. For audit purposes it is more important which question you can reproducibly answer. Below are sample queries as templates that you can transfer to your provider.
Public exposure: „Which resources are publicly reachable?“
Audit-Frage: Liste aller Ressourcen mit öffentlicher Erreichbarkeit
- Öffentliche IP-Adressen / Public Endpoints
- Load Balancer / API Gateways mit Internet-Frontend
- Storage-Objekte mit Public Access
Evidenz: Export mit Zeitstempel + Scope (Accounts/Regionen) + Ablage in unveränderbarem EvidenzspeicherLogging coverage: „Which Accounts deliver audit logs to the central sink?“
Audit-Frage: Vollständigkeit der Audit-Log-Weiterleitung
- Gibt es pro Account/Subskription eine aktive Audit-Log-Quelle?
- Gibt es eine zentrale Log-Senke?
- Ist Retention/Immutability aktiv?
- Wer darf diese Einstellungen ändern?
Evidenz: Konfigurationssnapshot + Rollen-/Rechteexport für Log-SenkeIAM review: „Who holds privileged access and when was it last confirmed?“
Audit-Frage: Privilegierte Zugriffe und Rezertifizierung
- Liste privilegierter Rollen und Mitglieder
- MFA/Conditional-Access-Status für privilegierte Identitäten
- Letzte Rezertifizierung (Datum, Verantwortliche, Ergebnis)
Evidenz: Rollenexport + Rezertifizierungsprotokoll + Nachweis automatischer Entzüge (falls vorhanden)Cost and operational implications: why auditability improves day-to-day operations
Cloud auditability is often misunderstood as „additional bureaucracy.“ In practice, solid evidence and guardrails primarily reduce operating costs and downtime:
- Faster incident response: centralized logs, clear responsibilities, reproducible states.
- Less drift and surprises: deviations are detected early, instead of during an audit or after an incident.
- Predictable cloud costs: shadow accounts and untagged resources become visible; ownership is clarified.
- Less audit panic: evidence is produced continuously, not as a one-time project.
For executive management and IT decision-makers the central message is this: auditability is a byproduct of sound operations management if you design it systematically from the start.
Governance: who decides what — and how does it remain manageable?
Many cloud organizations don’t fail because of missing tools, but because of unclear decision paths. For auditable governance you need at least:
- Cloud Control Owner: responsible for baselines, policies, exceptions and their review.
- Platform team (Landing Zone): implements guardrails technically and operates central services (logging, IAM basics, network core).
- Application/product owners: own data classification, operational risk and configuration within the guardrails.
A clear escalation logic for exceptions is important: who is authorized to approve what, when is a risk too high, and when are compensating controls required (e.g. additional monitoring, restriction to IP ranges, time-limited authorization)?
90-day plan: pragmatically establish a cloud audit practice
If you need to become audit-ready in the short term without overburdening the organization, a 90-day approach has proven effective:
Phase 1 (0–30 days): Transparency and minimum evidence
- Define scope: which accounts/subscriptions, regions, critical data?
- Create an evidence map (Top-15 controls).
- Check central log sink: completeness, retention, permissions.
- Inventory privileged access, enforce MFA/Conditional Access.
- Automatically generate and archive the first configuration snapshot.
Phase 2 (31–60 days): Guardrails and exception process
- Define baselines for public access, logging, tags/owner, key management.
- Establish an exception process with time limits and review dates.
- Introduce drift detection (CSPM or comparable controls).
- Reporting: prioritize findings as A/B/C, set remediation SLAs.
Phase 3 (61–90 days): effectiveness testing and audit package
- Test effectiveness: sampling, alarm tests, „logging off“ detection, break-glass exercise.
- Structure the evidence package: index, versioning, access control, export formats.
- Incorporate lessons learned into standards (modules, policies, processes).
Conclusion: auditable cloud controls are primarily a matter of evidence discipline
A robust cloud audit practice emerges when you operate Shared Responsibility not as a slide but as a control matrix; when configuration snapshots are date-stamped, comparable and integrity-protected; and when you address common misconfigurations with a clear A/B/C prioritization. The effect is twofold: you reduce audit findings and simultaneously improve operations, incident response and cost control. The decisive factor is not introducing another tool, but treating evidence as a repeatable process: automated, auditable, with clear responsibilities.
For this topic, audit evidence for cloud and cloud configuration management are also important. This article places these aspects in context and shows what matters in day-to-day practice.