🐈
HashiCorp Vaultを何となく理解する(2):Seal/Unseal
イオンスマートテクノロジーのCTO室SREチームの@hikkie13です。
過去の記事に記載がある通り、弊社ではHCP Vaultの導入を進めています。
導入には教育・学習が欠かせません。
その過程で得た知識を何回かに分けてまとめていこうと思います。(心が折れない限り)
今回は、VaultのSeal/Unsealについてです。
Seal/Unseal
seal
とは直訳で封印を意味する。unseal
は封印解除の意味。
- statusは
vault status
コマンドで確認可能。 - Vaultは
sealed
statusで開始される。この状態では、復号化することはできない。 - Vaultが
sealed
status では、ステータスチェックとunsealのみが可能。 - Vaultをunsealすることは、ノードが暗号キーを解読するためにルートキーを再構築し、最終的にデータを読み取ることを意味する。
- unseal後、暗号キーはメモリに保存される。
Sealとは
- Vaultをアクセス不可能な状態にするプロセス
- VaultをSealすると、実質的に暗号化キーが破棄され、さらなる操作を行うためにはVaultをUnsealする必要がある。
- デフォルトではVaultはSealされた状態で起動する。起動した後のファーストステップとしてUI/CLI/APIなどを通じて手動でUnsealする。
- Sealする時はこんな時↓
- Key Shardsが漏洩した場合。
- 妥協やネットワーク侵入が検出された場合。
- Vaultのノードにスパイウェアやマルウェアが検出された場合。
Unsealのオプション
大きく分けて以下の3種類のUnseal方式がある。
- Manual Unseal
- Auto Unseal
- Transit Auto Unseal
Manual Unseal
https://developer.hashicorp.com/vault/docs/concepts/seal#seal-unsealより引用
- ルートキーを分割する。
- Shamir's Secret Sharding Algorithm を採用している。(https://en.wikipedia.org/wiki/Shamir's_secret_sharing)
- unsealのデフォルトオプション。
- 理想的には、各Key Shardは異なる従業員によって保管されるべき。
- vaultを初期化する際には、個々のShardが異なるPGP Keyで暗号化されるようすることも可能。
- vaultをunsealする際には、しきい値に等しい数の従業員によるキーが必要。
Auto Unseal
https://developer.hashicorp.com/vault/docs/concepts/seal#seal-unsealより引用
- ルートキーはクラウドのKMS Keyで暗号化され、Storage Backendに保管される。
- 暗号キーはVaultノードのメモリーに保存される。
- Auto UnsealはクラウドまたはオンプレミスのHSMを使用してルートキーを復号化する。
- Vaultの設定ファイルは復号化に使用する特定のキーを指定する。
- Cloud Auto Unsealはサービスまたはノードの再起動時にVaultを自動的にUnsealする。
Transit Auto Unseal
- 異なるVaultクラスターのTransit Secret Engineを使用する方式。
- Transit Secret Engineは名前空間内で設定可能。
- キーローテーション可能。
- 中央集権となるVaultクラスターは高可用性の必要あり。
Unseal Optionの比較
Option | メリット | デメリット |
---|---|---|
Manual Unseal | ・シンプル どんなプラットフォームでも対応 ・柔軟性が高い |
・保管リスク ・手動作業が必要 ・キーローテーションが必要 |
Auto Unseal | ・設定すればあとは放置でOK ・同一プラットフォーム上での統合 |
・クラウドベンダーのロックイン |
Transit Auto Unseal | ・設定すればあとは放置でOK ・プラットフォームに依存しない ・多数のVaultクラスターをクラウドやデータセンターにまたがって運用する際に有用 |
・中央集権のVaultクラスターが必要なのがデメリット |
参考
HashiCorp Certified: Vault Associate 2024 (w/ Hands-On Labs)
HashiCorp Certified: Vault Operations Professional
最後に(採用のお知らせ)
イオンスマートテクノロジーではエンジニアをはじめとした様々な職種を積極的に採用中です!
これからとてもおもしろいフェーズへ突入していくと思いますので興味のある方は是非カジュアル面談などで話を聞いてください!
Discussion