APIキーを安全に共有する
使用後に消える暗号化リンクで、開発者にAPIキーを安全に渡そう。
問題
SlackチャンネルやメールスレッドにペーストされたAPIキーは、そのチャンネルの全メンバーに見え、検索にインデックスされ、ログに永続する。漏洩したAPIキーは、本番サービスやデータベース、課金アカウントへのフルアクセスを与えることがある――監査証跡すら残らないことも多い。
Vaulted のサポート内容
Vaultedを使えば、APIキーは送信前にブラウザ上でAES-256-GCMによって暗号化される。リンクは設定した閲覧回数に達すると期限切れとなり、古いメッセージにキーが残り続けるリスクを排除する。ゼロ知識アーキテクチャにより、Vaulted自身もそのキーを読み取ることができない。
手順
- APIキーをVaultedに貼り付ける
- 閲覧回数の上限を選ぶ(例:1人の受信者なら1回)
- 必要としている開発者にリンクを共有する
- 開発者がリンクを開いてキーをコピーし、リンクは期限切れとなる
コマンドラインからAPIキーを共有する
ブラウザを開かずにVaulted CLIでAPIキーを共有できる: npx vaulted-cli "sk_live_abc123" --views 1 --expires 1h。さらにセキュリティを高めるにはパスフレーズを追加できる: npx vaulted-cli "sk_live_abc123" -v 1 -p mypassphrase。グローバルインストールは npm install -g vaulted-cli。
GitHub ActionsでAPIキーを共有する
Vaulted GitHub ActionでCI/CDワークフロー内のAPIキーを共有できる: uses: vaulted-fyi/share-secret@v1 でsecretにAPIキーを設定する。このActionはクライアントサイドで暗号化し、自己消滅リンクを出力する。GitHub Marketplaceで公開中。