Active Directory Federation Services (AD FS) を SAML アイデンティティ プロバイダーとして構成し、サポートされているシングル サインオン アプリケーションに Tableau Server を追加できます。AD FS を SAML および Tableau Server と統合する場合、ユーザーは標準的なネットワーク認証資格情報を使用して Tableau Server にサインインできます。

前提条件

Tableau Server および SAML を AD FS で構成する前に、お使いの環境には以下が必要です。

  • AD FS 2.0 (またはそれ以降) および IIS がインストールされた Microsoft Windows Server 2008 R2 (またはそれ以降) を実行するサーバー。

  • AD FS サーバーを保護する (例: リバース プロキシの使用) ことをお勧めします。ファイアウォールの外から AD FS サーバーにアクセス可能な場合、Tableau Server は AD FS がホストするサインイン ページにユーザーをリダイレクトできます。

  • SHA-2 (256 または 512 ビット) 暗号化を使用して暗号化され、以下のセクションに記載された追加要件を満たす SSL 証明書。

ステップ 1: AD FS への SSL 接続を確認する

AD FS には SSL 接続が必要です。まだこのようにしていない場合は、上記の要件を満たす証明書を使用し、Tableau Server との双方向の外部 HTTP トラフィック用に SSL を構成するのステップを完了してください。

または、SSL が終了されるリバース プロキシまたはロード バランサー (一般には SSL オフロードという) を使用するように Tableau Server が構成されている場合、外部 SSL を構成する必要はありません。

ステップ 2: Tableau Server 上で SAML を構成する

XML ファイルの Tableau Server メタデータをダウンロードし、サーバー全体の SAML の構成のステップを完了してください。その時点でここに戻り、次のセクションを続行します。

ステップ 3: Tableau Server からのサインイン要求を承認するための AD FS の設定

注: これらの手順は、サード パーティのアプリケーションを反映しており、通知なしに変更されることがあります。

Tableau Server のサインイン要求を許容するように AD FS を構成することは、複数のステップで構成されるプロセスであり、Tableau Server の XML メタデータ ファイルを AD FS にインポートすることから始まります。

  1. 次のいずれかの手順を実行して [Relying Party Trust の追加] ウィザードを開きます。

  2. Windows Server 2008 R2 の場合:

    1. [スタート][管理ツールへ]> [AD FS 2.0] の順に選択します。

    2. [AD FS 2.0][Trust のリレーションシップ][Relying Party Trusts] フォルダーを右クリックし、[Relying Party Trust の追加] をクリックします。

    Windows Server 2012 R2 の場合:

    1. Server Manager を開き、[ツール] メニューで [AD FS の管理] をクリックします。

    2. [AD FS の管理][アクション] メニューで、[Relying Party Trust の追加] をクリックします。

  3. [Relying Party Trust の追加] ウィザードで、[スタート] をクリックします。

  4. [データ ソースの選択] ページで [ファイルから Relying Party に関するデータをインポートする] を選択し、[参照] をクリックして Tableau Server XML メタデータ ファイルを指定します。既定のファイル名は、samlspmetadata.xml です。

  5. [次へ] をクリックして、[表示名の指定] ページの [表示名] および [メモ] ボックスにRelying Party Trust の名前と説明を入力します。

  6. [次へ] をクリックして [多要素認証を今すぐ設定する] ページにスキップします。

  7. [次へ] をクリックして [発行承認規則の選択] ページにスキップします。

  8. [次へ] をクリックして [Trust の追加準備完了] ページにスキップします。

  9. [完了] ページで [ウィザードを閉じるときに Relying Party Trust に対するクレーム ルールの編集ダイアログを開く] チェック ボックスをオンにし、[閉じる] をクリックします。

次に、[クレーム ルールの編集] ダイアログで作業して AD FS から送信されるアサーションが Tableau Server が期待するアサーションと一致するようにするルールを追加します。最低限、Tableau Server ではメール アドレスが必要となります。ただし、メールに加えて姓と名を含めることで、Tableau Server に表示されるユーザー名が AD アカウントと同じになります。

  1. [クレーム ルールの編集] ダイアログ ボックスで、[ルールの追加] をクリックします。

  2. [ルール タイプの選択] ページの [クレーム ルール テンプレート] で、[LDAP 属性をクレームとして送信] を選択してから、[次へ] をクリックします。

  3. [クレーム ルールの構成] ページの [クレーム ルール名] ボックスで、わかりやすい任意の名前を入力します。

  4. [属性の保存] では、[Active Directory] を選択し、以下のようにマッピングを行ってから [完了] をクリックします。

  5. マッピングでは大文字と小文字が区別され、スペルが完全に同じになっている必要があります。入力した内容はダブルチェックしてください。次の表に、一般的な属性とクレーム マッピングを示します。特定の Active Directory 構成の属性を確認します。

    LDAP 属性 出力するクレーム タイプ
    SAM-Account-Name 名前 ID
    SAM-Account-Name username
    Given-Name firstName
    Surname lastName

