Kerberos サービス アカウントへのアクセスの有効化

データベースへのアクセスに Kerberos サービス アカウントを使用するように Tableau Server を構成することができます。このシナリオでは、Tableau Server がサービス アカウント ("実行アカウント" とも呼ばれます) を使用してデータベースに接続します。

Tableau Server で実行アカウント認証を使用するには、まず統合認証を使用するワークブックまたはデータ ソースを作成する必要があります。ユーザーが Tableau Server へのパブリッシュを行う際に、実行アカウント認証のオプションが表示されます。Tableau Server の Web 作成で統合認証を使用するデータ ソースを作成した場合、そのデータ ソースでは既定で実行アカウント認証が使用されます。

: 統合認証は、一部のコネクタでは Windows 認証とも呼ばれます。どちらの場合も、Tableau Server では Kerberos 認証が使用されます。

実行サービス アカウントを使用したデータ アクセス

実行アカウント認証を使用するには、実行アカウントが外部データベースへの読み取りおよびクエリ パーミッションを持っている必要があります。設計上、Creator ロールまたは Explorer (パブリッシュ可能) ロールを持つ Tableau Server ユーザーは、外部データベースへのクエリ用に実行アカウントへのフル アクセス権を持っています。

たとえば、Creator ロールを持つユーザーは、実行サービス アカウントに対してアクセスが許可されているすべてのデータベースを表示できます。また、表を一覧表示し、カスタム SQL を実行できます。

Creator ユーザーが Web 作成で新しいデータ ソースを作成する際にデータベース ホスト名を指定して統合認証を選択すると、実行アカウント アクセスが許可されているデータベースがユーザーに表示されます。

データベース資産への表示アクセスは、Web 作成を使用して Tableau Server に接続するユーザーに限定されません。上記と同じロールを持ち、データベース サーバー名を知っている高度なユーザーは、実行アカウント アクセスが許可されているデータベースを表示するワークブックを Tableau Desktop で作成できます。

推奨事項

これらのシナリオでデータベースへのユーザー アクセスが許可されるかどうかを、組織で評価する必要があります。一般に、実行サービス アカウントの使用量および使用範囲を減らすと、ユーザーがデータベースのコンテンツに不注意にアクセスする可能性も減少します。ただし、実行サービス アカウントの使用量および使用範囲を減らすことで、管理者やユーザーの認証資格情報管理の負担が大きくなる場合もあります。

貴社のビジネス ニーズとデータ アクセス ポリシーに照らして、次の推奨を評価してください。

  • まず、Creator ロールまたは Explorer (パブリッシュ可能) ロールを持つすべてのユーザーを必ず信頼してください。Tableau で整合性のあるアクションを実行するには、これらのユーザーに依存する必要があります。
  • 実行サービス アカウントでアクセスするデータ ソースに対する権限をパブリッシュしているユーザーの中に信頼できないユーザーがいる場合は、それらのデータ ソースに認証資格情報を埋め込むことを検討する必要があります。
  • データ ソースで抽出更新の自動化が設定されていない場合、つまり、データ ソースが主にライブ接続でアクセスされている場合は、Kerberos 委任を使用できる可能性があります。要件については、Kerberos 委任の有効化を参照してください。

要件

  • MIT Kerberos はサポートされません。
  • 実行サービス アカウントには、ターゲット データベースへの読み取りアクセス権が付与されている必要があります。

構成プロセス

このセクションでは、Kerberos サービス アカウントへのアクセスを有効にするプロセスについての例を示します。

  1. ドメイン ユーザー アカウントを作成し、実行サービス アカウントとして操作します。このアカウントには、ターゲット データベースへの読み取りアクセス権が付与されている必要があります。

    この例では、実行サービス アカウントは tabsrv@example.com というユーザー プリンシパル名です。

  2. 実行サービス アカウントのキータブ ファイルを作成します。

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

    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 データ ディレクトリにキータブをコピーし、適切な所有権とパーミッションを設定します。キータブは権限なしユーザーが読み取り可能である必要があります。Tableau セットアップで作成される既定の権限なしユーザーは tableau です。

    マルチノード展開を実行している場合は、クラスタ内の各ノードで以下のコマンドを実行する必要があります。

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

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. 次の TSM コマンドを実行して Tableau Server 展開に変更を適用します。

    tsm pending-changes apply

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

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