A secret is sensitive information such as a password, token, cryptographic key, private key, or certificate whose disclosure could enable unauthorized access. Infrastructure as code should receive secrets as variables and use them in memory, rather than hardcoding or committing them in plaintext. section 2.3.6 section 2.4
Protect secrets through these operational practices:
- Store and manage credentials and certificates in a secrets manager separate from infrastructure configuration. section 2.3.6
- Pass secrets into infrastructure code as variables, and update the secrets manager when certificates or credentials change. section 2.3.6
- Limit provider credentials and prevent passwords from appearing in delivery-pipeline logs to reduce the attack surface. section 8.1
Figure 2.10 Retrieve sensitive information from a secrets manager to change resources with an infrastructure provider.
Separates certificate management from infrastructure configuration while allowing infrastructure code to retrieve current sensitive values. section 2.3.6




