π Security and Compliance
Security is a foundational concern for platform engineering teams. This guide covers DevSecOps practices, policy-as-code, and security automation.
π― DevSecOps Principles
DevSecOps integrates security practices into every phase of the software development lifecycle:
βββββββββββ βββββββββββ βββββββββββ βββββββββββ βββββββββββ
β Plan βββββΆβ Code βββββΆβ Build βββββΆβ Test βββββΆβ Deploy β
ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ
β β β β β
ββββββΌβββββ ββββββΌβββββ ββββββΌβββββ ββββββΌβββββ ββββββΌβββββ
β Threat β β SAST β β SCA β β DAST β β Runtime β
βModeling β β β β β β β βSecurity β
βββββββββββ βββββββββββ βββββββββββ βββββββββββ βββββββββββ
Dependency Scanning (SCA)
Tool
Description
Link
Dependabot
GitHub-native dependency updates
github.com
Snyk
Vulnerability scanning
snyk.io
Trivy
Container and filesystem scanning
trivy.dev
OWASP Dependency-Check
Known vulnerability detection
owasp.org
π Security Best Practices
1. Zero Trust Architecture
Never trust, always verify. Apply these principles:
Verify explicitly : Authenticate and authorize based on all available data
Least privilege access : Limit user and service permissions
Assume breach : Minimize blast radius and segment access
Integrate security early in the development process:
# GitHub Actions example: Security scanning on every PR
name : Security Scan
on : [pull_request]
jobs :
security :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v4
- name : Run Trivy vulnerability scanner
uses : aquasecurity/trivy-action@master
with :
scan-type : ' fs'
severity : ' HIGH,CRITICAL'
- name : Run Semgrep
uses : returntocorp/semgrep-action@v1
3. Infrastructure Security
# Terraform: Enforce encryption at rest
resource "azurerm_storage_account" "example" {
name = " storageaccount"
resource_group_name = azurerm_resource_group. example . name
location = azurerm_resource_group. example . location
account_tier = " Standard"
account_replication_type = " GRS"
# Security best practices
min_tls_version = " TLS1_2"
enable_https_traffic_only = true
allow_nested_items_to_be_public = false
blob_properties {
delete_retention_policy {
days = 7
}
}
}
# Pod Security: Non-root, read-only filesystem
apiVersion : v1
kind : Pod
metadata :
name : secure-pod
spec :
securityContext :
runAsNonRoot : true
runAsUser : 1000
fsGroup : 1000
containers :
- name : app
image : myapp:latest
securityContext :
allowPrivilegeEscalation : false
readOnlyRootFilesystem : true
capabilities :
drop :
- ALL
π Compliance Frameworks
Framework
Focus Area
SOC 2
Service organization controls
ISO 27001
Information security management
PCI DSS
Payment card industry
HIPAA
Healthcare data protection
GDPR
EU data protection
FedRAMP
US federal cloud security