Markdown Editor

Cloud Security Posture Review Template (CSA CCM v4.1)

Periodic cloud posture review: scope, shared responsibility, CSPM findings by CCM v4.1 domain, identity, exposure, data, logging, drift, risks, actions, trend

Інженерія безпекиПовнийCSA CCM v4.1 (domains and IDs); CIS Benchmarks namedcloudposturereview

Як використовувати: Use it when you review the configuration posture of AWS, Azure or Google Cloud estates each quarter. Fill scope, coverage gaps and the CCM domain table first, then rate risk and agree actions. The main pitfall is reporting raw finding counts instead of risk, exposure and trend.

Перегляд

Cloud Security Posture Review: [Organisation or cloud estate name], [review period]

Periodic review of the security posture of one or more cloud estates: scope and accounts, shared responsibility split, cloud security posture management (CSPM) findings grouped by the domains of the Cloud Security Alliance Cloud Controls Matrix (CCM) v4.1 (January 2026), identity, network exposure, data protection, logging coverage, guardrail drift, exceptions, risk rating, remediation plan and trend against the previous review. CCM domains are cited by name and identifier only; CIS Benchmarks are named as configuration baselines and not reproduced. This report records the state of an estate at a point in time; the approved patterns it checks against live in Cloud Security Reference Patterns (security/cloud-security-reference-patterns) and the landing zone design. Replace every [bracketed] value and every row marked Example. Worked examples use Corvid Commerce, a fictional SaaS company.

Document control

FieldValue
Document ID[CSPR-YYYY-QN]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@cloud-security-lead]
Approvers / reviewers[@ciso], [@head-of-platform], [@cloud-account-owners]
Last updatedYYYY-MM-DD
ClassificationConfidential: contains unremediated weaknesses
Review period[YYYY-MM-DD to YYYY-MM-DD]
Data snapshot dateYYYY-MM-DD (CSPM export and inventory taken on this date)
Estates in scope[Example: AWS organisation, Microsoft Azure tenant, Google Cloud organisation]
Baselines used[Internal cloud baseline v[x]; CIS Benchmark for [provider] v[x] (licensed copy); provider security recommendations]
Control framework mappingCSA CCM v4.1 (domains and control IDs only)
Previous review[CSPR-YYYY-QN]
Next reviewYYYY-MM-DD

Approvals

RoleNameDecisionDate
Chief information security officer[@name][Accepted / Changes requested]YYYY-MM-DD
Head of platform or cloud engineering[@name][Decision]YYYY-MM-DD
Risk owner for exceptions (section 10)[@name][Decision]YYYY-MM-DD
Internal audit (observer)[@name][Noted]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]Draft from CSPM export and inventory
0.2YYYY-MM-DD[@name]Example: Account owners validated findings; false positives removed
1.0YYYY-MM-DD[@name]Example: Accepted by CISO; remediation plan agreed

Contents

1. Executive summary

Overall posture: [Improving / Stable / Deteriorating] compared with [previous review ID].

Example (Corvid Commerce, Q3 2026): Posture improved for the second quarter in a row. The configuration pass rate rose from 92.5% to 93.6% and open critical findings fell from 7 to 4. Excluding 120 checks added by the CSPM vendor this quarter, the like-for-like pass rate is 93.9% (section 13). The legacy analytics account holds one of the four open critical findings (two internet-readable buckets with customer exports, CSPR-F-001) and a public database endpoint pending exception EXC-021. It needs a decision this cycle: either migrate the workload into the governed landing zone or accept the risk for 90 days with compensating controls. Logging coverage of the cloud control plane is complete, but data-plane logging for object storage covers only 71% of buckets holding confidential data.

Headline measurePreviousCurrentTargetStatus
Configuration pass rate (section 13) Example92.5%93.6%95.0%Improving
Open critical findings Example740Off target
Open high findings Example312310 or fewerOff target
Critical findings past SLA Example310Off target
Accounts outside the governed landing zone Example530Improving
Control-plane audit logging coverage Example98%100%100%On target

