HashiCorp、シンプルなシークレット管理クラウドサービス「HCP Vault Secrets」パブリックベータ公開。シークレットを集中管理し環境変数で提供
HashiCorpは、ソフトウェア実行時に必要となるトークンやパスワードといった、いわゆるシークレットを安全に保管し提供するクラウドサービス「HCP Vault Secrets」をパブリックベータとして公開したことを発表しました。
同社はシークレットを管理するソフトウェアとして、以前からオープンソース版の「Vault」を公開しており、それを企業向けに強化した商用版のソフトウェア「Vault Enterprise」、そしてVault Enterpriseをクラウド上でマネージドサービスとして提供する「HCP Vault」を既に提供しています。
今回パブリックベータとなった「HCP Vault Secrets」は、HCP Vaultをシンプルにし使いやすくしたサービスであり、HTTP専用で、HCP Vaultのクラスタサイズやバージョンなどの構成を気にすることなく、サーバレスのようなサービスとしてすぐに利用可能にしています。
シークレットを環境変数経由で提供
例えば、業務アプリケーションがバックエンドデータベースにアクセスする際には、適切なユーザーIDとパスワードが要求されます。クラウド上のサービスにアクセスする場合には、適切なAPIキーやトークンが要求されるでしょう。
しかしアプリケーションのソースコードにこうしたIDやパスワード、トークンなどの、いわゆるシークレットを直接書き込むのは適切ではありません。
万が一ソースコードが漏洩した場合には深刻なセキュリティリスクを引き起こしますし、そうでなくともIDやパスワードが変更された場合にソースコードを書き直してビルドし直すのは手間です。
こうしたシークレットを安全に保管し、適切にアプリケーションに渡す仕組みを備えているのがHCP Vault Secretsです。
下記はデモ動画からの引用です。
Slackのボットを実現するソースコードで、シークレットの部分となるトークンとチャンネル部分を、環境変数を取得するように記述します。
HCP Vault Secretsの管理画面で、SLACK_TOKENを定義し、値を設定します。同様にSLACK_CHANNELも定義して値を設定します。
アプリケーションのコードエディタのシェルにHCP Vault Secretsのコマンド(vlt)をインストールし、vlt secretsコマンドを実行すると、環境変数に先ほど登録した値が設定されていることが分かります。
vlt runコマンドでアプリケーションを実行すると、環境変数経由でシークレットをアプリケーションに渡すことができます。
このようにしてシークレットの保管やアプリケーションへの提供を実現します。
AWS Secrets Managerを皮切りに既存のプラットフォームのツールにシークレットを同期する機能も提供するとしており、HCP Vault Secretsでシークレットを集中管理しつつマルチクラウドそれぞれのツール対応を進めることも可能となっています。
あわせて読みたい
Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能
≪前の記事
PythonやR対応の統合開発環境「JupyterLab 4.0」正式リリース。 より効率的なレンダリング、リアルタイムコラボレーション機能が分離など