AD FS 2016 以降を実行している場合は、ルールを追加してすべてのクレーム値をパス スルーする必要があります。以前のバージョンの AD FS を実行している場合は、次の手順に進み、AD FS メタデータをエクスポートします。

  1. [Add Rule (ルールの追加)] をクリックします。
  2. [Claim rule template (クレーム ルール テンプレート)] で、[Pass Through or Filter an Incoming Claim (受信クレームのパス スルーまたはフィルター)] を選択します。
  3. [Claim rule name (クレーム ルール名)] に、「Windows」と入力します。
  4. [Edit Rule - Windows (ルールの編集 - Windows)] ポップアップで、以下の操作を実行します。
    • [Incoming claim type (受信するクレーム タイプ)] で、[Windows account name (Windows アカウント名)] を選択します。
    • [Pass through all claim values (すべてのクレーム値をパス スルー)] を選択します。
    • [OK] をクリックします。

後で Tableau Server にインポートする予定の AD FS メタデータをエクスポートします。また、Tableau Server 向けに適切に構成およびエンコードされていることを確認して、お使いの SAML 構成の他の AD FS 要件を検証します。

  1. AD FS Federation メタデータを XML ファイルにエクスポートしてから、そのファイルを https://<adfs server name>/FederationMetadata/2007-06/FederationMetadata.xml からダウンロードします。

  2. Sublime Text または Notepad++ のようなテキスト エディタでメタデータ ファイルを開き、BOM なしの UTF-8 で適切にエンコーディングされていることを確認します。

    ファイルがその他のエンコーディング タイプを示した場合、テキスト エディタから正しいエンコーディングで保存します。

  3. AD FS がフォームベースの認証を使用していることを検証します。サインインはブラウザー ウィンドウで行われるため、このタイプの認証を既定にするには、AD FS が必要です。

    c:\inetpub\adfs\ls\web.config を編集し、タグを検索してから行を移動すると、リストで最初に表示されます。ファイルを保存して、IIS が自動的に再読み込みできるようにします。

    注:c:\inetpub\adfs\ls\web.config ファイルが表示されない場合は、IIS がインストールされておらず、AD FS サーバーにも設定されていません。

  4. (オプション) このステップは AD FS が サイト特有の SAMLの IDP として構成されている場合のみ必要です。このステップは AD FS が サーバー全体の SAML の IDP として構成されている場合は不要です。

    追加の AD FS Relying Party 識別子を構成します。これにより、システムは SAML ログアウトを使用して AD FS の問題を回避できるようになります。

    次のいずれかを実行します。

    Windows Server 2008 R2 の場合:

    1. AD FS 2.0 で、事前に Tableau Server 用に作成した Relying Party を右クリックして [プロパティ] をクリックします。

    2. [識別子] タブの [Relying Party 識別子] ボックスに、https://<tableauservername>/public/sp/metadata と入力してから [追加] をクリックします。

    Windows Server 2012 R2 の場合:

    1. [AD FS 管理][Relying Party Trusts] リストで、事前に Tableau Server 用に作成した Relying Party を右クリックして [プロパティ] をクリックします。

    2. [識別子] タブの [Relying Party 識別子] ボックスに、https://<tableauservername>/public/sp/metadata と入力してから [追加] をクリックします。

    : AD FS は、同じインスタンスに対して単一の Relying Party を使用する Tableau Server で使用できます。AD FS では同じインスタンスに複数の Relying Party (複数サイトの SAML サイトやサーバー全体、およびサイトの SAML 構成など) を使用することはできません。

ステップ 4: AD FS メタデータを Tableau Server に提供

  1. TSM の Web UI に戻り、[構成] > [ユーザー ID とアクセス] > [認証方法] タブに移動します。

  2. SAML 構成ウィンドウのステップ 4 で、AD FS からエクスポートした XML ファイルの場所を入力し、[アップロード] を選択します。

    SAML IDP メタデータをアップロードする TSM UI のエリアをハイライトしているスクリーンショット

  3. サーバー全体の SAML の構成で指定されている残りの手順 (アサーションのマッチングとクライアント タイプ アクセスの指定) を完了します。変更を保存して適用します。

  4. Tableau Server を停止し、TSM CLI を開いて、次のコマンドを実行します。

    最初のコマンドは、ユーザーの SAML 認証資格情報を受け入れた後に、AD FS が適切に Tableau Server へリダイレクトできることを保証します。2 番目のコマンドは、AD FS と Azure AD FS の既定値である同じ「更新トークンの最大非アクティブ時間」 を使用して Tableau Server を構成します。AD FS に一致する最大非アクティブ時間を設定すると、Tableau ナレッジ ベースの 「Tableau Server で SAML SSO を使用して断続的に「サインインできない」」(新しいウィンドウでリンクが開く) という記事に従って、一般的なエラー状態を回避できます。

    tsm configuration set -k wgserver.saml.sha256 -v true

    tsm authentication saml configure -a 7776000

  5. 変更を適用します。

    tsm pending-changes apply

    保留中の変更にサーバーの再起動が必要な場合は、pending-changes apply コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。

ありがとうございます!