ユーザー フィルターを作成し、パブリッシュ用にセキュリティで保護する

前提条件

ライブ データ ソースで行レベル セキュリティ (RLS) を実装するには、次の手順に従います。

抽出で RLS を実装するには、いくつかの追加の手順と考慮事項があります。詳細については、抽出データ ソースを使用した RLS の要件を参照してください。

注: Tableau で RLS を実装するために使用できる代替手段については、「Tableau の行レベル セキュリティ オプションの概要(新しいウィンドウでリンクが開く)」を参照してください。

手動でユーザー フィルターを作成し、ユーザーを値にマッピングする

ユーザー ベースのフィルター処理は、RLS を使用してデータ ソースやワークブックをセキュリティで保護するためのオプションの 1 つです。この手順は、ユーザーまたはグループが小規模で、かなり固定的であり、ユーザー フィルターを必要とするワークブックの数が少ない場合に最適です。

  1. Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。
  2. フィルターを適用するワークシートに移動します。
  3. [サーバー] > [ユーザー フィルターの作成] を選択します。次に、ビューのフィルタリングに使用するフィールド ([地域] など) を選択します。
  4. プロンプトが表示されたら、サーバーまたはサイトにサインインします。
  5. [ユーザー フィルター] ダイアログ ボックスで、フィルターに名前を付けます。ここでは、「地域マネージャー」とします。
  6. 左側でユーザーまたはグループを選択し、右側で表示できる値を指定します。ユーザーまたはグループごとにこのプロセスを繰り返し、値へのユーザーのマッピングが完了したら [OK] をクリックします。

    この例では、Andrew Allen が東部地域を表示するように設定されています。

  7. ユーザー フィルターを作成すると、そのフィルターは [データ] ペインの [セット] エリアに表示されます。
  8. ユーザー フィルターを [フィルター] シェルフまでドラッグします。フィルターはコンテキスト フィルターとなり、表示が許可されているデータを表示するようビューを調整します。

フィルターをテストまたは微調整する方法

  • ビューが空白キャンバスとして表示された場合、自分自身、または自分がメンバーとなっているグループに対し、地域の表示を許可する必要があります。[データ] ペインの [セット] エリアで、ユーザー フィルターのドロップダウン メニューを開き、[セットの編集] を選択します。
  • パブリッシュされたビューでのフィルターのしくみをプレビューするには、ワークブックの右下隅で [ユーザーとしてフィルター] メニューを開き、リストからユーザーまたはグループを選択します。

    注: パブリッシュされたデータ ソースにワークブックが接続されている場合、プレビューは利用できません。

  • 自分のワークブックの表示に戻るには、[ユーザーとしてフィルター] メニューの右上隅の [リセット] を選択します。
  • あるユーザーやグループで設定したマッピング選択内容を別のユーザーやグループにコピーするには (同じ設定を手動でマッピングするのではなく)、選択したフィールド値をあるユーザーから別のユーザーにコピーするを参照してください。

既知の制限

Tableau Desktop とパブリッシュされたデータ ソースを使用している場合、LOD 式とユーザー関数の両方を含む計算は Tableau Desktop では正しく計算できません。これらの計算は取り除かれます。

重要: ワークブックをパブリッシュするときは、追加の手順を実行して、ユーザーがワークブックを編集したり、フィルターを削除したりできないようにする必要があります。詳細については、パブリッシュされたコンテンツでのセキュアなユーザー フィルターを参照してください。

データでセキュリティ フィールドを使用して動的フィルターを作成する

以下の手順は次のビューに基づいて、地域担当者のリストに対する年間売上実績を示しています。

データ行レベルでのアクセスの制限」で説明されているように、このアプローチでは、フィルタリングに使用するフィールドがデータベースに含まれている必要があります。

この例では、データには [人々] という参照テーブルが含まれており、そのテーブルには [地域] と [マネージャー] の 2 つの列が含まれています。[マネージャー] フィールドの名前は Tableau Cloud または Tableau Server のユーザー名と一致するので、このフィールドをフィルタリングに使用します。

フィールドと値は完全には一致しませんが、Tableau Desktop に付属のスーパーストアのデータを使用して操作を進めることができます。

