TL;DR: Das Secrets-Management in Workers folgt einem mehrschichtigen Ansatz: lokale
.dev.varsfür die Entwicklung,wrangler secretfür die Produktion und typisierte Umgebungsvariablen für den Zugriff. Dieser Leitfaden behandelt den Lebenszyklus von Secrets, Rotationsstrategien und Best Practices für die Sicherheit.
Einführung
Jede SaaS-Anwendung verwendet Secrets: API-Schlüssel, Datenbank-Anmeldeinformationen, Verschlüsselungscodes. Geleakte Secrets gehören zu den häufigsten Sicherheitslücken. Workers bietet ein unkompliziertes System zum Secrets-Management. Für einen umfassenden Überblick über die Absicherung Ihrer SaaS finden Sie weitere Informationen in unserem Leitfaden SaaS Security Best Practices.
Schichten des Secrets-Managements
| Schicht | Lokale Entwicklung | Staging | Produktion |
|---|---|---|---|
| Speicherung | .dev.vars | wrangler secret put | Cloudflare Dashboard |
| Zugriff | Dateisystem | CLI | Dashboard UI |
| Rotation | Manuell | wrangler secret put | Dashboard |
| Audit | Keine | CLI-Verlauf | Dashboard-Audit-Protokoll |
Einrichten von Secrets
# Lokale Entwicklung
echo "STRIPE_SECRET_KEY=sk_test_xxx" >> .dev.vars
# Produktion
wrangler secret put STRIPE_SECRET_KEY
# Fragt sicher nach dem Wert
# Mehrere Secrets aus .env
wrangler secret bulk .env.production
Typsicherer Zugriff auf Secrets
export const processPaymentFn = createServerFn({ method: 'POST' })
.handler(async ({ context }) => {
const stripeKey = context.env.STRIPE_SECRET_KEY as string
const stripe = new Stripe(stripeKey)
// Zahlung verarbeiten...
})
Best Practices
- Programmieren Sie Secrets niemals fest in den Quellcode ein
- Verwenden Sie
.dev.vars(von git ignoriert) für die lokale Entwicklung - Rotieren Sie Secrets alle 90 Tage
- Verwenden Sie unterschiedliche Secrets je nach Umgebung
- Überprüfen Sie den Zugriff auf Secrets regelmäßig
- Protokollieren Sie niemals die Werte von Secrets
Fazit
Das Secrets-Management in Workers ist einfach, aber effektiv. Verwenden Sie wrangler secret für die Produktion, .dev.vars für die Entwicklung und behandeln Sie alle Secrets als typisierte Umgebungsvariablen in Ihren Serverfunktionen. Für einen tieferen Einblick in die Konfiguration von Umgebungsvariablen in TanStack Start lesen Sie unseren Environment Variables Guide. Und für ein Secrets-Management auf Enterprise-Niveau siehe Secrets Management with Vault.