Encryption
Encrypting data both at rest and in transit is essential for Kubernetes storage security. Important areas to focus on:- etcd encryption for control-plane data (secrets and other sensitive API objects).
- Disk-level or volume encryption for persistent volumes (PVs).
- TLS for data in transit between clients, CSI drivers, and storage backends.

- Modern clusters use CSI drivers (e.g.,
ebs.csi.aws.com). Older in-tree provisioners likekubernetes.io/aws-ebsmay still exist but are deprecated. - Different volume types (gp2 vs gp3, io1/io2) have different performance/encryption parameters — gp3 exposes explicit
iopsandthroughput, while gp2 ties IOPS to volume size.
Encryption at rest for control plane data (etcd) uses Kubernetes EncryptionConfiguration; for persistent volumes, use provider-specific encryption (StorageClass parameters or disk-level encryption). Always verify the provider and CSI driver you use and the parameters they accept.
Access controls
Restrict who can create, modify, or read storage resources. Kubernetes RBAC controls access to objects such as PVCs and PVs. Apply the principle of least privilege: give only the verbs and resource scope required (namespace vs cluster). Example Role and RoleBinding that grant read-only access to PVCs in thedefault namespace:
- Bind Roles to service accounts used by applications rather than broad user accounts.
- Use Groups for team-level permissions.
- Review and audit bindings periodically.
Avoid granting cluster-wide storage permissions unless strictly necessary. Misconfigured cluster roles can allow volume mounts across namespaces or access to sensitive PVs.
StorageClasses and policy
StorageClasses let you standardize provisioning behavior and enforce storage-level security and performance policies across the cluster. Parameters and annotations in a StorageClass can express:- Encryption at rest (
encrypted: "true") or use of a customer-managed key (CMK). - Performance settings (IOPS, throughput, volume type).
- Reclaim policy and mount options.
- CSI driver-specific features such as replication, snapshot support, or topology constraints.
- Ensure every dynamically provisioned volume uses encryption by default.
- Separate classes for high-performance and archival workloads.
- Use annotations to integrate with backup or retention automation.
Backup and disaster recovery
Backups are critical for protecting against deletion, corruption, ransomware, and provider failures. Use Kubernetes-aware backup tools that integrate with PV snapshots, object storage, and cluster metadata. Common tools:
- Encrypt backup data at rest and in transit.
- Store backups in a separate account or region to reduce blast radius from account compromise.
- Automate snapshot schedules and lifecycle (retention, pruning).
- Regularly test restore procedures (scheduled restore drills).
Monitoring and alerting
Monitoring storage health and access patterns helps detect misconfiguration, performance degradation, or suspicious activity. Collect metrics and logs:- PV/PVC capacity and usage growth.
- I/O throughput and latency per volume or CSI driver.
- Error rates and failed attach/mount events.
- CSI driver logs and cloud provider events.

- PVC usage > 80% or rapid growth over short period.
- Sustained increase in I/O latency or error rate.
- Unexpected mounts of PVs in different namespaces.
- Failed snapshot or backup job runs.
Summary
Secure storage in Kubernetes depends on multiple, reinforcing controls:- Encrypt control-plane data (etcd) using EncryptionConfiguration and encrypt persistent volumes using provider/CSI features.
- Define StorageClasses that enforce encryption, performance, snapshot, and topology policies consistently.
- Use RBAC to limit who can manage or mount PVs/PVCs; prefer service-account and group bindings with least privilege.
- Implement automated backups and DR workflows (Velero, Kasten, Portworx, OpenEBS) and test restores regularly.
- Monitor storage metrics and logs with Prometheus + Grafana and set alerting for capacity, latency, and unusual access patterns.

- PersistentVolumes (PVs) and PersistentVolumeClaims (PVCs)
- Encryption at rest and in transit for storage
- StorageClass parameters and provisioning (provider/CSI specifics)
- Role-Based Access Control for storage resources
- Backup and disaster recovery tools and best practices
- Monitoring storage metrics and alerting
- Kubernetes storage concepts
- AWS EBS
- Azure Disk Storage
- Google Cloud Persistent Disk
- Velero
- Prometheus
- Grafana