SOPSというファイルの暗号化ツール/暗号化エディタを使い始めました。
主に .env ファイルに利用しています。
以前から、ローカル用のコミットできないような環境変数は、基本ローカルに .env を非管理で置いていました。
ただ、開発マシンをクラウドに立てたりすると、このファイルをイチイチコピペや送信しなくてはならず、かつ同期も手作業でした。
また、ローカルマシンにしか大事なファイルがないのは、心理的にも負担でした。
そこで、SOPSを導入して暗号化したファイルをコミットしていく方針を取りました。
主な構成ですが、基本的に.sops.yamlに2つの鍵を指定します。
日常利用用の AWS KMS で発行した鍵(のエイリアスのARN)と、バックアップ用のage-keygenで発行した公開鍵です。
これで、AWS にアクセスできれば、暗号化されたファイルを復号できます。AWSが死んだ場合に備えて、紙に書いたバックアップも保管しています。
こんな感じで、ひとまずローカルの .env ファイルが安全に管理されるようになりました。
CI/CDとの統合などは、また追って必要があれば検討していきます。