これまでGCPのKMSを使ってクレデンシャル情報を扱っていたが、GCPにはSecret Managerというものもあることを知ったので調査
Cloud KMSとSecret Managerの違い
- Cloud KMSはデータを暗号化し、暗号化された暗号文を返すサービスで、秘密情報自体は保存せず、暗号化/復号するキーのみを保存する
- Secret Managerは実際の秘密情報自体を保存するストレージ、履歴(バージョン)も保持する
使い所
現在はKMSで暗号化したクレデンシャルをコミットしておき、Cloud Buildでデプロイする時に複合するという手順を踏んでいる
この問題点はクレデンシャルに変更や追加があった場合で、もしクレデンシャルに変更があった場合は、
- ローカルで複合
- 修正
- 暗号化
- コミット
という手順を踏んでいて手間だし、どういうkey
とkey-ring
で暗号化しているのかなどの情報をどこかに記載しておかなければならないのが手間と感じていた
その点Secret Managerはファイルをアップすればよいだけなので暗号化/複合が不要なのが利点に感じた