データへの接続とユーザー フィルターのセットアップ

  1. Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。この例では、"Orders (注文)" という表を使用します。
  2. [注文] テーブルをダブルクリックして、結合キャンバスを開きます。左結合で参照テーブル (人々) を追加します。この例では、[地域] フィールドで結合します。
  3. ワークシートで [分析]、[計算フィールドの作成] の順に選択し、「ユーザーはマネージャーである」という名前の次のフィールドを作成します。

    USERNAME() = [Manager]

    サーバーにサインインしたユーザーのユーザー名が [人々] テーブルの [マネージャー] 列に存在する場合、この計算は TRUE を返します。

  4. "User is a manager (ユーザーが担当者)" フィールドを [フィルター] シェルフに追加します。
  5. [フィルター] ダイアログ ボックスで [True] を選択してから、[OK] をクリックします。

    これにより、担当者であるユーザーだけがビュー内のデータを表示できるようにフィルターを設定します。[マネージャー] フィールドに記載がない場合、オーサリング中のビューが空白のキャンバスとして表示されることがあります。

  6. 特定の人にビューがどのように見えるかを確認します。右下の [ユーザーとしてフィルター] メニューを開き、マネージャーであることがわかっている人を選択します。

重要: 手動のユーザー フィルターと同様に、パブリッシュされたコンテンツでのセキュアなユーザー フィルターための手順を踏む必要があります。

データ ソースをフィルターする

パブリッシュされた各ワークブックでユーザー フィルターや特別なパーミッションを維持するのではなく、データ ソースをフィルターしてからパブリッシュし、データを使用する 1 対多の共有リソースとして使用できるようにします。

この手順は、このトピックで説明した動的フィルター アプローチから構築されます。

  1. データでセキュリティ フィールドを使用して動的フィルターを作成するの手順を完了します。
  2. Tableau Desktop の左下エリアで、[データ ソース] タブを選択します。
  3. [データ ソース] ページの右上のエリアの [フィルター] から、[追加] をクリックします。

  4. [データ ソース フィルターの編集] ダイアログ ボックスで、[追加] をクリックして動的フィルター (ユーザーは管理者である) 用に作成した計算フィールドを追加し、フィルターを True に設定します。[データ ソース] ページに戻るまで [OK] をクリックします。

グローバル フィルターとデータ ソース フィルター

データ ソース フィルターを作成すると、グローバル フィルターを簡単にデータ ソース フィルターに昇格できるように、該当のデータ ソースを使用しているすべてのグローバル フィルターが自動的に [データ ソース フィルターの編集] ダイアログ ボックスに表示されます。グローバル フィルターをデータ ソース フィルターに昇格するには、[OK] をクリックします。

グローバル フィルターをデータ ソース フィルターに昇格すると、そのグローバル フィルターはワークブックのワークシートでは表示されなくなります (データ ソース フィルターになるため)。

: [データ ソース フィルターの編集] ダイアログ ボックスでグローバル フィルターを選択してプロモートする必要はないことに注意してください。[OK] をクリックすると、リスト内のすべてのグローバル フィルターが昇格します。グローバル フィルターがデータ ソース フィルターに昇格しないようにするには、[データ ソース フィルターの編集] ダイアログ ボックスで該当のグローバル フィルターを選択し、[削除] をクリックします。

パブリッシュされたコンテンツでのセキュアなユーザー フィルター

ユーザー フィルターを使用してワークブックやデータ ソースをパブリッシュするときは、ワークブックを開くユーザーや Tableau Server データ ソースに接続するユーザーがフィルターを削除し、それによりすべてのデータへのアクセスを取得できないようパーミッションを設定する必要があります。

パーミッション設定

ユーザー フィルターを保護するには、パブリッシュ中、またはサーバー上でパブリッシュ後に次の機能を [拒否] に設定する必要があります。

ワークブックデータ ソース
  • Web 編集
  • コピーをダウンロードまたは保存
  • パーミッションの設定
  • 保存
  • ダウンロード
  • パーミッションの設定

選択したフィールド値をあるユーザーから別のユーザーにコピーする

ユーザー フィルターを手動で作成する場合、ユーザーやグループをデータの値 (メンバー) にマッピングした後、別のユーザーやグループを同じ方法でマッピングすることがあります。設定をコピーして貼り付けることでこれを実行できます。

  1. [データ] ペインの [セット] から、[ユーザー フィルター] を選択します。ドロップダウン矢印をクリックし、[セットの編集] を選択します。
  2. [ユーザー フィルター] ダイアログ ボックスで、別のユーザーまたはグループから設定を貼り付けるユーザーまたはグループを選択します。
  3. [コピー元] をクリックし、設定をコピーするユーザーまたはグループを選択します。

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