Tableau Server での Azure AD IdP を使用した SAML の構成

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

始める前に: 前提条件

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

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

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

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

組織で Azure AD アプリ プロキシを使用している場合は、以下のセクション「Azure AD アプリ プロキシ」を参照してください。

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

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

ステップ 3: Azure AD クレーム ルールを構成する

マッピングでは大文字と小文字が区別され、スペルが完全に同じになっている必要があります。入力した内容はダブルチェックしてください。次の表に、一般的な属性とクレーム マッピングを示します。Azure AD の具体的な設定を使用してその属性を検証する必要があります。

LDAP 属性出力するクレーム タイプ
onpremisessamaccountnameusername
Given-Name

firstName

注: これはオプションです。

Surname

lastName

注: これはオプションです。

netbiosname

domain

注: これは、ユーザーが既定のドメインではないドメインからサインインしている場合にのみ必要です。

一部の組織では、Azure AD を SAML IdP として使用し、Active Directory を Tableau Server のアイデンティティ ストアとして使用しています。この場合、通常、username は sAMAccountName の名前です。Azure AD 内の sAMAccountName 属性を識別して、username 属性にマップする方法については、マイクロソフトのドキュメントを参照してください。

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

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

  2. SAML 設定画面のステップ 4 で、Azure AD からエクスポートした XML ファイルの場所を入力し、[アップロード] を選択します。

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

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

  4. SAML を構成するのが今回が初めてではない場合、次のステップを実行してください。

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

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

      tsm authentication saml configure -a -1

    2. 変更を適用します。

      tsm pending-changes apply

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

Azure AD アプリ プロキシ

Tableau Server の手前で Azure AD アプリ プロキシを実行していて、SAML が有効になっている場合は、Azure AD アプリ プロキシに追加の設定が必要です。

Tableau Server は、SAML が有効になっている場合にのみ、1 つの URL からトラフィックを受け入れることができます。ただし、既定では、Azure AD アプリ プロキシは外部 URL と内部 URL を設定します。

これらの値の両方をカスタム ドメイン内の同じ URL に設定する必要があります。詳細については、Microsoft のドキュメント「Azure AD アプリケーション プロキシでカスタム ドメインを構成する」(新しいウィンドウでリンクが開く)を参照してください。

トラブルシューティング

Azure AD アプリ プロキシ

場合によっては、ビューへのリンクは内部でレンダリングされますが、トラフィックが Azure AD アプリ プロキシを通過する場合は外部でのレンダリングに失敗します。この問題は、URL にナンバー記号 (#) があり、ユーザーがブラウザーでリンクにアクセスしている場合に発生します。Tableau Mobile アプリは、ポンド記号がある URL にアクセスできます。

ユーザー セッションのタイムアウトが無視されています

Tableau Server が SAML 用に構成されている場合、IdP の最大認証期間が Tableau の最大認証期間より大きい値に設定されているため、ユーザーがサインインするときにエラーが発生する可能性があります。この問題を解決するには、tsm configuration set のオプション wgserver.saml.forceauthn を使用することにより、Tableau が認証要求をリダイレクトするたびに、ユーザーの IdP セッションがまだアクティブであってもユーザーを再認証するよう IdP に要求することができます。

たとえば、Azure AD 設定 maxInactiveTime が Tableau Server の設定 maxAuthenticationAge よりも大きい場合、Tableau は認証要求を IdP にリダイレクトし、IdP はその後、ユーザーがすでに認証されているというアサーションを Tableau に送信します。しかし、ユーザーは Tableau Server の maxAuthenticationAge の範囲外で認証されているため、Tableau はユーザー認証を拒否します。このような場合は、次のいずれかを実行します。

  • wgserver.saml.forceauthn オプションを有効にして、Tableau が認証要求をリダイレクトするたびにユーザーを再認証するよう IdP に要求します。詳細については、wgserver.saml.forceauthnを参照してください。
  • Tableau Server の maxAuthenticationAge の設定値を大きくします。詳細については、tsm authenticationタイプの “a, --max-auth-age <max-auth-age>” を参照してください。

AppID の不一致

vizportal.log ファイルを確認すると、「対象のオーディエンスが受信者と一致しません」というエラーが表示される場合があります。

この問題を解決するには、appID が送信された ID と一致していることを確認してください。Azure は、使用中のアプリでアプリケーション ID を使用するときに、appID に "SPN" を自動的に追加します。Tableau SAML 設定で、アプリケーション ID に "SPN:" プレフィックスを追加して値を変更することができます。

例: SPN:myazureappid1234