SSO および電子署名に SAML を使用するには、最初に SAML プロファイルを作成する必要があります。次に、プロファイルを使用するようユーザをプロビジョニングする必要があります。Vault は、複数の SAML プロファイルを作成して、それぞれに異なるアイデンティティプロバイダを関連付けることができます。これによって、ユーザが割り当てられたセキュリティポリシーに設定された IdP と認証することができます。詳しくは、Vault 製品に対応する IdPs/AS をご覧ください。

シングルサインオンプロファイル電子署名プロファイルの 2 つのプロファイルタイプを設定できます。SSO ログインには、シングルサインオンプロファイルが必要です。電子署名プロファイルは任意であり、SAML を介してドキュメントやオブジェクトレコードに電子署名を行うために特に使用されます。セキュリティポリシー電子署名プロファイルが設定されていない場合、SSO ログインと電子署名の両方にシングルサインオンプロファイルが使用されます。1 つのシングルサインオンプロファイルと 1 つの電子署名プロファイルを同じセキュリティポリシーに関連付けることができます。

SAML プロファイルを作成するには

  1. 設定 > SAML への SSO 設定: 参照および SSO 設定: 書き込みアクセス権限があることを確認します。
  2. 管理者 > 設定 > SAML プロファイルに進みます。
  3. 作成をクリックします。シングルサインオンプロファイルまたは電子署名プロファイルのいずれかを選択します。
  4. プロファイルのラベル名前を入力します。
  5. SAML プロファイルの設定を完了します。
  6. 保存をクリックします。

アイデンティティプロバイダ (IdP) から情報を取得する

IdP から以下の情報を入手する必要があります。

アイデンティティプロバイダ証明書ファイル
X.509 証明書形式におけるアイデンティティプロバイダのパブリックキーが含まれています。IdP の証明書が差し替え/更新されている場合、SAML プロファイルを新しい証明書に更新する必要があります。IdP メタデータのインポートをご覧ください。
アイデンティティプロバイダのログイン URL
シングルサインオンプロファイルの場合のみ。Vault をサービスプロバイダとして登録する際にアイデンティティプロバイダが通常生成する、Vault 向けリダイレクト ログイン URL です。この URL は、高度なディープリンキングをサポートするようカスタマイズすることができます。
アイデンティティプロバイダのログアウト URL
任意の作業: シングルサインオンプロファイルの場合のみ。Vault からログアウトする際に Vault がユーザをリダイレクトするページの URL です。デフォルトでは、Vault はログアウトメッセージが表示される静的ページにリダイレクトします。これは静的リダイレクトで、シングルログアウト (SLO) は現在サポートされていません。
リクエストバインディング
SP (Vault) が使用することを IdP が見込むリクエストバインディングのタイプVault は、HTTP-PostHTTP リダイレクトバインディングの両方に対応しています。
SP-起点のリクエスト URL
リクエスト URL は、SP (Vault) が開始した SAML 認証リクエストが送信される場所です。
連携ユーザ ID
アイデンティティプロバイダから取得され、ユーザプロファイルで設定されます。

Vault SAML プロファイルに IdP 情報を入力する。

既存ユーザの Vault へのログイン方法と電子署名の方法を変更することなく、SSO プロファイルを設定し始めることができます。Vault SSO ログイン URL が、IdP に伝える ACS URL を表示します。SAML プロファイルは、すべての SAML プロファイルが検証されるまで有効にできません。

ドメインでプロファイルを設定するには、SAML プロファイルに以下の情報を入力します。

SAML バージョン
2.0 に設定します。
SAML ユーザ ID タイプ
SAML ID ユーザタイプについてをご覧ください。
SP エンティティ ID
この値は IdP に対する SP エンティティとして Vault を特定します。
アイデンティティプロバイダ証明書ファイル
IdP から取得したものです
アイデンティティプロバイダのログイン URL、アイデンティティプロバイダのログアウト URL
シングルサインオンプロファイルの場合のみ。IdP から取得したものです
SP-起点のリクエスト URL
IdP から取得したものです
SP-起点のリクエストバインディング
SP 起点のリクエストバインディングについてをご覧ください。
SP 証明書
SP 証明書についてをご覧ください。
署名およびダイジェストバインディング
署名およびダイジェストバインディングについてをご覧ください。
署名およびダイジェストアルゴリズム
SAML リクエストの署名に使用されるハッシュアルゴリズムを指定します。
電子署名認証コンテキスト、電子署名認証ポップアップ
電子署名認証コンテキストについてをご覧ください。
アイデンティティプロバイダボタン
シングルサインオンプロファイルの場合のみ。アイデンティティプロバイダボタン (シングルサインオンプロファイル) をご覧ください。

