BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース HashiCorp Vaultでサーバーサイド整合性トークンにより結果整合性が向上

HashiCorp Vaultでサーバーサイド整合性トークンにより結果整合性が向上

原文(投稿日:2022/05/26)へのリンク

HashiCorpVault 1.10をリリースした。シークレットとID管理プラットフォームに多くの新機能が追加されている。サーバサイド整合性トークンを使うと、パフォーマンススタンバイノードを使うときに結果整合性モデルをより細かく制御できる。新しいオープンソースのログイン多要素認証統合を使って認証を実行できるようになった。データベースプラグインの多重化サポートが追加され、Vaultエージェントのテレメトリが改善されている。

一般的なVaultの高可用構造では、1つのVaultサーバがクラスタ内でアクティブになり、すべての要求を処理する。Vault Enterprise 0.11以降では、スタンバイノードをパフォーマンススタンバイノードとして機能させて、ほとんどの読み取り専用要求を処理させることができる。これにより、1つのVaultクラスタ内で読み取り要求に対する水平方向のスケーラビリティーが提供できる。

Vault high availability structure consisting of active and standby nodes

アクティブノードとスタンバイノードで構成されるVaultの高可用構造 (クレジット: HashiCorp)

 

ある一連の操作においては、パフォーマンススタンバイと統合ストレージを組み合わせると、read-after-write整合性(write内容が、その後のreadに即座に反映されること)を得られなかった。これに対処するためにVault 1.7でいくつかの改善が行われた。一方で、それはすべてのユースケースに適用できるわけではなかった。Vault 1.10では、この問題に対処するためにサーバサイド整合性トークンが追加された。

この機能により確実に、トークン作成要求に対して返されるトークンに、トークン自体と共に関連する最小のログ先行書き込み(WAL)状態情報が含まれる。この情報を使って、パフォーマンススタンバイノードは、要求をアクティブノードに転送するかどうかを決定できる。HashiCorpのシニアテクニカルプロダクトマーケティングマネージャーのJustin Weissig氏によると、これにより「スタンバイノードはさまざまな種類のクライアント要求を処理できるため、よりシンプルなクライアントで、より高いパフォーマンスが実現できる」。

一貫性の向上に加えて、このリリースではトークンプレフィックスが少し変更され、静的分析ツールでのスキャンが容易になっている。これにより、ソースコードに誤ってコミットされた可能性のあるトークンを特定する自動処理の作成が簡単にできるようになる。

このリリースでは、以前はエンタープライズ専用機能であった多要素認証が、オープンソースバージョンのVaultに移行する。リリースの時点で、VaultのMFAはTime-based One-time Password (TOTP)OktaDuoPingIDをサポートする。MFAログインリクエストを検証するには、シングルフェーズログインと2フェーズログインの2つの方法がある。

シングルフェーズログインでは、必要となるMFA情報がX-Vault-MFAヘッダーを使ってログインリクエストに埋め込まれる。

$ curl \
   --header "X-Vault-Token: ..." \
   --header "X-Vault-MFA: d16fd3c2-50de-0b9b-eed3-0301dadeca10:695452" \
   http://127.0.0.1:8200/v1/auth/userpass/login/alice

従来の2フェーズログイン方式では、X-Vault-MFAヘッダーはリクエスト内にセットされない。このアプローチでは、ログインリクエストを送信した後、ユーザはMFA要件の詳細を示す認証応答を受け取る。この要件には、応答の検証に使用するMFAタイプ、そのメソッドID、MFAメソッドがパスコードを使うかどうかを示すブール値が含まれる。

Vault OIDC IDプロバイダのサポートが、一般向けに提供されるようになった。さらに、コード交換用のプルーフキー(PKCE)のサポートが追加された。PKCEは、クロスサイトリクエストフォージェリ(CSRF)などの認証コードインジェクション攻撃を防ぐために使われる。

他にも、次のような改善があった。認証、キャッシュ、プロキシカウンター用のVault Agentのランタイムメトリックが追加された。そして、データベースプラグインの多重化のサポート、およびキー生成と証明書署名をHSMにオフロードするためのPKIシークレットエンジンのサポートが追加された。サポートされているHSMには、PKCS#11 HSM、Azure Key VaultAWS KMSがある。

このリリースについて、ここで説明しきれなかったものも含む変更の詳細については、リリース投稿変更ログを参照してください。アップグレードガイドは、既存のクラスタをアップグレードするプロセスを支援するために利用できる。Vaultは、オープンソースあるいはエンタープライズエディションのどちらかとなる。

作者について

この記事に星をつける

おすすめ度
スタイル

BT