Credential rotation
Rotation is a staged change with explicit prepare, verify, cutover, revoke, and rollback points. Never put a secret value in source control, image layers, Terraform variables, command arguments, logs, qualification evidence, or support tickets. Use the target secret manager and retain only key identifiers, versions, timestamps, and verification results.
Manifest authentication key
Manifest proofs persist a refined key ID. The verifier supports one active signing key plus previous verification-only keys.
- Generate a 32 through 64 byte key inside the approved secret workflow.
- Add the new key and identifier as
GRAVITON_MANIFEST_INTEGRITY_KEY_IDandGRAVITON_MANIFEST_INTEGRITY_HMAC_KEY_BASE64. - Move the former key into
GRAVITON_MANIFEST_INTEGRITY_PREVIOUS_KEYS_BASE64asold-id:base64. - Replace one node. Prove old manifests read and a new upload records the new key ID.
- Complete node replacement. Run byte-exact lifecycle, verification, backup, and isolated restore checks.
- Keep the old verifier until no reachable manifest uses it. Inventory by key ID must be part of the operator record.
- Remove the old verifier, replace nodes, and repeat the read and restore gates.
Rollback restores the former key as active while retaining the new key as previous. Never reuse an identifier for different key bytes.
OIDC and JWKS
The identity provider owns signing-key generation and JWKS publication.
- Publish the new public JWK while the old key remains present.
- Wait at least the configured JWKS cache TTL and issuer propagation interval.
- Verify a new-key token, an old-key token, wrong issuer, wrong audience, expiry, and capability denial through the real ingress.
- Make the new key active at the identity provider.
- Observe authentication failure rate and cache refresh behavior for one full maximum token lifetime.
- Remove the old public key only after every old token is expired or revoked.
Rollback republishes the old public key and restores old-key signing. Graviton does not store private OIDC signing material.
PostgreSQL runtime role
Use a second login role or password version so old and new credentials overlap.
- Create the replacement credential with the exact constrained runtime grants. It must remain
NOSUPERUSER NOCREATEDB NOCREATEROLE NOREPLICATION NOBYPASSRLS. - Verify schema access, tenant-policy read-only access, RLS isolation, append-only audit permissions, snapshot maintenance, and denied control-plane writes.
- Put the new credential in Secrets Manager and replace one task.
- Observe pool acquisition, transaction errors, and readiness. Complete task replacement.
- Revoke the old login or password and prove no active task reconnects with it.
Rollback restores the old secret version while its login remains valid. Do not revoke it before the replacement cohort is healthy.
Redis or Valkey AUTH and ACL
Traffic quotas and distributed transfer leases fail closed when their coordinator is unavailable.
- Create a second ACL user or provider-supported dual password with only the required command and key-prefix access.
- Update Secrets Manager, replace one node, and verify transfer admission plus HTTP request and delivered-egress quota charges.
- Exercise one coordinator failover while both credentials are valid.
- Complete task replacement, then revoke the old credential.
- Confirm lease counts drain, quota counters remain, and no authentication errors appear.
Rollback restores the prior secret while the old credential remains valid. A provider that cannot overlap credentials requires a planned write drain.
AWS task identity, S3, and KMS
Prefer ECS task roles and short-lived AWS credentials over static access keys.
- Add the replacement IAM policy or KMS grant without removing the current one.
- Use policy simulation and a canary task to prove exact bucket prefixes, multipart staging cleanup, conditional block creation, quarantine inventory, restore, and KMS decrypt/encrypt.
- Replace tasks and verify S3 call duration, failures, retries, and readiness.
- Remove the old role policy or grant after all old tasks have stopped.
For a KMS key rotation that changes key identity, copy or rewrite provider objects only through a separately qualified, resumable migration. AWS managed annual key-material rotation does not change the KMS key ARN and does not require rewriting objects.
Required evidence
Retain the cell, image digest, secret version identifiers, public key IDs, start and completion times, node replacement order, readiness results, byte-exact lifecycle result, failure and retry metrics, backup identifier, isolated restore result, rollback decision, and revocation confirmation. Never retain secret bytes.