頻繁に使うアクセスキーなどの文字列をどこに保存していますか。パスワードなどはちゃんと暗号化された場所に保存しつつも、プログラムから使うようなキーは設定ファイルに直接書いたり、環境変数に平文で定義してしまったりしていないでしょうか。 システムで扱う文字というのは漏洩するとパスワード以上に被害を被る可能性があります。そのため保存に際してもっと慎重になるべきです。そこで使ってみたいのがenvchainです。

envchainの使い方

envchainは環境変数をキーチェーンアクセスに保存するMac OSX用のソフトウェアです。インストールはGitリポジトリをクローンしてmake && sudo make installで行います。

使い方としてはまずは環境変数の定義をします。

$ envchain --set aws AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY

そして対話的に変数の値を入力します。

環境編集を取得する場合は以下のコマンドで行います。

$ envchain aws env | grep AWS_
AWS_ACCESS_KEY_ID=AAAAAAAAAAAAAAA
AWS_SECRET_ACCESS_KEY=BBBBBBBBBBBB

標準出力で返ってくる仕組みです。

キーチェーンアクセスを見ると、確かに定義されています。

パスワードを入力すれば、設定されている文字列を確認できます。

envchainからは常にアクセスを許可する設定となっています。環境変数の定義を隠蔽化できて、かつユーザによって変数の内容を変えられるので安心して利用できるのではないでしょうか。

envchainはMac OSX用、MIT Licenseのオープンソース・ソフトウェアです。

sorah/envchain