Kerberos 委任の有効化

Kerberos 委任を使用すると、Tableau Server はワークブックまたはビューを参照しているユーザーの Kerberos 認証資格情報を使用してそのユーザーのためにクエリを実行できます。これは、次のような場合に役立ちます。

  • 誰がデータにアクセスしているかを知る必要があります (ビューアーの名前はデータ ソースのアクセス ログに表示されます)。

  • データ ソースのセキュリティは行レベルですが、別のユーザーは別の行へのアクセス権があります。

サポートされているデータ ソース

Tableau では次のデータ ソースを使用する Kerberos 委任がサポートされています。

  • Cloudera: Hive/Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS は Linux プラットフォームではサポートされていません。

要件

Kerberos 委任には Active Directory が必要です。

  • Tableau Server のアイデンティティ ストアが、Active Directory を使用するように構成されている必要があります。
  • Tableau Server がインストールされているコンピューターを Active Directory のドメインに結合する必要があります。
  • MIT Kerberos はサポートされていません。

Web オーサリングとユーザーの Kerberos 認証

特定のターゲットに対してデータへの接続を構成する場合、優先認証方法として統合認証または Windows 認証を選択できます。ただし、Web 作成シナリオのデフォルトの動作では、Kerberos サービス アカウント (「実行」アカウント) が代わりに使用されます。

Kerberos 委任を使用した Web 作成シナリオでユーザーの認証資格情報を有効にするには、TSM を使用して追加の構成を行う必要があります。次のコマンドを実行します。

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

この構成を行うと、Web オーサリングとの統合認証を選択した場合、Kerberos 委任がデフォルトの操作になります。ただし、この設定によってコンテンツ作成者がサービス アカウントにアクセスすることは妨げられません。作成者は、Tableau Desktop またはその他の方法を使用して、実行サービス アカウントに接続するコンテンツをパブリッシュすることができます。

実行サービス アカウントの詳細については、「Kerberos サービス アカウントへのアクセスの有効化」を参照してください。

構成プロセス

このセクションでは、Kerberos 委任を有効にするためのプロセスの例を示します。また、シナリオには各構成要素間のリレーションシップを説明する際に便利なサンプル名が含まれています。

  1. Tableau Server では、データベースへの呼び出しを開始するユーザーの委任に Kerberos サービス チケットが必要となります。指定したデータベースへの委任に使用するドメイン アカウントを作成する必要があります。このアカウントは実行サービス アカウントと呼ばれます。このトピックで委任/実行アカウントとして構成されたサンプル ユーザーは、tabsrv@example.com となります。

    このアカウントは、ユーザー ドメインに接続されている Windows Server 上の Active Directory のユーザーおよび PC を使用して構成する必要があります。

    • 実行サービス アカウントの [プロパティ] ページを開き、[委任] タブをクリックして [指定サービスの委任用のみ、このユーザーを信頼する] および [任意の認証プロトコルを使用する] を選択します。
  2. 実行サービス アカウントのキータブ ファイルを作成します。

    たとえば、ktutil ツールを使用して、次のコマンドでキータブ (tabsrv-runas.keytab) を作成します。

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    このコマンドの暗号化スキームには、RC4-HMACaes128-cts-hmac-sha1-96aes256-cts-hmac-sha1-96 などがあります。環境およびデータ ソースに適した暗号化スキームについては、 IT チームにお問い合わせください。

    ktutil:  wkt tabsrv-runas.keytab

    Tableau Server では、実行サービス アカウントおよび関連付けられたキータブを使用して認証を行い、データベースへ直接接続します。

  3. Tableau Server データ ディレクトリにキータブをコピーし、適切な所有権とパーミッションを設定します。マルチノード展開を実行している場合は、クラスター内の各ノードで以下のコマンドを実行する必要があります。

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. 次の TSM コマンドを実行して Kerberos 委任を有効にし、委任サービス アカウントを設定してキータブ ファイルとサービス アカウントを関連付けます。

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    場合によっては、TSM で --force-keys と記載されるエラーが返されることがあります。このエラーが発生する場合は、引数に --force-keys パラメーターに追加してコマンドを再度実行してください。

  5. 次の TSM コマンドを実行して Tableau Server へ変更を適用します。

    tsm pending-changes apply

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

  6. データ接続で委任を有効にします:

    関連項目

    Kerberos のトラブルシューティング

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!