ユーザに対してシングルサインオン (SSO) が有効化されると、Vault はユーザパスワードを検証しません。その代りに、Vault はユーザ認証とウェブブラウザ リクエストにおけるユーザ情報の送信 (「アサーション」) を外部アイデンティティプロバイダに依存します。本稿では、Vault の SSO に関する技術的詳細について説明しています。基本的情報については、シングルサインオンの基本を参照してください。SSO の設定に関する詳細は、シングルサインオンの構成を参照してください。

Vault はクラウドアプリケーションなので、顧客の IdP に直接、あるいはブローカーやゲートウェイなどを通じてインターネット経由でアクセスできる必要があります。

Vault は、サードパーティのアイデンティティ管理ソリューションを通じて、顧客の内部 Microsoft™ Active Directory (AD) 実装と統合することができます。多くの Vault 顧客は、Okta、Ping Identity、および ADFS との統合を問題なく行っています。

サポートされる SSO タイプ

Vault は、サービスプロバイダ (SP) 起点とアイデンティティプロバイダ (IdP) 起点の両方のモデルで、セキュリティアサーションマークアップ言語 (SAML) 2.0 を使用して SSO をサポートします。Vault では、両 SSO モデルを HTTP POST または HTTP Redirect バインディングに使用できます。

IdP 起点 SAML ログインプロセス

以下の図と手順では、IdP 起点ログインフローを使った SAML のログインが Vault でどのように機能するかについて詳述しています。IdP 起点ログインプロセス

  1. 管理者は、IdP が生成した SP に証明書を提供することにより、IdP と SP との間に信頼関係を確立します。IdP から SP へのすべてのやり取りは、この証明書で「サインされる」必要があります。
  2. ユーザは、各自の認証情報で IdP にログインします。
  3. ユーザは、IdP が管理するリストからアプリケーション (SP) を選択します。
  4. IdP は、証明書で IdP が電子的にサインした SAML 応答を返します。
  5. ブラウザは SAML 応答を取得し、SP に送ります。応答が適切にサインされたものであることを SP が確認し、確認後、アプリケーションへのアクセス権をユーザに付与します。

SP 起点 SAML ログインプロセス

以下の図と手順では、SP 起点ログインフローを使った SAML のログインが Vault でどのように機能するかについて詳述しています。SP 起点ログインフロー

  1. 管理者は、IdP が生成した SP に証明書を提供することにより、IdP と SP との間に信頼関係を確立します。IdP から SP へのすべてのやり取りは、この証明書で「サインされる」必要があります。
  2. ユーザがアプリケーション (SP) ウェブサイトを開きます。
  3. ログインしたことがないまたはセッションの期限が切れているためにユーザ認証が存在しない場合、SP は SAML AuthnRequest を送信し IdP にコンタクトします。ユーザがまだ認証されていない場合のみ、以下の手順が適用されます。
  4. IdP がユーザ向けのログインウィンドウを表示します。
  5. ユーザは、各自の認証情報で IdP にログインします。
  6. IdP は、証明書で IdP が電子的にサインした SAML 応答を返します。ブラウザは SAML 応答を取得し、SP に送ります。
  7. 応答が適切にサインされたものであることを SP が確認し、確認後、アプリケーションへのアクセス権をユーザに付与します。

IDP への SSO 自動リダイレクト

Vault で SAML SSO のみを使用する顧客 (パスワードベースのセキュリティポリシーがない顧客) は、Vault ログインページから、SAML IDP ログインページに自動的にリダイレクトされ、IDP により認証情報が確認された後に Vault に自動的にサインインできます。

SSO IDP ログインボタン

複数の Vault セキュリティポリシーを持つ顧客は、Vault ユーザ名とパスワードを使って直接ログインするか、あるいはアイデンティティプロバイダ (IDP) を使ってログインするかどちらかを選択します。この機能強化により、管理者がカスタムログインボタンをログインページに追加できるようになったため、シングルサインオンに SAML を使用して Vault にログインすることが簡単になります。これにより、Vault ユーザは、ユーザ名とパスワードを使って Vault にログインするか、あるいはカスタムログインボタンをクリックして IDP 経由でログインして、簡単にログインオプションを特定することができます。会社ロゴ、色、メッセージを含めるなど、ログインボタンをカスタマイズすることもできます。

ディープリンキングについて

ディープリンキングは、SAML から認証を行っている間に、Vault 内の特定ページに進むためのユーザ機能を定義します。

Vault は、IdP 起点および SP 起点 SAML フローからディープリンキングをサポートしています。ユーザが Vault にアクセスしたことがない、または IdP からのログインに成功したことがない場合、SP 起点フローが使用されます。ユーザが IdP からのログインに成功すると、Vault は IdP クッキーを設定し、以降のすべてのディープリンキングフローは IdP 起点フローから実行されます。IdP 起点フローは、カスタムアイデンティティプロバイダボタンを使う際にも使用されます。

ディープリンキングの情報は通常、RelayState というクエリパラメータで実行されます。しかし、パラメータの名前およびエンコーディングに関する要件は、IdP によって異なります。例えば、Ping Identity は、RelayState ではなく、TargetResource というパラメータを要求します。Microsoft Active Directory Federation Services (ADFS) にも、RelayState 設定に関する独自の要件があります。