About this program
A 20-question check across the controls that actually matter for AWS / Azure / GCP / SaaS environments. After each answer, expand the “Auditor’s view” for how to test the control, what evidence to collect, and the ideal response.
Controls (20)
-
Are root / global-admin accounts protected with hardware MFA and reserved for break-glass only?
MediumAre root / global-admin accounts protected with hardware MFA and reserved for break-glass only?
How to test + evidence
Risk: Root is the most-attacked credential. Hardware MFA + sealed credentials make it both unusable by attackers and auditable.
Testing procedure: Inspect root account configuration. Verify hardware MFA registered, no API keys, alerting on every use, and sealed-vault storage of credentials.
Evidence to collect: Root MFA status (hardware token registered) Last-used timestamp + alert log Credential storage location (sealed vault) Break-glass procedure document
-
Are all human identities federated through SSO (no local IAM users)?
MediumAre all human identities federated through SSO (no local IAM users)?
How to test + evidence
Risk: Federated identity centralises lifecycle (joiner/mover/leaver) and MFA. Local IAM users drift and outlive the people they were created for.
Testing procedure: List all IAM users in each cloud account. Verify only break-glass + service accounts exist; humans federate through SSO.
Evidence to collect: IAM user inventory per account SSO config (IAM Identity Center / Entra ID / Workload Identity) Justification for any local IAM user Quarterly access review of remaining local users
-
Do you enforce least privilege for cloud roles (no wildcard / *:* policies)?
MediumDo you enforce least privilege for cloud roles (no wildcard / *:* policies)?
How to test + evidence
Risk: Wildcard IAM is the most common cloud finding. Automated analysis flags drift fast; JIT eliminates standing over-privilege.
Testing procedure: Run IAM Access Analyzer / Azure Privileged Identity Management report. Flag any wildcard (*:*) policies and any unused permissions.
Evidence to collect: IAM Access Analyzer findings Sample policies showing scoped permissions JIT elevation tooling configuration + logs Last review of role policies + reviewer
-
How do you manage long-lived access keys / service account credentials?
MediumHow do you manage long-lived access keys / service account credentials?
How to test + evidence
Risk: Leaked long-lived keys are the #2 cloud breach root cause. IAM roles + short-lived tokens make leakage inert.
Testing procedure: Inspect long-lived credentials inventory. Check rotation cadence and storage. Run secret scanning across code repos for leaked credentials.
Evidence to collect: Credential inventory with last-rotation date Vault / KMS access logs Secret scanning report on repos IAM role usage replacing keys
-
Do you run continuous cloud posture management (CSPM) — Wiz, Lacework, Defender for Cloud, native Security Hub, etc.?
MediumDo you run continuous cloud posture management (CSPM) — Wiz, Lacework, Defender for Cloud, native Security Hub, etc.?
How to test + evidence
Risk: Cloud configurations drift hourly. Without CSPM you can't see misconfigurations as they happen — and findings sit unactioned without auto-remediation.
Testing procedure: Inspect CSPM tooling output. Verify coverage of all accounts/subscriptions. Sample 10 high-severity findings + remediation timestamps.
Evidence to collect: CSPM dashboard with secure-score Coverage map (accounts / subscriptions / projects) Auto-remediation policy + recent actions Findings register with severity + status
-
Is cloud infrastructure managed via IaC (Terraform, CloudFormation, Bicep, Pulumi)?
MediumIs cloud infrastructure managed via IaC (Terraform, CloudFormation, Bicep, Pulumi)?
How to test + evidence
Risk: IaC + PR review enforces controls in tooling rather than trust. Click-ops produces undocumented changes that drift over months.
Testing procedure: Sample 10 production cloud resources. For each, verify it can be reconciled to an IaC definition. Check drift detection tooling output.
Evidence to collect: IaC repository + state files Drift detection tool output PR review process for IaC changes Runbook for emergency click-ops + retroactive IaC
-
Do you measure against a recognised baseline (CIS Benchmarks, AWS Foundational Security, Azure Security Benchmark)?
MediumDo you measure against a recognised baseline (CIS Benchmarks, AWS Foundational Security, Azure Security Benchmark)?
How to test + evidence
Risk: Baselines give a measurable target. Auditors increasingly expect CIS-aligned configurations; gaps without justification are findings.
Testing procedure: Inspect CSPM report against CIS / vendor baseline. Verify compliance percentage and that exceptions have business justification.
Evidence to collect: CSPM report against baseline Compliance percentage trend Exception register with justification + review Remediation plan for non-compliance
-
Is workload network access restricted (private endpoints, no public S3/Storage by default, no 0.0.0.0/0 SSH/RDP)?
MediumIs workload network access restricted (private endpoints, no public S3/Storage by default, no 0.0.0.0/0 SSH/RDP)?
How to test + evidence
Risk: Internet-exposed services are the most common initial access vector. Default-deny with documented exceptions is the only scalable model.
Testing procedure: Run a CSPM check for "0.0.0.0/0 on port 22/3389/3306/etc.". Verify block-public-access on storage. Sample exceptions for justification.
Evidence to collect: CSPM findings for open ports Block-public-access account-level settings Exception register with expiry dates Network architecture using private endpoints
-
Is data at rest encrypted with customer-managed keys where possible?
MediumIs data at rest encrypted with customer-managed keys where possible?
How to test + evidence
Risk: CMK gives you the cryptographic boundary. Provider-managed keys are encrypted but you can't demonstrate control or revoke access.
Testing procedure: Sample storage / database / volume resources. Verify encryption enabled with CMK + rotation. Check KMS access logs.
Evidence to collect: Encryption status report per service KMS key inventory + rotation schedule Sample KMS access logs CMK policy enforcement (e.g. SCP)
-
How are secrets (API keys, DB passwords) stored and accessed?
MediumHow are secrets (API keys, DB passwords) stored and accessed?
How to test + evidence
Risk: Secrets in code or env files leak. Centralised secret management with auditing makes the loss containable and observable.
Testing procedure: Inspect secret manager usage. Run secret scanning across repos for leaked credentials.
Evidence to collect: Secret manager inventory Access audit log Secret scanning report (GitHub / GitLab native or Trufflehog) Rotation policy + recent rotations
-
Do you know where your sensitive data lives across cloud services (DSPM / data discovery)?
MediumDo you know where your sensitive data lives across cloud services (DSPM / data discovery)?
How to test + evidence
Risk: Cloud data sprawls into unintended places. DSPM finds sensitive data in unexpected buckets, dev environments, and shadow accounts.
Testing procedure: Inspect DSPM tooling output (Wiz, Cyera, Varonis) or manual data inventory. Verify classification labels are applied + reviewed.
Evidence to collect: DSPM scan report Sensitive data inventory Classification policy + applied labels Records of processing for GDPR if applicable
-
Are cloud workload backups isolated from the production account/credentials?
MediumAre cloud workload backups isolated from the production account/credentials?
How to test + evidence
Risk: A compromised production account can delete in-account backups. Cross-account + immutable defeats this.
Testing procedure: Inspect backup architecture. Verify cross-account / cross-tenant separation, immutability, and last successful restore test.
Evidence to collect: Backup architecture diagram Cross-account replication policy Object lock / immutability config Restore test report
-
Are control-plane logs (CloudTrail, Activity Log, Audit Log) enabled, centralised, and monitored?
MediumAre control-plane logs (CloudTrail, Activity Log, Audit Log) enabled, centralised, and monitored?
How to test + evidence
Risk: Control-plane logs are forensic gold during a cloud incident. Without centralisation, an attacker who deletes them is invisible.
Testing procedure: Inspect CloudTrail / Activity Log status across all accounts. Verify centralised log destination + tuned detection content.
Evidence to collect: CloudTrail / Activity Log status per account Central log archive (separate account) SIEM detection rules for cloud events Sample alerts triaged in the period
-
Are workload-level logs (VPC flow, container, app) sent to your SIEM?
MediumAre workload-level logs (VPC flow, container, app) sent to your SIEM?
How to test + evidence
Risk: Control-plane logs alone miss runtime threats. VPC flow + container logs catch lateral movement and exfiltration.
Testing procedure: Sample workloads. Verify VPC flow logs + container logs are forwarded with sufficient retention.
Evidence to collect: VPC flow log configuration Container log forwarding (FluentBit / similar) Detection rules for cloud-specific TTPs
-
Do you have runtime cloud workload protection (CWPP / agent or eBPF) detecting active threats?
MediumDo you have runtime cloud workload protection (CWPP / agent or eBPF) detecting active threats?
How to test + evidence
Risk: Runtime threats (cryptojacking, lateral movement, container escapes) are invisible without CWPP. Coverage gaps are where attackers hide.
Testing procedure: Inspect CWPP coverage report (Wiz Runtime, Sysdig, Falco, Aqua, etc.). Verify production workloads have agent + alerting.
Evidence to collect: CWPP coverage report Sample runtime alerts triaged Auto-response policy for high severity
-
When a critical cloud alert fires (e.g. credential exposure), how is it triaged?
MediumWhen a critical cloud alert fires (e.g. credential exposure), how is it triaged?
How to test + evidence
Risk: A great alert that nobody acts on is worse than no alert. 24/7 with runbooks closes the loop.
Testing procedure: Inspect alert routing + on-call rota. Sample 5 high-severity alerts in the period and verify investigation timestamps.
Evidence to collect: Alert routing policy On-call schedule Sample triage records with timestamps Mean-time-to-acknowledge metric
-
Is security testing integrated into CI/CD (SAST, dependency scanning, IaC scanning, secret scanning)?
MediumIs security testing integrated into CI/CD (SAST, dependency scanning, IaC scanning, secret scanning)?
How to test + evidence
Risk: Shifting left catches issues at $0.10 instead of $10,000. Advisory-only scanning gets ignored.
Testing procedure: Inspect CI/CD pipeline definition. Verify SAST + SCA + IaC scan + secret scan are required for merge with blocking on critical findings.
Evidence to collect: Pipeline config showing security gates Sample PRs with findings + resolution Tool reports for SAST + SCA + IaC scanning Block-on-critical policy enforcement
-
Are container images scanned, signed, and pulled from a controlled registry?
MediumAre container images scanned, signed, and pulled from a controlled registry?
How to test + evidence
Risk: Unsigned images from public registries are supply-chain risk. Signing + scanning + admission control gives end-to-end provenance.
Testing procedure: Inspect registry config + cluster admission control. Verify only signed images can be pulled and scanning is required.
Evidence to collect: Registry scan policy Image signing config (cosign / Notary) Cluster admission policy (Kyverno / OPA Gatekeeper) Sample blocked-image events
-
Are workloads ephemeral and frequently rebuilt (vs long-lived snowflakes)?
MediumAre workloads ephemeral and frequently rebuilt (vs long-lived snowflakes)?
How to test + evidence
Risk: Immutable infrastructure means attackers can't establish persistence — every rebuild wipes them. Snowflakes accumulate state and exposure.
Testing procedure: Sample workloads. Verify image age (uptime) and deployment cadence. Long-lived servers without recent rebuilds are flagged.
Evidence to collect: Workload uptime distribution Deployment cadence per service Patch / config drift evidence on long-lived hosts
-
Are cloud configuration changes peer-reviewed and traceable to a ticket?
MediumAre cloud configuration changes peer-reviewed and traceable to a ticket?
How to test + evidence
Risk: Reviewed PR-driven changes give an audit trail and a second pair of eyes. Console changes hide and bypass the control.
Testing procedure: Sample 10 cloud changes. Verify each has IaC PR + reviewer + ticket reference. Click-ops changes should be flagged for retroactive IaC.
Evidence to collect: Sample PRs with reviewer + ticket reference CloudTrail audit showing change source (IaC vs console) Process for emergency click-ops + retroactive IaC