IdP に Vault をサービスプロバイダ (SP) として登録する

IdP に以下の情報が必要な場合があります。

Vault パブリック証明書ファイル
Vault のパブリックキー情報が含まれます。Vault SSL 証明書をダウンロードします
SP エンティティ ID
IdP に Vault を識別する固有名です。これは SP エンティティ ID で定義される名前である必要があります。
移行先 URL
Vault の SAML ACS エンドポイントです。これは、シングルサインオン設定ページの上部に表示される Vault SSO ログイン URL フィールドです。
ポストバック URL
同様に Vault SSO ログイン URL フィールドを使用します。
サービスプロバイダ SAML 属性
SSO で使用される連携ユーザ ID を渡すため、Vault は uid と呼ばれる属性を要求します。渡す値は、選択した SAML ユーザ ID タイプ設定によって異なります (Vault ユーザ名または連合 ID)。

ユーザ ID タイプについて

Vault ユーザ名連携 ID の二つのオプションがあります。

Vault ユーザ名

IdP ユーザディレクトリに属性として Vault ユーザ名を格納する予定の場合、または Vault ユーザ名がエンタープライズユーザ名と正確に一致する場合は、Vault ユーザ名を選択します。基本的に、エンタープライズユーザ名を Vault ユーザ名にマッピングするので IdP に負荷がかかります。

連携 ID

Vault ユーザプロファイルの連携 ID にエンタープライズユーザ名を格納する予定の場合は、連携 ID を選択します。エンタープライズユーザ名から Vault ユーザ名にマッピングするので Vault に負荷がかかります。

IdP メタデータのインポート

プロファイル設定を簡素化するため、IdP メタデータ XML ファイルをアップロードするか、IdP から直接インポートして、アイデンティティプロバイダメタデータをインポートすることができます。

IdP メタデータをインポートするには:

  1. SAML プロファイルを開きます。
  2. アクションメニューから、IdP メタデータのインポートを選択します。
  3. XML ファイルをアップロードして IdP メタデータをインポートするには、IdP メタデータのインポートを選択してから、ファイルを選びます。
  4. URL を指定して IdP メタデータをインポートするには、IdP メタデータ URL の提供を選択してから、ファイルの場所を入力します。この URL は HTTPS プロトコルを使用する必要があります。
  5. 続行をクリックします。Vault が IdP メタデータ XML を検証し、情報が無効である場合はエラーメッセージを返します。情報が有効である場合、プロファイルが編集モードに切り替わり、インポートした値がページに反映されます。
  6. 設定を完了するには、保存をクリックします。

XML ファイル構造は、SAML 仕様で定義されます。

SP メタデータのエクスポート

継続的なメンテナンスのため 設定を簡素化し、または SP メタデータの有効性を維持するため、プロファイルの SP メタデータをダウンロード/監視することができます。

SP メタデータをエクスポートするには:

  • SAML プロファイルを開きます。
  • アクションメニューから、SP メタデータのエクスポートを選択します。VaultSPMetadata.xml ファイルが、ローカルファイルシステムにダウンロードされます。

SP メタデータは、SP Metadata URL フィールドが示すロケーションへ直接進んで取得することもできます。これにより、クライアントアプリケーションやコマンドラインユーティリティ (HTTP GET リクエストを使用する cURL など) から、SP メタデータを直接フェッチすることができます。これは、IdP が設定の SP メタデータを監視/動的更新する場合に便利です。プロファイルが不完全または無効である場合、HTTP ステータスコード 400 を返します。

XML ファイル構造は、SAML 仕様で定義されます。

ディープリンクについて (シングルサインオンプロファイル)

アイデンティティプロバイダのログイン URL は、ディープリンキングを含む IdP 起点 SAML フローをサポートするよう設定することができます。

IdP 起点 URL の設定は、Mustache テンプレートフレームワークに基づく式構文をサポートしています。Mustache ドキュメントでは、すべての言語構文が定義されています。テンプレートで利用できる Mustache 機能は制限されていません。しかし、以下の構文は、Vault で設定されているディープリンキングのみの要件です。

アイデンティティプロバイダのログイン URL 高度設定

以下の式構文を使用して、アイデンティティプロバイダの要件に従って URL をカスタマイズすることができます。

