Security teams should treat encryption as a baseline control, not a later hardening task. The practical move is to turn it on during provisioning for object storage, databases, logs, and volumes, then verify legacy workloads separately. That approach avoids expensive retrofitting, reduces audit surprises, and makes compliance checks part of normal delivery rather than an emergency cleanup after production launch.
Why encryption belongs in the first provisioning step
Teams avoid rework when encryption is treated as part of the default build path, not an optional add-on after launch. The key operational question is whether the platform can create encrypted storage, databases, logs, and volumes by policy at provisioning time, so developers inherit a secure baseline instead of retrofitting controls later.
That matters because retroactive encryption usually collides with existing data layouts, backup routines, application assumptions, and migration windows. If those dependencies are discovered only after production is live, the team ends up planning change windows, testing rollback paths, and coordinating service owners under pressure rather than making one clean design decision up front.
Cloud-native development is especially sensitive to this because infrastructure is often created repeatedly through templates, pipelines, and declarative configuration. When encryption settings are embedded in those definitions, the control scales with the workload. When they are handled manually, the organisation tends to drift back toward inconsistent defaults and exception handling.
What has to be decided before the first workload ships
The practical choice is not just “encrypt or not”, but which encryption settings are part of the platform baseline and which require workload-specific handling. For example, object storage, managed databases, block volumes, and logging pipelines often support encryption differently, so teams need a clear default for each service class rather than a single vague policy.
Legacy workloads should be assessed separately because they may not tolerate immediate switching without data migration, application testing, or key-handling changes. That distinction prevents teams from forcing every system through the same implementation path and then treating failure as a tooling problem when the real issue is that the workload was not designed for a seamless transition.
A strong baseline also needs ownership. Platform teams usually define the provisioning standard, while application teams verify that their deployment manifests, secrets handling, and data flows do not bypass it. Without that split, encryption becomes a shared assumption and shared assumptions are where exceptions survive longest.
For teams building reusable cloud guardrails, a Secrets Management Buyer's Guide is useful because encryption defaults are only durable when the surrounding key and secret handling model is equally deliberate.
How to keep baseline encryption from becoming a later migration project
The cleanest approach is to make encryption a provisioning policy, then test it as part of delivery rather than as an after-the-fact audit check. That means infrastructure templates, policy-as-code, and pipeline checks should confirm that new resources are created with encryption already enabled, and that exceptions are visible and time-bounded.
Where sensitive data flows through APIs, build pipelines, or managed services, the encryption decision should be paired with key management and access controls. Encryption that exists only on paper is not useful if the wrong teams can turn it off, reuse the same keys too broadly, or deploy an unencrypted variant during troubleshooting.
Cloud teams that need a broader control catalog can map this pattern to NIST SP 800-53 Rev 5 Security and Privacy Controls, especially the families covering access control, audit, configuration management, and key-related protections. The value is not the label itself, but using it to make encryption a repeatable engineering control rather than a one-off compliance activity.
When the implementation reaches cryptographic key handling, NIST SP 800-57 Key Management helps teams separate the storage encryption decision from the lifecycle decisions around key generation, rotation, protection, and retirement.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST SP 800-53 Rev 5 and NIST SP 800-57 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | SC-28 — Protection of Information at Rest | Encryption at provisioning directly protects stored cloud data. |
| CM-6 — Configuration Settings | Baseline encryption depends on enforced secure default configurations. | |
| IA-5 — Authenticator Management | Cloud encryption often depends on careful key and secret lifecycle handling. | |
| Recommendation — Enable encryption for new storage, databases, and logs by default. Codify encrypted-by-default settings in deployment baselines. Manage encryption keys and related secrets with explicit lifecycle controls. | ||
| ISO/IEC 27001:2022 | A.8.24 — Use of cryptography | Cloud-native encryption-by-default is a direct cryptography control concern. |
| A.5.23 — Information security for use of cloud services | Cloud service provisioning needs secure baseline settings and accountability. | |
| Recommendation — Define cryptography requirements for cloud services at design time. Specify encrypted-by-default cloud service requirements in your cloud policy. | ||
| NIST SP 800-57 | Key Management | Baseline encryption only lasts if key lifecycle decisions are controlled. |
| Recommendation — Define key generation, rotation, storage, and retirement rules before rollout. | ||
Practitioner Guidance
What to prioritise: Put encryption defaults into the platform templates first, then verify that each service class, object storage, database, log sink, and volume type actually inherits those defaults. That sequence avoids the common mistake of writing a policy that never reaches the resource being created.
What to verify: Check both the happy path and the exception path. New workloads should launch encrypted automatically, while legacy workloads should have an explicit migration or exemption record with an owner, a time limit, and a plan for eventual closure.
Decision rule: If encryption can be enabled at provisioning without breaking the workload, make it mandatory. If enabling it changes application behaviour, treat the workload as a separate migration case and do not let it weaken the standard for new builds.
Practitioner takeaway: The goal is not to encrypt everything at once, but to make “encrypted by default” the normal delivery state so security is built into the first deployment instead of discovered during cleanup.
Related resources from NHI Mgmt Group
- How should security teams design centralized logging for cloud-native environments without creating operational lock-in?
- How should security teams consolidate cloud native scanning across code, build, and runtime without creating more developer friction?
- How should security teams implement cloud IAM without creating new privilege sprawl?
- How should security teams govern agent-native payments without creating new shadow access paths?
Deepen Your Knowledge
Reviewed and updated by the NHIMG editorial team on September 27, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org