Top risks (detail in section 11):

  1. Example: RISK-CSPR-001: public read access on two storage buckets with customer exports in the legacy analytics account.
  2. Example: RISK-CSPR-002: long-lived access keys for 14 machine users, 3 of them (used by a third-party ETL tool) with administrative rights.
  3. Example: RISK-CSPR-003: incomplete data-plane logging on confidential storage limits breach investigation.

Decisions requested:

IDDecisionOptionsRecommendedDecision owner
DEC-001 (Example)Legacy analytics accountMigrate by YYYY-MM-DD, or accept risk 90 daysMigrate; interim block of public access[@cto]
DEC-002 (Example)Ban new static cloud keys for workloadsPolicy now, or after workload identity rolloutPolicy now, with 60-day exception path[@ciso]

2. Scope and review method

2.1 Scope

ItemIn scopeOut of scope (reason)
Cloud estates[Example: AWS organisation corvid-prod-org, Azure tenant corvid.example, Google Cloud organisation corvid.example][Example: Partner-managed marketing site (covered by supplier assessment)]
Environments[Production, staging, shared services, sandbox][Developer personal sandboxes with no data (spot-checked only)]
Regions[All enabled regions][None]
Service typesIaaS, PaaS, managed Kubernetes, serverless, managed databases, object storageSaaS applications (covered by SaaS posture review)
Identity planesCloud IAM, workforce identity provider federation into cloudCustomer identity (see CIAM design)

2.2 Method

  1. Export the CSPM finding set and the cloud asset inventory on the snapshot date.
  2. Reconcile the account list from the CSPM tool with the organisation or tenant hierarchy. Record every account the tool does not cover in section 3.3.
  3. Map each failed check to one CCM v4.1 domain (primary) using the control ID mapping held in the CSPM tool or the internal baseline. Record unmapped checks as "Unmapped" and fix the mapping.
  4. Remove confirmed false positives with a written reason; keep the count.
  5. Validate the top findings with account owners in a 30-minute session per business unit.
  6. Rate risk per theme using section 11 and agree actions in section 12.
  7. Compare with the previous review (section 13).

2.3 Sources of evidence

SourceWhat it providesOwner
CSPM platform [name]Configuration findings against baselines, mapped to CCM[@cloud-security]
Provider-native security hubs [names]Provider recommendations and threat findings[@cloud-security]
Cloud asset inventoryAccounts, resources, tags, owners[@platform]
Identity provider and cloud IAM reportsUsers, roles, keys, last use[@iam-team]
Policy-as-code repositoryPreventive guardrails and their versions[@platform]
SIEM log source registerLog types ingested per account[@soc]