{{relay_state}}
このトークンは、実行時に現在の URL に置き換えられ、HTML エンコードされます。
{{relay_state}}
このトークンは、実行時に現在の URL に置き換えられますが、HTML エンコードされません。
{{#url_encode}}{{/url_encode}}
開始タグと終了タグ間にあるものをすべてを URL エンコードする関数です。
設定例 (ADFS 2.0)
https://adfs.domain.com/adfs/ls/IdpInitiatedSignOn.aspx?RelayState={{#url_encode}}RPID={{#url_encode}}http://customer.vault.com{{/url_encode}}&RelayState={{{relay_state}}}{{/url_encode}}

フォームを保存すると、式構文/文法が解析および検証されます。検証エラーが設定ページに返されます。

SP 起点のリクエストバインディングについて

2 つのオプションは、シングルサインオンプロファイル電子署名プロファイルの両方の HTTP PostHTTP リダイレクトです。

: Exostar IdP を使用する際には、SP 起点リクエストバインディングを HTTP ポストに設定することをお勧めします。

HTTP ポスト (デフォルト)

POST-POST SAML バインディングを使用します。このバインディングのタイプが IdP にサポートされている必要があります。

このバインディングタイプを使用すると、Vault は HTTP リダイレクトメッセージを、認証リクエストを含む IdP に送信します。IdP は、HTTP POST を経由して、アサーションとともに SAML 応答を Vault に返します。

処理手順:

  1. ユーザが、Vault リソースへのアクセスを要求します。ユーザがログインしていない場合、認証を行うため、リクエストは IdP にリダイレクトされます。
  2. IdP は認証のため、SAML リクエストとともに、HTML フォームをブラウザに戻します。HTML フォームは自動的に IdP にポストされます。
  3. ユーザが IdP にログインしていない場合、または再認証が要求されている場合、IdP はユーザに対して認証情報と IdP へのユーザログインを要求します。
  4. IdP の サービスは、認証アサーション、および連携 ID または Vault ID を含む uid 属性 (設定によって異なる) を含む SAML 応答とともに、HTML フォームをブラウザに返します。ブラウザは、Vault に HTML フォームを自動的にポストします。
  5. 署名およびアサーションが有効である場合、Vault はユーザのセッションを構築し、要求された Vault リソースにブラウザをリダイレクトします。

HTTP リダイレクト

HTTP リダイレクトを選択してリダイレクト-POST SAML バインディングを使用します。このバインディングのタイプが IdP にサポートされている必要があります。

このバインディングタイプを使用すると、Vault は HTTP リダイレクトメッセージを、認証リクエストを含む IdP に送信します。IdP は、HTTP リダイレクトを経由して、アサーションとともに SAML 応答を Vault に返します。

処理手順:

  1. ユーザが、Vault リソースへのアクセスを要求します。ユーザがログインしていない場合、認証を行うため、リクエストは IdP にリダイレクトされます。
  2. Vault は、ユーザのブラウザから IdP まで認証するため、SAML リクエストを含む HTTP リダイレクト (コード 302) を返します。
  3. ユーザが IdP にログインしていない場合、または再認証が要求されている場合、IdP はユーザに対して認証情報と IdP へのユーザログインを要求します。
  4. IdP の サービスは、認証アサーション、および連携 ID または Vault ID を含む uid 属性 (設定によって異なる) を含む SAML 応答とともに、HTML フォームをブラウザに返します。ブラウザは、Vault に HTML フォームを自動的にポストします。
  5. 署名およびアサーションが有効である場合、Vault はユーザのセッションを構築し、要求された Vault リソースにブラウザをリダイレクトします。

SP 証明書について

Vault は、SP 証明書を使用して SAML リクエストに署名します。すべての Vault は、定期的に更新される同じ署名証明書を使用します。証明書がロールオーバーされると、Vault は新しい証明書を使用するようにすべての SAML プロファイルを自動的に更新します。お客様は次回のロールオーバーについて、事前に通知を受け取ります。以前の証明書も更新期間中は有効です。この期間中は、必要に応じて新しい証明書と以前の証明書を切り替えることができます。更新期間が終了すると、新しい証明書が SAML プロファイルに対する唯一の有効な証明書になります。

SAML の署名証明書を管理するには:

  1. 設定 > SAML プロファイルに進み、プロファイルを選択します。
  2. 編集ボタンをクリックします。
  3. 適切な証明書横のチェックボックスを選択します。現在の証明書以外に使用できる証明書がなく、証明書が読み取り専用の場合、証明書をダウンロードすることができます。2 つの証明書が使える場合は、証明書のロールオーバー期間中であり、可能であれば新しい証明書を選択する必要があります。Vault 証明書をご覧ください。
  4. 任意の作業: パブリックキーを含む証明書をダウンロードするには、証明書横のダウンロードアイコンをクリックします。
  5. 選択した証明書を有効にするには、保存をクリックします。

署名およびダイジェストアルゴリズムについて

この設定は、SAML 署名の作成および検証に必要なハッシュアルゴリズムを指定します。使用可能なオプションは以下の通りです:

SHA-256
これにより、ほぼ固有の固定長 256 ビットのハッシュが作成されます。SSO 認証での使用が推奨されています。
SHA-1
「メッセージダイジェスト」と呼ばれる 160 ビットのハッシュ値を作成します。

電子署名認証コンテキストについて

IdP の設定時には、SAML リクエストの強制認証を有効化する設定がオンになっているか確認します。例えば、Okta の「テンプレート SAML 2.0」を使用している場合、認証を強制するのチェックボックスを選択する必要があります。

一部のブラウザを使用している iFrame から、ユーザが SAML アイデンティティプロバイダで電子署名を行うことができない既知の問題があります。この問題は、サードバーティのクッキーを有効にしたり、「SAML 電子署名の認証は iFrame でなくポップアップウィンドウで行う」オプションを有効にして、電子署名フローをポップアップで完了するよう設定することで解決することができます。このオプションはドキュメント電子メールにのみ影響を及ぼします。

電子署名認証コンテキスト

2 つのオプションは、なしパスワードで保護されたトランスポートです。

インフラストラクチャが統合 Windows 認証 (IWA) を使用している場合は、パスワードで保護されたトランスポートを選択します。このオプションは、電子署名 SP 起点フローにより使用される認証コンテキストを構成するものです。

一旦有効化されると、電子署名 SP 起点フロー中に、以下の XML が SAML リクエストに追加されます。

urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

電子署名認証ポップアップ

デフォルトで、Vault は SAML 電子署名フローに iFrame を使用します。

IdP が、iFrame 内の認証画面のレンダリングに対応していない場合は、このチェックボックスを選択して外部ポップアップウィンドウで SAML 電子署名を認証します。これにより、Exostar や最新バージョンの PingFederate など IdP とのインテグレーションを簡素化します。

Internet Explorer 11 に関する既知の問題

電子署名認証が Internet Explorer (IE11) で正しく動作するように、信頼できるサイトの設定に以下のドメインを追加する必要があります。

Auth
https://veevaauth.vaultdev.com
Vault
https://veeva.vaultdev.com
IdP
https://veeva.okta.com

この問題は、IE11 を使用するユーザにのみ影響を及ぼします。この問題が生じた場合は、別のブラウザをお試しください。

SAML 応答署名について

Vault SAML では、SAML 応答全体に署名されている必要があります。応答の SAML アサーション署名は検証されず、Vault に要求されませんが、IdP がアサーションに署名を追加すると判断した場合には、エラーを生成しません。

アイデンティティプロバイダボタン (シングルサインオンプロファイル)

アイデンティティプロバイダボタンを設定すると、ログインページにカスタムログインボタンを追加することができます。これは、複数の Vault セキュリティポリシーを持つ顧客に適しています。ユーザ名とパスワードで Vault にログインするオプションか、またはカスタムログインボタンをクリックして IdP 経由で Vault にログインするオプションを Vault ユーザに提供します。

複数の SSO プロファイルを設定する際、Vault は有効なプロファイルごとにロゴを表示します。

アイデンティティプロバイダボタンをログインページに追加するには:

  1. カスタムログインボタンの追加をクリックして設定を表示します。
  2. ロゴイメージの選択をクリックしてボタンに表示する画像を選択します。ファイル形式は、PNG、JPG または GIF でなければなりません。ファイルサイズは 500KB 以下とします。画像サイズは 400 x 100 ピクセル以下とします。画像周辺のパディングやマージンは不要です。「ログイン」の右のボタンの垂直中央に置かれます。ロゴの縦横比を 4:1 以下とすると最大の効果が得られます。通常選択する画像は、会社のロゴや IdP のロゴとなります。
  3. ボタンの色をクリックしてボタンの背景色を選択します。
  4. 境界線の色をクリックしてボタンの境界線の色を選択します。
  5. テキストの色をクリックして「ログイン」のテキストの色を選択します。
  6. 保存をクリックします。ページと、ドメインの Vault ログインページにボタンプレビューが表示されます。