シークレットを安全に保護、管理するVaultの主な5つの機能
1. シークレットの動的管理
Vaultの最大の特長である「シークレットの動的管理」機能により、一時的にシステムにアクセスできるID、パスワードをVaultが自動生成し、IDに対して有効期限を設定することで自動廃止や使用期限の延長および手動廃止が可能となります。これによりマルチクラウド環境での複数システムの認証情報を、ユーザーに代わってVaultが安全に一元管理をオンデマンドで行います。この動的管理機能は他のシークレット管理サービスでは実装されておらず、HashiCorp Vault独自機能となります。(2026年1月時点)
2. さまざまなシークレットを一元管理
シークレットといってもさまざまな種類があります。Vaultで管理できるシークレットには以下のようなものがあります。
- パブリッククラウドにアクセスするためのアクセスキー
- データベースにアクセスするためのユーザーIDとパスワード
- APIへアクセスするためのAPIキー
- SSHキー
- SSL/TLSサーバー証明書
他にも多彩なプラットフォームをサポートしています。
Vaultで管理できるシークレット(一例)
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- Active Directory
- Database
- SSH
- Key value
多様なプラットフォームをサポート
Vaultでは以下の動作環境をサポートします。
- Linux
- Windows
- Mac OS X
- FreeBSD
- NetBSD
- OpenBSD
3. 多種多様な暗号化アルゴリズムをサポートし、連邦情報処理規格FIPS 140-3に準拠
Vaultでサポートする暗号化アルゴリズム
Vaultではさまざまな暗号化アルゴリズムを利用しシークレット情報を暗号化することができます。
- aes256-gcm96
- chacha20-poly1305
- ed25519
- ecdsa-p256
- rsa-2048
- rsa-4096
連邦情報処理規格FIPS 140-3に準拠
Vault Enterprise1.19.4以降では、ハードウェアセキュリティモジュール(HSM)との連携により連邦情報処理規格FIPS 140-3※1に準拠している旨、認定を受けております。
※1 FIPS 140-3(Federal Information Processing Standardization 140-3)は2019年9月に発行された、米国連邦政府の省庁等各機関が利用するハードウェア及びソフトウェアの暗号モジュール要件に関する規定です。米国連邦政府機関が暗号モジュールを調達する際にはFIPS 140-3、もしくはその前身であるFIPS 140-1、140-2適合認定を取得しているものである必要があります。
4. シークレットへのアクセスコントロール
VaultはACL(Access Control List)により、シークレットおよび関連するシステム機能へのアクセス権限を厳密に制御します。
シークレットに対して、読み取り・書き込み・表示などの操作権限を細かく定義することが可能です。これにより、運用担当者、開発者、アプリケーションといった利用主体ごとに必要最小限の権限のみを付与する運用を実現します。
また、認証方式(LDAP、OIDC、Kubernetes、クラウド IAMなど)とポリシーを分離して管理できるため、利用者の属性(人/マシン/アプリ)や役割に応じた柔軟なアクセス制御が可能です。これにより、環境や組織構成が変化しても、セキュリティポリシーを一貫して適用できます。
5. シークレットへのアクセスの監査
Vaultは、シークレットへのすべてのアクセスを監査ログとして記録します。「いつ」「誰が」「どのシークレットに」「どの操作を行ったか」といった情報が自動的に記録され、成功・失敗を問わず追跡可能です。なお、ログにはシークレットの実際の値は含まれないため、安全性を損なうことなく監査を行えます。
これらの監査ログは外部のログ管理基盤やSIEMと連携することで、内部統制やコンプライアンス対応、インシデント発生時の原因追跡に活用できます。アクセス制御と監査を組み合わせることで、信頼性の高い管理を実現します。
Vaultによる課題の解決ケース
Vaultは、シークレット管理におけるID漏洩リスクやID管理の負荷など様々な解決策を提供します。
複数のユーザーでパブリッククラウドのアクセスキーを共有している場合
- ユーザーが同一のアクセスキーを使用するため、多くの権限を付与しなければならず、リスクにつながる
- アクセスキーの漏えい時の影響は広範囲となる
- 誰が、いつ、どこにアクセスしたのか確認できない
- ID管理者に代わり、Vaultがユーザーごとにアクセスキーを発行するため、誰が、いつ、どこにアクセスしたか把握できる
- 万が一アクセスキーの漏洩があった場合でも、早急にアクセスキーを廃止するなどの対応ができ、漏洩による影響範囲を最小限にすることができる
- ユーザーごとのアクセスキーを自動的に作成するため、運用管理業務の削減が図れる
- ユーザーごとの権限をポリシーとして定義し、自動でアクセスキーを発行することで、人為的なミスを防げる
データベースへのアクセス情報がソースコードにハードコーディングされている場合
- クラウドインスタンスを大量に起動される、もしくは機密情報の漏えいにつながる
- 誰が、いつ、どこにアクセスしたのか確認できない
アクセスキーを含んだソースコードを公開リポジトリに登録した場合、公開されたアクセスキーを攻撃者に奪取され、最終的に、攻撃者がアクセスキーを使用してクラウドインスタンスを大量に起動することが可能となります。そこから流出したアクセスキーを不正に使われ、クラウド事業者からの高額な請求がきてしまう被害などが発生します。アクセスキーを不正使用され機密情報の漏えいにもつながります。
Vault導入後は、アプリケーションはアクセスキーをVault経由で取得するため、ソースコードに直接アクセスキーをハードコードすることはありません。そのため、公開リポジトリにソースコードを登録しても、アクセスキーが含まれていないため、攻撃者がアクセスキーとともに、クラウドインスタンスを立ち上げることはできず、高額請求のような被害を防ぐことができます。
Vaultを活用した証明書の自動更新
近年、セキュリティ強化の流れにより、SSL/TLSサーバー証明書の有効期限は短期化が進んでおり、今後47日といった非常に短い期限で管理することが求められます。
VaultとAnsibleを組み合わせることで、証明書の発行から更新、適用までを一元的に自動化することが可能です。これにより、頻繁な更新が求められる環境においても、期限切れによるサービス停止や手作業による更新ミスを防止できます。
Vaultでは、証明書の秘密鍵を暗号化して安全に保管します。Vaultによって集中管理することで、秘密鍵がサーバーや作業PCなどに分散して保存されることを防ぎ、管理状況を一元的に把握できます。
証明書管理を自動化することで、短期証明書時代における運用負荷を大幅に軽減し、セキュアで継続的な通信環境の維持を支援します。
その他、シークレットへのアクセスログや監査ログを取得していない場合も、Vaultが監査ログを記録することで、過去のアクセス履歴を確認し、情報漏えい時の早期解決や監査証跡管理を実現できます。
DevOps時代のセキュリティ
DevOpsやデジタルトランスフォーメーションによりシステム構築やリリースのスピードが加速していく中、情報漏えいによるセキュリティ事故は後を絶ちません。この背景には、システムがクラウドのような新しい環境に移行している一方で、既存のシステムセキュリティのノウハウのままで新しいシステムを運用している点があげられます。
クラウド活用が進む中、セキュリティの要がネットワーク単位の通信の領域からIDの領域に移ろうとしています。システムは益々ダイナミックな環境となり、従来型のFirewallに代表される、境界防御だけではセキュリティは守れません。実際、多くのクラウドを利用する企業で次のような「シークレット(Secrets)」※2の漏えいによる不正アクセスを経験しています。
※2 ITサービスを利用するために必要な情報であり、外部に漏れてしまったら多大な損害を被る可能性の高い情報の総称。「クレデンシャル情報」と言う場合もあります。
シークレットの例:ユーザーID/パスワード、APIトークン、証明書の秘密鍵、シークレットキーなど
シークレットの漏えいによる不正アクセスの例
パブリッククラウドのアクセスキーを含んだソースコードを公開リポジトリ登録してしまい、そこから流出したアクセスキーを攻撃者に使用されることにより、以下の事故が発生。
- パブリッククラウドのインスタンスを仮想通貨マイニング目的のために大量に起動され、その結果、高額のクラウド利用料が請求される
- データベースへの不正アクセスにより暗号化されていない顧客情報が漏えいする
ラックは、マルチクラウド環境でシークレットを保護・管理する「Vault」により、DevOpsにセキュリティの要素を加えたDevSecOpsの実現を支援します。
価格
お気軽にお問い合わせください。
