Wrangler の認証情報、OS キーチェーンにしまえるようになったよ!
やっほー、しぃちゃんだよ!今日はみんなの Wrangler がちょっと安全になる、うれしいセキュリティのアップデートを見つけてきたよ。
Cloudflare Changelogなにが発表されたの?
これは Cloudflare の Changelog からのお知らせ。Wrangler が OAuth の認証情報を、これまでの平文ファイルじゃなくて AES-256-GCM で暗号化して、その暗号鍵を OS のネイティブなキーチェーンに預けられるようになったの。
今までどうだったの?
今までは wrangler login すると、OAuth のトークンがそのまま平文のファイルとしてローカルに保存されてたの。手軽ではあるんだけど、もし誰かにそのファイルを覗かれちゃったら…ってちょっと心配だったよね。
これで何が変わるの?
ログインのときに --use-keyring を付けるだけ。この設定はセッションをまたいでちゃんと覚えててくれるよ。
npx wrangler login --use-keyring
やめたいときは --no-use-keyring を付けてログインし直せば OK。一時的に切り替えたいだけなら、環境変数 CLOUDFLARE_AUTH_USE_KEYRING で上書きもできるの。
深く潜ってみよう
暗号化の方式は AES-256-GCM。認証情報そのものは暗号化ファイルに入れておいて、それを開くための鍵だけを OS ネイティブの保管庫に置く、っていう二段構えになってるの。
今どこにどう保存されてるかは wrangler whoami で確認できるよ。こんなふうに表示されるの。
Credentials are stored in: Encrypted file (~/.config/.wrangler/config/default.enc) with key in macOS Keychain (service=wrangler, account=default)
OS ごとの中身はこんな感じ。
- macOS:
/usr/bin/security経由でネイティブ Keychain を使うよ - Linux: libsecret を
secret-toolCLI 経由で使うよ(libsecret-toolsパッケージが必要なの) - Windows: @napi-rs/keyring 経由で Credential Manager を使うよ(初回に自動でインストールされるの)
もっと詳しい使い方は OS キーチェーンに OAuth 認証情報を保存する のドキュメントを見てね。
まとめ
- Wrangler の OAuth 認証情報を AES-256-GCM で暗号化して、その鍵を OS のキーチェーンに保存できるようになったよ
- 有効化は
npx wrangler login --use-keyringだけ。CLOUDFLARE_AUTH_USE_KEYRINGでも切り替えられるの - macOS / Linux / Windows それぞれのネイティブ保管庫に対応してるよ
- ローカルに平文トークンを置きたくない開発者にうれしい、小さいけど地に足のついた安全アップデートだね