LocalKeys - `.env` を置き換えるためのローカルシークレット管理ツール
(localkeys.privatestater.com)作った理由
-
管理の難しさ
通常、.envファイルはプロジェクトごとに置かれますが、プロジェクト数が増えるほど管理が難しくなります。(1つのキーを変更すると、残りもすべて探して変更しなければならない、といった問題が発生します) -
セキュリティの問題
秘密鍵は隠されているだけの状態で保存されているため、誤ってコミットしたり、圧縮ファイルに含めてしまったりといったユーザーのミスによって漏えいする可能性があり、極端にはウイルスのような悪意あるプログラムに奪取されることもあります。
主な機能
まずローカルベースで、AES256 により暗号化され、~/.localkeys に安全に保管されます。
これがメイン機能だと思うのですが、別のプロセスがシークレットを使おうとすると、ユーザーに承認を求めるウィンドウが表示され、承認することも拒否することもできます。
拒否すると、そのプログラムは拒否されたシークレットにアクセスできなくなります。
npm start のようなコマンドも localkeys run --project-myapp -- npm start の形で実行して、そのまま使えます。
このコマンドは、今開発されているものを実際に使ってみると少し長い気がするので、--project の部分は不要になるよう変更する予定です。
最後に、.env ファイルにあったものを localkeys に移して既存ファイルを削除するだけで、セットアップは完了です。
(既存の作業環境をできるだけ変えなくて済むように作りました。)
リリース
まだ正式リリースはしていませんが、まずはメーリングリストの登録を受け付けています。
正式リリースは1〜2か月後くらいになりそうで、その前にも無料のアーリーアクセスでフィードバックを受ける予定です.
8件のコメント
https://varlock.dev と比べた場合、どのような利点がありますか?
varlock は、検証や型管理のための
dotenvの上位互換のような位置づけで、localkeys はdotenvを置き換え、暗号化された空間にのみ保存するというセキュリティ寄りのツールです。そのため、似たカテゴリではありますが、アプローチの異なるツールだと考えていただけるとよいと思います。
localkeys の varlock に対する利点としては、シークレットが暗号化されて保存されることと、基本機能の段階でもユーザーの承認がなければ他のプロセスがシークレットを利用できない点があると思います。
ああ……むしろ 1Password のようなものと比較すべきなんですね
show に適した投稿ではないように感じます。
「ユーザーが実際に試せる状態でないなら、まだ投稿しないでください。他の人が使える準備ができたときに投稿してください。ランディングページを載せる目的で使わないでください。」
現時点では単にメーリングリストを受け付けているだけなのであれば、もう少し準備が整ってから投稿されたほうがよいのではないかと思います。
その内容はどこにありますか? サイトの利用方法やFAQにはありませんね。
追加されるとよいと思います。
https://news.hada.io/show
Show登録ボタンのすぐ隣にあります..
あ、登録するところにあるんですね……(笑) 登録を自分でやったことがなくて、気づきませんでした;
お知らせいただきありがとうございます。
FAQに関する説明がなかったため、投稿してもよいものだと思っていました