Filters
How to search
  • Plain words find names, texts and examples.
  • "two words" finds the exact phrase.
  • --name or -x finds an option.
  • #word looks only inside commands.
  • @grep finds lessons and labs that use grep.
  • Filters: cat:network · in:labs · in:notes · level:rhcsa · ch:8 · root:yes. Put ! before a word to leave it out. OR between words means one of them.
  • ↑ ↓ to move · Enter to open · Esc to close · / to search

DevSecOps & cloud securityDevSecOps series

Secret management architecture, drawn

A static cloud key in a CI variable is a password with no expiry. Secret management replaces it with three tiers and a credential that dies on time.

Quick reference

  • Apps: Application (APP) · CI job (CI)
  • Vault: Secret store (VAULT) · Dynamic credentials (DYN)
  • Cloud: KMS (KMS) · Target service (TGT)

Request flow: Application → Secret store → Dynamic credentials → Target service; Secret store → KMS; Application → Target service; CI job → Secret store

Explained

Apps

The first tier is the caller. The application authenticates to the secret store with its workload identity, not with a root token in a config file. The CI job proves which repository and branch it is through OIDC, and gets a short-lived token back.

Vault

The second tier is the store and the credentials it mints. The store keeps static values encrypted and audits every read. Dynamic credentials are generated on request: a database user with a TTL, an IAM session, an SSH certificate. When the lease expires the credential stops working, whether or not the job cleaned up.

Cloud

The third tier is where the secret is used. KMS wraps the root key, so that key never sits in the store's memory. The target service accepts the short-lived credential and enforces its own authorisation. The application still connects to the target, but never owns a long-lived password.

The arrows carry the design. Both callers point at the store, the store points at dynamic credentials and KMS, the credentials point at the target, and the application's arrow carries the borrowed credential.

The honest caveat: a short TTL limits the damage after a leak, but not a compromised workload asking for a credential while its identity is valid. Scope the role, not just the clock.

The lesson: not a bigger vault, but a credential that expires before an attacker uses it.

In one line

Borrow the key, never store it. A credential that expires is worth more than a vault that grows.

Check a lease

vault read database/creds/app

More notes: DevSecOps & cloud security

Open in the notes app: search, filters, copy This note on GitHub