2.4 Limitations

  • [Example: The CSPM tool evaluates configuration only; it does not observe runtime traffic or application flaws.]
  • [Example: Two Azure subscriptions were onboarded mid-period; their trend data starts at this review.]
  • [Example: CIS Benchmark checks rely on the CSPM vendor's licensed implementation; the benchmark text is not reproduced here.]

3. Estate inventory and shared responsibility

3.1 Estate summary

EstateAccounts, subscriptions or projectsIn CSPMResources evaluatedOwner tags complete
AWS Example42 accounts419,88096%
Microsoft Azure Example9 subscriptions92,31091%
Google Cloud Example6 projects51,14088%
Total Example575513,330

3.2 Shared responsibility split

Record who operates each layer for the main service models. The provider's published shared responsibility model is the starting point; the customer column is what this review measures.

LayerIaaS (virtual machines)PaaS (managed database)Serverless functionsManaged Kubernetes
Physical, hypervisor, provider networkProviderProviderProviderProvider
Operating system patchingCustomerProviderProviderProvider (control plane), customer (node images unless auto-upgraded)
Network controls (security groups, firewall rules, private endpoints)CustomerCustomerCustomerCustomer
Identity, roles and keysCustomerCustomerCustomerCustomer (cluster RBAC and cloud IAM)
Data classification and encryption choicesCustomerCustomerCustomerCustomer
Logging enablement and retentionCustomerCustomerCustomerCustomer
Application code and dependenciesCustomerCustomerCustomerCustomer

3.3 Coverage gaps

IDAccount or scopeGapImpactAction
GAP-001 (Example)AWS corvid-legacy-analyticsNot onboarded to CSPM; created before the landing zoneFindings unknown beyond manual sampleOnboard by YYYY-MM-DD (ACT-006)
GAP-002 (Example)Google Cloud project corvid-ml-sandboxCSPM service account lacks folder-level viewer roleNo evaluation this periodGrant role, re-run

4. Findings by CCM domain

CCM v4.1 has 17 domains and 207 control specifications. The table lists every domain so that gaps in assessment are visible. Counts are open findings after false-positive removal. Domains marked "Other evidence" are not assessed by configuration scanning and are covered by the reviews named.

CCM domain IDDomain nameCriticalHighMediumLowTotalNotes
A&AAudit and AssuranceOther evidence: internal audit plan
AISApplication and Interface Security003811Example: API gateway TLS policy, WAF logging
BCRBusiness Continuity Management and Operational ResilienceOther evidence: DR test reports
CCCChange Control and Configuration Management0051217Example: resources created outside IaC
CEKCryptography, Encryption and Key Management0291223Example: key rotation disabled on 9 keys
DCSDatacenter SecurityProvider responsibility; provider attestation reports reviewed
DSPData Security and Privacy Lifecycle Management14142241Example: public buckets, untagged data stores
GRCGovernance, Risk and ComplianceOther evidence: exception register (section 10)
HRSHuman ResourcesOut of scope for configuration review
IAMIdentity and Access Management28213061Example: static keys, unused admin roles
IPYInteroperability and PortabilityOut of scope for configuration review
IVSInfrastructure and Virtualization Security16192551Example: open management ports, flat VPCs
LOGLogging and Monitoring02111831Example: bucket access logs, flow logs
SEFSecurity Incident Management, E-Discovery and Cloud ForensicsOther evidence: incident response exercise
STASupply Chain Management, Transparency and AccountabilityOther evidence: supplier assessments
TVMThreat and Vulnerability Management0161421Example: outdated node images, scanner agents missing
UEMUniversal Endpoint ManagementOut of scope (endpoint programme)
Total42388141256Example

Domain names follow the CCM v4 structure; confirm them against your licensed CCM v4.1 copy, which is the authoritative list.

4.1 Finding record format

Record each finding that is critical, high or part of a top risk in this format.

FieldValue
Finding IDCSPR-F-[NNN]
CCM domain and control ID[Example: DSP, DSP-[nn]]
Baseline check[Internal check ID or CSPM rule ID]
Resource and account[ARN, resource ID or URI], [account]
Severity (tool) and rated risk (section 11)[Critical / High / Medium / Low]
Exposure[Internet-facing / Internal / Isolated]
Data class[Restricted / Confidential / Internal / Public]
First seenYYYY-MM-DD
Owner[@team]
Status[Open / In remediation / Excepted / Closed]
Action ID[ACT-NNN]

4.2 Top findings

Finding IDDomainSummaryExposureDataAge (days)Owner
CSPR-F-001 (Example)DSPTwo object storage buckets allow anonymous readInternetConfidential (customer exports)37[@analytics]
CSPR-F-002 (Example)IAMMachine users of the third-party ETL tool with an administrative policy; oldest access key 400 daysInternalRestricted400[@data-platform]
CSPR-F-003 (Example)IAMEntra ID Global Administrator account without phishing-resistant MFA in the Azure tenantInternalRestricted5[@azure-admins]
CSPR-F-004 (Example)IVSRemote administration port open to any address on a bastion replacement hostInternetInternal6[@ops]

5. Identity and access posture

Target model: IAM Solution Design (security/iam-solution-design). Secret and key rules: Secrets Management Standard (security/secrets-management-standard).

MeasureFormulaPreviousCurrentTarget
Human cloud access through federation Examplefederated human principals / all human principals94%98%100%
Privileged roles with phishing-resistant MFA Exampleprivileged humans with FIDO2 or equivalent / privileged humans89%95%100%
Static access keys for workloads Examplecount of active long-lived keys attached to machine identities22140
Keys older than rotation period Examplekeys older than the standard's period / active keys41%29%0%
Unused privileged roles (90 days) Examplecount1790
Standing administrator assignments Examplepermanent admin assignments not using just-in-time elevation31185 or fewer (break-glass only)

Observations:

  • [Example: Just-in-time elevation is live in AWS and Azure; Google Cloud still relies on standing project owner grants in two projects.]
  • [Example: Cross-account trust policies allow assumption from three external accounts not listed in the supplier register.]

6. Network exposure

Exposure classCountWith approved reasonBehind WAF or managed edgeNotes
Public load balancers and gateways Example181818Expected
Virtual machines with public IP Example7403 without reason (ACT-004)
Management ports open to any source Example200Critical and high findings
Managed databases with public endpoint Example100Legacy analytics
Publicly readable object storage Example53 (static web assets)32 unexpected (CSPR-F-001)
Kubernetes API endpoints public Example22 (IP allow-list)n/aPlan private endpoints; see Kubernetes Cluster Design (ops/kubernetes-cluster-design)

Record the external attack surface source (CSPM, external scanning, DNS inventory) and reconcile them: a public address found by external scanning but missing from the inventory is a high finding.

7. Data protection and encryption

MeasurePreviousCurrentTarget
Data stores with a data classification tag Example81%87%100%
Confidential or restricted stores encrypted with customer-managed keys Example72%80%100%
Customer-managed keys with rotation enabled Example84%90%100%
Stores with public access block at account level Example39 of 42 AWS accounts41 of 42All
Backups encrypted and in a separate account or vault Example90%93%100%
TLS 1.2 or later enforced on public endpoints Example97%100%100%

Key management practices are defined in PKI and Certificate Architecture (security/pki-certificate-architecture) and the secrets standard. Record deviations here only as findings.

8. Logging and detection coverage

Required sources and retention: Security Logging Standard (security/security-logging-standard).

Log sourceAccounts requiredEnabledCentralised in SIEMImmutable storageDetection rules active
Control-plane audit logs Example575757Yes42
Identity provider sign-in logs Examplen/aYesYesYes18
Network flow logs (production) Example242222Yes6
Object storage data access logs (confidential) Example31 buckets2222Yes3
Managed Kubernetes audit logs Example6 clusters66Yes9
DNS query logs Example241515No2

Coverage formula: coverage = sources enabled and centralised / sources required. Example: data access logs on confidential buckets = 22 / 31 = 71%.

9. Guardrail drift and policy as code

Approved guardrails: Cloud Landing Zone Design (architecture/landing-zone-design), section 7 and section 9.

Guardrail IDGuardrailTypeExpected scopeAppliedDriftAction
GR-001 (Example)Deny disabling of control-plane audit logsPreventive (organisation policy)All accounts57 / 57None
GR-002 (Example)Deny public object storage unless tagged public-approvedPreventiveAll accounts except web asset account54 / 562 accounts excluded without recordACT-001
GR-003 (Example)Deny creation of long-lived user access keysPreventiveWorkload accounts30 / 42Not applied in legacy OUACT-002
GR-004 (Example)Require encryption with customer-managed keys for restricted data storesDetective with auto-ticketAll57 / 57Rule version 1.3 deployed, 1.4 approvedACT-007
GR-005 (Example)Restrict regions to approved listPreventiveAll57 / 57None

Also record:

  • Resources created outside IaC (click-ops) in production: [Example: 63 resources, 0.8% of 7,900 production resources].
  • Policy-as-code test pass rate in the pipeline: [Example: 100% of 48 policy tests].
  • Accounts vended without the baseline in the period: [Example: 0].

10. Exceptions and risk acceptance

Exception IDFinding or guardrailReasonCompensating controlsResidual riskApproved byExpiry
EXC-014 (Example)GR-002 for corvid-web-assetsStatic website assets must be publicBucket holds only build output; write access limited to the release pipelineLow[@ciso]YYYY-MM-DD
EXC-019 (Example)CSPR-F-002: the 3 ETL machine-user keys (recorded in the secrets standard register as SMX-003)Third-party ETL tool does not support workload identityAdministrative policy replaced by a policy scoped to the ETL buckets (ACT-002), IP condition, 30-day rotation, alert on use from a new IPMedium[@ciso]YYYY-MM-DD (90 days)
EXC-021 (Example)Public database endpoint in legacy analyticsPending migration (DEC-001)IP allow-list, TLS required, database audit logging onHighPending decisionn/a

Rules applied in this review:

  1. Exceptions for critical findings require CISO approval and expire after at most 90 days (Example).
  2. Exceptions for high findings require the head of platform and expire after at most 180 days (Example).
  3. An exception with no compensating control is not granted; the finding stays open and escalates.
  4. Expired exceptions this period: [Example: 2, both reopened as findings].

11. Risk rating

Rating method (Example): likelihood 1 to 5 multiplied by impact 1 to 5. Score 15 to 25 is High, 8 to 14 is Medium, 1 to 7 is Low. Use the scale in your enterprise risk methodology if one exists.

Risk IDThemeLinked findingsLikelihoodImpactScoreRatingTreatment
RISK-CSPR-001 (Example)Public exposure of customer exportsCSPR-F-001, EXC-0214520HighMitigate (ACT-001, ACT-006)
RISK-CSPR-002 (Example)Long-lived privileged machine credentialsCSPR-F-002, GR-003 drift3515HighMitigate (ACT-002)
RISK-CSPR-003 (Example)Insufficient data-plane logging for investigationsSection 83412MediumMitigate (ACT-005)
RISK-CSPR-004 (Example)Open management ports on internet-facing hostsCSPR-F-0043412MediumMitigate (ACT-004)
RISK-CSPR-005 (Example)Standing administrator assignments in Google CloudSection 5248MediumMitigate (ACT-003)

Transfer High and Medium risks to the enterprise risk register (Risk Register Template, compliance/risk-register) with the same IDs.

12. Remediation plan

Action IDActionReducesOwnerDueVerificationStatus
ACT-001 (Example)Remove public access from the two buckets; apply GR-002 to the two excluded accountsRISK-CSPR-001[@analytics-lead]YYYY-MM-DDCSPM check passes; external scan shows no anonymous readIn progress
ACT-002 (Example)Apply GR-003 to legacy OU; replace 11 of the 14 workload keys with workload identity; scope the 3 ETL keys under EXC-019 to the ETL bucketsRISK-CSPR-002[@platform-lead]YYYY-MM-DDStatic workload key count is 3 or fewer, each covered by EXC-019; no key has an administrative policyPlanned
ACT-003 (Example)Move Google Cloud owner grants to just-in-time elevationRISK-CSPR-005[@gcp-admin]YYYY-MM-DDIAM report shows no standing owner outside break-glassPlanned
ACT-004 (Example)Close management ports; use session manager or identity-aware proxyRISK-CSPR-004[@ops-lead]YYYY-MM-DDNo port 22 or 3389 open to any sourceIn progress
ACT-005 (Example)Enable data access logging on the 9 remaining confidential buckets and ingest to SIEMRISK-CSPR-003[@soc-lead]YYYY-MM-DDCoverage 31 / 31Planned
ACT-006 (Example)Onboard legacy analytics account to CSPM; migrate per DEC-001RISK-CSPR-001, GAP-001[@analytics-lead]YYYY-MM-DDAccount in CSPM and landing zonePlanned
ACT-007 (Example)Deploy GR-004 rule version 1.4Section 7[@platform-lead]YYYY-MM-DDPolicy version in all accountsPlanned

Remediation SLAs for findings follow Vulnerability Management Policy (security/vulnerability-management-policy) where the finding is a vulnerability, and the internal cloud baseline for configuration findings. Example configuration SLAs: critical 7 days, high 30 days, medium 90 days, low next quarterly cycle.

13. Trend and metrics

MetricFormulaQ4 prev. yearQ1Q2Q3 (current)
Configuration pass rate Examplepassed checks / evaluated checks89.9%91.2%92.5% (16,380 / 17,700)93.6% (17,236 / 18,420)
Open critical findings Examplecount at snapshot12974
Open findings, all severities Examplecount at snapshot341297263256
Mean time to remediate, critical (days) Examplesum of days open for closed criticals / closed criticals1914118
SLA adherence, critical and high Exampleclosed within SLA / closed71%78%83%88%
Accounts with full guardrail set Examplecompliant accounts / accounts in scope84%88%91%95%

Rule set changes in the period: [Example: the CSPM vendor added 120 checks for managed AI services in Q3, producing 640 evaluations of which 541 passed (84.5%). Excluding them, the Q3 like-for-like pass rate is (17,236 - 541) / (18,420 - 640) = 16,695 / 17,780 = 93.9%, so the wider rule set lowered the headline rate by about 0.3 points and the like-for-like gain over Q2 is 1.4 points (92.5% to 93.9%).]

13.1 Sign-off

Acceptance criteria for closing this review:

  • Every critical and high finding has an action or an approved exception.
  • Every High risk has a named treatment owner and appears in the risk register.
  • Coverage gaps (section 3.3) have onboarding actions.
  • Decisions in section 1 are recorded with the decision owner.

14. Glossary and references

14.1 Glossary

TermMeaning
CSPMCloud security posture management: tooling that evaluates cloud configuration against rules and reports deviations
CCMCloud Controls Matrix: the CSA control framework for cloud computing, organised into domains and control IDs
GuardrailA preventive or detective control applied centrally across accounts, usually as policy as code
DriftA difference between the approved configuration or guardrail set and what is deployed
Shared responsibilityThe split of security duties between the cloud provider and the customer for each service model
Pass ratePassed checks divided by evaluated checks for a fixed rule set
ExceptionA time-limited, approved deviation from a baseline with compensating controls
Landing zoneThe governed multi-account foundation into which workloads are deployed

14.2 Related templates

TemplateUse
Cloud Security Reference Patterns Template (AWS SRA, MCSB, CCM v4.1) (security/cloud-security-reference-patterns)Approved patterns this review checks against
Cloud Landing Zone Design Template (AWS, Azure, Google Cloud) (architecture/landing-zone-design)Guardrails, account structure and policy as code
IAM Solution Design Template (NIST SP 800-63-4, SSO, PAM) (security/iam-solution-design)Target identity model
Secrets Management Standard (security/secrets-management-standard)Static key and secret rules
Vulnerability Management Policy (security/vulnerability-management-policy)Remediation SLAs for vulnerabilities
Security Logging Standard (security/security-logging-standard)Required log sources and retention
Kubernetes Cluster Design (ops/kubernetes-cluster-design)Cluster baseline and endpoint exposure
Zero Trust Architecture Plan Template (NIST SP 800-207, CISA ZTMM 2.0) (security/zero-trust-architecture)Programme context for identity and network findings
Security Architecture Document Template (NIST SP 800-160, STRIDE) (security/security-architecture)System-level design for systems with recurring findings
Penetration Test Report Template (PTES, OWASP WSTG) (security/pentest-report)Exploitation testing, which this review does not perform

14.3 References

Standard and licence note

Structure aligned with the Cloud Security Alliance Cloud Controls Matrix v4.1 (January 2026). CCM domain names and identifiers are cited for mapping only; no control specification text, implementation guideline or auditing guideline is reproduced. The CCM is free for internal use under CSA terms, and customisation or commercial reuse of its content requires a licence from CSA; the free download may not be modified or redistributed (see the CSA CCM licensing FAQ), so use your own licensed copy for control-level work. CIS Benchmarks are named only; obtain and apply them under the CIS terms. NIST SP 800-53 is a work of the United States Government. Check the current official versions before relying on this review, as updates may have been published. Cloud Security Alliance, CCM, CIS and CIS Benchmarks, and the cloud provider names are trademarks of their owners; this template is not affiliated with or endorsed by them. Original text written for this collection. Template licence: MIT.

Схожі шаблони