← Pulumi / pulumi / tutorial
Správa tajných klíčů pomocí Pulumi ESC
V tomto tutoriálu získáte podrobný návod, jak používat Pulumi ESC (Environments, Secrets, and Configuration), což je zabezpečené a robustní řešení pro správu tajných klíčů.
Tento návod vás provede vývojem s Wrangler při dodržování osvědčených bezpečnostních postupů.
Konkrétně se naučíte, jak spravovat své CLOUDFLARE_API_TOKEN pro přihlášení k účtu Cloudflare, předání tajných hodnot uložených v ESC do Workers a programové načtení .dev.vars .
Než začnete
Ujistěte se, že máte:
- Účet Cloudflare. Zaregistrujte si účet Cloudflare ↗.
- Účet Pulumi Cloud. Zaregistrujte se do Pulumi Cloud ↗.
- Pulumi ESC CLI ↗ nainstalovaný.
- Projekt Wrangler. Chcete-li ho vytvořit, postupujte podle Krok Vytvoření nového projektu Workeru.
1. Nastavení nového Environment
A Pulumi ESC Environment ↗, neboli Environment, je soubor YAML obsahující konfigurace a tajné hodnoty pro vaši aplikaci a infrastrukturu. Lze k nim přistupovat několika způsoby, včetně příkazů shellu. Všechna prostředí ESC jsou uložena ve vašem účtu Pulumi Cloud.
a. Přihlaste se do Pulumi Cloud
K přihlášení do účtu Pulumi Cloud použijte Pulumi ESC CLI.
esc loginLogged in to pulumi.com as ....b. Vytvořte nový Environment
ESC_ENV=wrangler/my-dev-environment
esc env init $ESC_ENVEnvironment created.2. Přihlášení ke Cloudflare
Nyní, když je Environment Pulumi ESC vytvořen, můžete jej využívat různými způsoby. Můžete se například přihlásit ke svému účtu Cloudflare, aniž byste museli přihlašovací údaje předem definovat ve svém shellu.
a. Přidejte své přihlašovací údaje
Externím a bezpečným uložením vašich CLOUDFLARE_API_TOKEN, můžete řídit přístup a provádět rotaci hodnoty tokenu. Spustíme wrangler v neinteraktivním režimu, který vyžaduje:
Nahraďte zástupný symbol 123abc vašimi odpovídajícími hodnotami:
esc env set $ESC_ENV environmentVariables.CLOUDFLARE_ACCOUNT_ID 123abc
esc env set $ESC_ENV environmentVariables.CLOUDFLARE_API_TOKEN 123abc --secretb. Odhlaste se
Ujistěte se, že nejste aktuálně přihlášeni ke svému účtu Cloudflare.
npx wrangler logoutNot logged in, exiting...c. Přihlaste se
Předejte přihlašovací údaje Cloudflare uložené v ESC do Wrangleru.
esc run ${ESC_ENV} npx wrangler whoamiGetting User settings...
👋 You are logged in with an API Token.Když použijete esc run příkaz otevře Environment, nastaví do dočasného prostředí zadané proměnné Environment a poté je použije v kontextu wrangler příkazu. To je užitečné zejména při spouštění wrangler příkazů v prostředí CI/CD, ale chcete se vyhnout přímému ukládání přihlašovacích údajů v pipeline.
3. Přidání tajných hodnot Worker
Pulumi ESC centralizuje tajné klíče a Wrangler je pak může předávat Workerům a dalším prostředkům Cloudflare. Použijete wrangler secret put příkaz pro tento účel.
a. Přidejte tajný klíč
esc env set ${ESC_ENV} environmentVariables.TOP_SECRET "aliens are real" --secretb. Předejte tajný klíč svému Workeru
esc run -i ${ESC_ENV} -- sh -c 'echo "$TOP_SECRET" | npx wrangler secret put TOP_SECRET'Použitím externího řešení pro správu tajných klíčů lze běžně používané tajné klíče Workeru uložit do jednoho sdíleného Environmentu, ke kterému mají přístup příslušné Workery. Můžete použít příkazy shellu s esc pro začlenění skriptování a jejich integraci do deployment pipeline nebo make příkazů. Použijte esc [command] --help pro další informace o různých příkazech dostupných v CLI.
4. Načtení .dev.vars
V tomto kroku nakonfigurujete Environment pro načtení vašich .dev.vars soubor programově.
S vyhrazeným prostředím ESC Environment pro uložení všech .dev.vars tajné hodnoty můžete použít dotenv příznak export.
a. Vytvořte Environment
E=wrangler/my-devvars
esc env init $EEnvironment created.b. Přidejte tajný klíč
esc env set $E environmentVariables.TOP_SECRET "the moon is made of cheese" --secretc. Vygenerujte .dev.vars soubor
esc env open ${E} --format dotenv > .dev.varsJako .dev.vars soubory často obsahují tajné hodnoty, a proto by neměly být ukládány do systému správy verzí. Uchováváním těchto tajných hodnot mimo repozitář zajistíte, že je bez ztráty načtete i do nového vývojového prostředí.
Další kroky
Nakonfigurovali jste prostředí Pulumi ESC pro načítání tajných klíčů pro příkazy Wrangler, což zvyšuje bezpečnost při vývoji s Wrangler. Externalizované tajné klíče jsou nyní znovu použitelné napříč Workers. Zjistěte více o funkcích a integracích Pulumi ESC ↗ nebo postupujte podle Nasazení Workeru pomocí Pulumi tutoriál.