← Cloudflare Workers / workers / wrangler
Profily ověřování
Wrangler se vždy autentizuje jako jeden uživatel. Profil je pojmenované přihlášení OAuth, které omezíte na vybranou sadu účtů a můžete jej svázat s adresářem.
Pomocí profilů přepínejte mezi účty pro různé projekty, aniž byste museli znovu spouštět wrangler login. Profily se nachází v wrangler auth.
Kdy použít profily
Profily použijte, když na stejném počítači pracujete s více než jedním účtem Cloudflare:
- Agenturní a klientská práce : udržujte samostatné přihlášení pro každý účet klienta a přiřaďte ho k adresáři projektu daného klienta. Příkazy spuštěné v jednotlivých adresářích pak automaticky použijí odpovídající profil.
- Prostředí oddělená podle účtu : udržujte staging a produkci v různých účtech a ke každému z nich přiřaďte profil. Spárujte profil s
account_idve vašem Konfigurační soubor Wrangler aby příkaz nemohl zasáhnout nesprávný účet.
Jak fungují profily
Profil spojuje dvě věci:
- Přihlášení vytvořené pomocí OAuth. Během OAuth flow zvolíte, ke kterým účtům bude mít profil přístup. Jeden profil může obsahovat přístup k několika účtům, které patří vašemu uživateli.
- Binding adresáře. Když aktivujete profil v adresáři, daný adresář a jeho podadresáře tento profil používají.
Pořadí řešení
Pro každý příkaz Wrangler vybere profil v tomto pořadí, od nejvyšší priority:
-
CLOUDFLARE_API_TOKENproměnná prostředí. Pokud je nastavena, přepíše všechny profily. -
--profilepříznak, který se vztahuje pouze na jedno spuštění příkazu. - Nejbližší aktivovaný nadřazený adresář. Wrangler jej určuje z adresáře obsahujícího konfigurační soubor, pokud zadáte
--config, jinak z pracovního adresáře. - Výchozí profil, spravovaný
wrangler loginawrangler logout.
Výběr účtu
V rámci vyřešeného profilu Wrangler vybírá cílový účet v tomto pořadí:
-
account_idve vašem Konfigurační soubor Wrangler, neboCLOUDFLARE_ACCOUNT_IDproměnná prostředí. - V opačném případě účet vybraný pro daný profil při přihlášení.
Pokud příkaz cílí na účet, ke kterému aktivní profil nemá přístup, Wrangler selže s chybou, která uvádí název účtu i profilu. Wrangler se nepřepne na jiný účet.
Vytvořte profil
Spustit wrangler auth create názvem. Wrangler spustí OAuth proces, ve kterém zvolíte, ke kterým účtům bude mít profil přístup.
wrangler auth create workSpusťte příkaz znovu se stejným názvem, abyste znovu ověřili existující profil, například poté, co vyprší platnost jeho tokenu.
Aktivace profilu v adresáři
Spustit wrangler auth activate pro navázání profilu na adresář. Vazba platí pro tento adresář a jeho podadresáře. Výchozím adresářem je aktuální pracovní adresář.
wrangler auth activate work ~/projects/workPodadresář může přepsat profil svázaný s adresářem nad ním tím, že aktivuje jiný profil.
Práce napříč více účty klientů
Tento příklad nastavuje jeden profil pro každého klienta v rámci agenturní práce.
-
Vytvořte profil pro prvního klienta. Během OAuth flow zvolte účty, ke kterým bude mít tento profil přístup.
wrangler auth create client-a -
Přiřaďte profil k adresáři projektu klienta.
wrangler auth activate client-a ~/clients/client-a -
Zopakujte totéž pro druhého klienta.
wrangler auth create client-b wrangler auth activate client-b ~/clients/client-b
Příkazy se spouštějí v ~/clients/client-a nyní používá client-a profilu a příkazy v ~/clients/client-b použijte client-b profilu. Mezi nimi není nutné se znovu přihlašovat.
Oddělené účty pro staging a produkci
Pokud se staging a produkce nachází v různých účtech, přiřaďte ke každému adresáři prostředí profil a účet ukotvěte v konfiguraci každého projektu. account_id funguje jako pojistka, takže příkaz nemůže nasadit do nesprávného účtu, ani když má profil přístup k oběma.
-
Vytvořte a aktivujte profil pro každé prostředí.
wrangler auth create staging wrangler auth activate staging ~/projects/staging wrangler auth create production wrangler auth activate production ~/projects/production -
Nastavte odpovídající
account_idv každém projektu v Konfigurační soubor Wrangler.{ "$schema": "./node_modules/wrangler/config-schema.json", "name": "my-worker", "account_id": "<PRODUCTION_ACCOUNT_ID>" }name = "my-worker" account_id = "<PRODUCTION_ACCOUNT_ID>"
Přepnutí profilů pro jediný příkaz
Použijte --profile příznak pro spuštění jednoho příkazu s konkrétním profilem, aniž by se změnila vazba adresáře.
wrangler deploy --profile staging --profile příznak není podporován auth, login, logout, a whoami příkazy.
Vypsat profily
Spustit wrangler auth list pro zobrazení všech profilů a k nim přiřazených adresářů.
wrangler auth listOdebrat vazbu nebo profil
Chcete-li zabránit tomu, aby adresář používal profil, spusťte wrangler auth deactivate v tomto adresáři. Adresář se vrátí k profilu svázanému nad ním, nebo k výchozímu profilu.
wrangler auth deactivate ~/projects/stagingChcete-li odebrat profil a všechny jeho vazby na adresáře, spusťte wrangler auth delete.
wrangler auth delete stagingProfily a proměnné prostředí
Profily jsou pohodlnou funkcí pro lokální počítač. Neplatí v CI, kontejnerech ani v jiných automatizovaných prostředích, která se ověřují pro každé prostředí zvlášť pomocí CLOUDFLARE_API_TOKEN. Další informace najdete v Spouštění Wrangler v CI/CD.
Pokud jsou přítomny proměnné prostředí, platí dvě pravidla:
- Když
CLOUDFLARE_API_TOKENje nastaveno, Wrangler jej použije místo jakéhokoli profilu. Dokud je nastaveno, nelze profily vytvářet, aktivovat, deaktivovat ani mazat. CLOUDFLARE_ACCOUNT_IDaaccount_idve vašem konfiguračním souboru Wrangler se respektují vždy, a to i v rámci aktivního profilu.