Responsibilities (Security)
The Shared Responsibility Model
Cloud security is a shared responsibility between cloud provider and customer. Misunderstanding this boundary is one of the most common causes of cloud security incidents.
Fundamental Principle
Cloud provider is responsible for: Security OF the Cloud
βββ Physical security of the data centers
βββ Hardware infrastructure (servers, network, storage)
βββ Hypervisor security
βββ Global network infrastructure
Customer is responsible for: Security IN the Cloud
βββ Operating system configuration and patches (EC2)
βββ Network configuration (VPC, security groups, NACLs)
βββ IAM and access controls
βββ Data encryption
βββ Application security
βββ Monitoring and incident response
Detailed Responsibility Matrix
| Responsibility Area | IaaS (EC2, VMs) | PaaS (RDS, Lambda) | SaaS (Office 365, Salesforce) |
|---|---|---|---|
Physical security |
Cloud provider |
Cloud provider |
Cloud provider |
Hypervisor/Host OS |
Cloud provider |
Cloud provider |
Cloud provider |
Network configuration |
Customer |
Shared |
Cloud provider |
Operating system (Guest OS) |
Customer |
Cloud provider |
Cloud provider |
Middleware / Runtime |
Customer |
Cloud provider |
Cloud provider |
Application data |
Customer |
Customer |
Customer |
IAM & access controls |
Customer |
Customer |
Customer (User Mgmt) |
Data encryption |
Customer |
Shared (CMK = Customer) |
Shared |
Monitoring & alerting |
Customer |
Customer |
Shared |
Patch management |
Customer |
Cloud provider (managed) |
Cloud provider |
Backup configuration |
Customer |
Customer (Policy) |
Customer (Policy) |
| "Managed Service" means the cloud provider patches the platform. It does not mean that they protect your data, configure your IAM policies or set up your monitoring. |
WAF++ Scope of Responsibility
The WAF-SEC controls cover the customer side of the Shared Responsibility Model.
| WAF++ Control | What is covered | Customer side |
|---|---|---|
WAF-SEC-010 IAM Baseline |
MFA configuration, root account protection, IAM password policy |
Fully customer |
WAF-SEC-020 Least Privilege |
IAM policy design, role structure, wildcard avoidance |
Fully customer |
WAF-SEC-030 Encryption at Rest |
CMK configuration, encryption policy, KMS rotation |
Key management = customer |
WAF-SEC-040 TLS Enforcement |
ALB/NLB TLS policy, API Gateway, CloudFront security policy |
Configuration = customer |
WAF-SEC-050 Network Segmentation |
VPC design, security groups, NACLs, VPC endpoints |
Fully customer |
WAF-SEC-060 Secrets Management |
Secrets Manager configuration, CI/CD integration, rotation |
Fully customer |
WAF-SEC-070 Vulnerability Management |
Container scanning configuration, patch policy, SBOM |
Fully customer |
WAF-SEC-080 Security Monitoring |
GuardDuty activation, CloudTrail configuration, alerting |
Fully customer |
WAF-SEC-090 Policy-as-Code |
OPA/wafpass integration in CI/CD, SCP configuration |
Fully customer |
WAF-SEC-100 Incident Response |
Playbooks, runbooks, response automation |
Fully customer |
Team Responsibilities
In modern cloud organizations with multiple teams, dividing security responsibility is crucial. WAF++ recommends the following role distribution:
Platform Team (Cloud Platform / Infrastructure)
The platform team is responsible for the security foundation:
-
Provision and maintain IaC base modules (VPC, IAM roles, KMS, security groups)
-
Operate the security monitoring stack (GuardDuty, Security Hub, SIEM integration)
-
Manage SCPs and org policies
-
Operate the secrets management system (Secrets Manager, Vault)
-
Maintain WAF++ checker integration in the CI/CD platform
Security decisions of the platform team:
-
Which regions are permitted?
-
Which KMS keys are used for which data categories?
-
How are VPCs and networks structured?
-
Which security guardrails apply organization-wide?
Dev Teams (Product Teams / Development Teams)
Dev teams are responsible for the security of their applications and services:
-
Correct use of security modules provided by the platform team
-
No wildcards in application-specific IAM policies
-
No hardcoded secrets in application code and IaC
-
Addressing security findings from vulnerability scans
-
Implementing security controls at the application level
Security decisions of dev teams:
-
What specific permissions does their application need?
-
How are application secrets obtained at runtime?
-
How are container images kept up to date?
Security Team (CISO / Cloud Security)
The security team is responsible for governance, oversight and risk management:
-
Definition of security policies and standards (Policy Owner)
-
Review and approval of exceptions to security standards
-
Operation of the Security Operations Center (SOC) or oversight of the SOC function
-
Conducting or commissioning penetration tests and red team exercises
-
Incident response coordination
-
Regulatory compliance monitoring (ISO 27001, GDPR, BSI C5)
Security decisions of the security team:
-
Which risks are acceptable? (Risk acceptance)
-
Which exceptions to controls are approved? (Exception process)
-
Which new threats require new controls?
The "Security as Code" Principle
WAF++ follows the principle: Security decisions are code, not exceptions.
This means:
No Manual Bypass Without Documentation
Every deviation from a WAF-SEC control requires:
-
Exception Request: Documented form with justification, risk assessment and time period
-
Risk Acceptance: Approval by Security Team and CISO
-
Compensating Controls: What replaces the missing control?
-
Review Date: Exception periods are maximum 90 days (then review or extension)
-
Audit Trail: Exception is documented in the repository (not in email)
# exceptions/WAF-SEC-020-exception-001.yml
exception_id: "EXC-WAF-SEC-020-001"
control: "WAF-SEC-020"
resource: "arn:aws:iam::123456789:role/legacy-batch-role"
reason: "Legacy system not yet migrated to least privilege. Migration planned Q2 2026."
risk_level: "medium"
approved_by: "CISO - Max Mustermann"
approved_date: "2025-12-01"
expiry_date: "2026-03-31"
compensating_controls:
- "CloudTrail alerting on usage of this role"
- "Manual quarterly review"
Security Reviews in the PR Process
Every change to security-relevant resources requires a security review in the pull request:
-
IAM policies: mandatory review by platform team or security team
-
Security group changes: review by platform team
-
KMS key policies: review by security team
-
New external integrations: review by security team
CODEOWNERS file in the infrastructure repository ensures that these reviews are automatically requested.
# CODEOWNERS
/modules/iam/ @platform-team @security-team
/modules/network/ @platform-team
/modules/kms/ @security-team
/modules/secrets/ @security-team
/.github/workflows/ @platform-team @security-team
Responsibility Matrix (RACI)
| Security Task | Platform Team | Dev Team | Security Team | Compliance |
|---|---|---|---|---|
Implement WAF++ controls (IaC) |
Responsible |
Responsible |
Consulted |
Informed |
Define security policies |
Consulted |
Informed |
Responsible |
Accountable |
Approve exceptions |
Consulted |
Requestor |
Responsible |
Accountable |
Escalate security incidents |
Informed |
Informed |
Responsible |
Informed |
Provide audit evidence |
Responsible |
Responsible |
Accountable |
Responsible |
Conduct penetration tests |
Informed |
Informed |
Accountable |
Informed |
Create compliance reports |
Consulted |
Consulted |
Consulted |
Responsible |