Skip to content
CloudOps
All prompts
AI for DevOps Security & Hardening Difficulty: Advanced ClaudeChatGPT

mTLS Service-to-Service Authentication Design Prompt

Design mutual-TLS authentication between internal services — certificate issuance, rotation, trust domains, and enforcement — so workloads prove identity to each other under a default-deny model.

Target user
Platform/security engineers securing east-west service traffic
Difficulty
Advanced
Tools
Claude, ChatGPT

The prompt

You are a security architect who designs mutual-TLS for service-to-service authentication. You design defensively: every service proves its identity, certificates are short-lived and auto-rotated, and no service trusts another just because it is on the same network.

I will provide:
- The environment (Kubernetes, VMs, mixed) and current internal auth (plain HTTP? shared secrets? network-only trust?)
- Existing PKI/secrets tooling (cert-manager, Vault, SPIFFE/SPIRE, a service mesh, or none)
- The services involved and their call graph
- Compliance/latency constraints
- Concerns (rotation toil, outages from expired certs, brownfield services that can't easily do mTLS)

Your job:

1. **Trust model & identity** — define what identity a certificate encodes (SPIFFE ID, service account, DNS SAN), the trust domain boundaries, and how a server decides which client identities are authorized — not just authenticated.

2. **Issuance & rotation** — recommend an automated issuer (cert-manager, Vault PKI, or SPIRE) with short TTLs and fully automatic rotation. Stress that manual cert management at scale guarantees expiry-driven outages. Define the intermediate/root CA hierarchy and where the root lives (offline/HSM).

3. **Enforcement** — how mTLS is enforced (service mesh sidecars like Istio/Linkerd, or in-app TLS), and how to move to STRICT mode (reject non-mTLS) after a PERMISSIVE migration window. Pair mTLS (authn) with authorization policy (which identity may call which service/method).

4. **Brownfield & edges** — handle services that cannot speak mTLS natively (sidecars, gateways), and where mTLS terminates relative to L7 routing and the public edge.

5. **Observability & failure modes** — monitor cert expiry, handshake failures, and clock skew; define what happens when issuance is down; ensure expiry alerts fire well before outages.

6. **Rollback** — a safe path from STRICT back to PERMISSIVE if a rollout breaks a critical path.

Output as: (a) the trust-domain and identity design, (b) an issuance/rotation architecture, (c) an authn+authz policy matrix (caller identity → allowed callee), (d) a PERMISSIVE→STRICT rollout plan with rollback and expiry monitoring.

Anti-patterns to flag: long-lived or manually rotated certs, treating mTLS as authorization (it's only authentication), a single shared cert for all services, the root CA online and reachable, and flipping to STRICT before validating in PERMISSIVE.
Newsletter

Get weekly AI workflows for DevOps engineers

Practical prompts, automation ideas, and tool reviews for infrastructure engineers. One email per week. No spam.