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

前提条件

ライブ接続を使用するデータ ソースを含む RLS を実装する必要がある場合、以下のステップを使用して続行できます。

抽出データ ソースを含む RLS を実装する計画がある場合は、以下のステップを続行する前に考慮すべき追加のステップがいくつかあります。詳細については、抽出データ ソースを使用した RLS の要件を参照してください。

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

このセクションのステップでは、ユーザーベースのフィルタリングを組み込む最も簡単な方法について説明しており、RLS を使用しているデータ ソースまたはワークブックを保護するのに役立ちます。管理対象のユーザーまたはグループのセットが小規模かつ非常に静的で、ユーザー フィルターを必要とするワークブックが少しあるだけの場合は、この手順で十分となる可能性があります。この手順を完了することは、ユーザー フィルタリングにより詳しくなるための低コストの方法でもあります。

  1. Tableau Desktop でワークブックを開くか、新しく作成し、フィルターするデータへの接続をセットアップします。

  2. フィルターを適用するワークシートに移動します。

  3. [サーバー] > [ユーザー フィルターの作成] を選択します。次に、ビューのフィルターに使用するフィールドを選択します。この例では、「Region (地域)」を使用します。

  4. プロンプトが表示されたら、サーバーまたはサイトにサインインします。詳細については、Tableau Server または Online へのサインインを参照してください。

  5. [ユーザー フィルター] ダイアログ ボックスで、作成するルールのセットの名前を入力します。

    この例では、「Regional Managers (地域担当者)」を使用します。

  6. 左側のリストで、ユーザーまたはグループを選択します。右側で、先ほど選択したフィールドの個別メンバー (ユーザーに表示するよう選択したメンバー) を選択します。

    この例では、選択されたユーザー "Andrew Allen" は東部地域担当者です。そのため、フィールド メンバー リストで、"East (東部)" を選択します。

    ユーザーまたはグループごとにこのプロセスを繰り返し、値へのユーザーのマッピングが完了したら [OK] をクリックします。

    ユーザー フィルターを作成すると、そのフィルターは [データ] ペインの [セット] エリアに表示されます。

  7. ユーザー フィルターを [フィルター] シェルフまでドラッグします。

    フィルターはコンテキスト フィルターとなり、表示が許可されているデータを表示するようビューを調整します。

  8. フィルターをテストまたは微調整するには、次のいずれかを実行します。

    • ビューが空白キャンバスとして表示された場合、自分自身、または自分がメンバーとなっているグループに対し、地域の表示を許可する必要があります。

      [データ] ペインの [セット] エリアで、ユーザー フィルターのドロップダウン メニューを開き、[セットの編集] を選択します。

    • パブリッシュされたビューでのフィルターのしくみをプレビューするには、ワークブックの右下隅で [ユーザーとしてフィルター] メニューを開き、リストからユーザーまたはグループを選択します。

      注:ワークブックが Tableau Server データ ソースに接続している場合、プレビューは利用できません。

    • 自分のワークブックの表示に戻るには、[ユーザーとしてフィルター] メニューの右上隅の [リセット] を選択します。

    • あるユーザーやグループで設定したマッピング選択内容を別のユーザーやグループにコピーするには (同じ設定を手動でマッピングするのではなく)、選択したフィールド値をあるユーザーから別のユーザーにコピーするを参照してください。

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

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

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

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

この例では、データには "People (人々)" と呼ばれ、リファレンス テーブルが含まれ、この表には 2 つの列が含まれます。"Region" と "Manager" の 2 つの列があります。"Manager (担当者)" フィールドの名前は Tableau Server または Online のユーザー名と一致するため、このフィールドをフィルタリングに使用します。

フィールドや値は完全には一致しませんが、Tableau Desktop に付属の "Superstore (スーパーストア)" データに従うことができます。

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

  1. Tableau Desktop で、ユーザー フィルタリングを追加するワークブックを開くか、新しく作成し、フィルターするデータに接続します。

    この例では、"Orders (注文)" という表を使用します。

  2. [データ ソース] ページで、リファレンス テーブルを追加し、左結合を作成します。ここでは、"People (人々)" 表を追加し、"Region (地域)" フィールドで左結合を作成します。

  3. ワークシートに移動し、[分析] > [計算フィールドの作成] を選択して、次のフィールドを作成します。

    • 名前:User is a manager (ユーザーが担当者)
    • 式:USERNAME() = [Manager]

    この新しい "true/false" フィールドが [ディメンション] ペインに表示されます。サーバーにサインインしている人物のユーザー名が "Manager (担当者)" 列に存在する場合、式は「TRUE」を返します。

  4. "User is a manager (ユーザーが担当者)" フィールドを [フィルター] シェルフに追加します。

  5. [フィルター] ダイアログ ボックスで [True] を選択してから、[OK] をクリックします。

    これにより、担当者であるユーザーだけがビュー内のデータを表示できるようにフィルターを設定します。 

    ユーザーが [マネージャー] フィールドにリストされていない場合、ビューは空白キャンバスとして表示される場合があります。

  6. 特定の人物にビューがどのように表示されるかを確認します。右下から [ユーザーとしてフィルター] メニューを開き、担当者であることがわかっている人物を選択します。

    次の図は、Andrew Allen がサインインした場合、以前示したビューがどのように表示されるかを示します。

手動でユーザー フィルターを使用する際、パブリッシュされたコンテンツでのセキュアなユーザー フィルターの手順を実行する必要があります。

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

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

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

  1. データでセキュリティ フィールドを使用して動的フィルターを作成するの手順を完了します。

  2. Tableau Desktop の左下エリアで、[データ ソース] タブを選択します。

  3. [データ ソース] ページの右上のエリアの [フィルター] から、[追加] をクリックします。

  4. [データ ソース フィルターの編集] ダイアログ ボックスで [追加] をクリックし、動的フィルター用に作成した計算フィールドを追加してフィルターを True に設定します。

    この例では、"User is a manager (ユーザーが担当者)" フィールドです。

    [データ ソース] ページに戻るまで [OK] をクリックします。

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

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

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

重要: 昇格するために [データ ソース フィルターの編集] ダイアログ ボックスでグローバル フィルターを選択する必要はありませんので注意してください。[OK] をクリックすると、リスト内のすべてのグローバル フィルターが昇格します。

グローバル フィルターがデータ ソース フィルターに昇格しないようにするには、[データ ソース フィルターの編集] ダイアログ ボックスで該当のグローバル フィルターを選択し、[削除] をクリックします。

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

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

パーミッション設定

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

ワークブック データ ソース
  • Web 編集

  • ワークブックのダウンロード/名前を付けて保存

  • パーミッションの設定

  • 保存

  • ダウンロード/名前を付けて保存

  • パーミッションの設定

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

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

  1. [データ] ペインの [セット] から、[ユーザー フィルター] を選択します。ドロップダウン矢印をクリックし、[セットの編集] を選択します。

  2. [ユーザー フィルター] ダイアログ ボックスで、別のユーザーまたはグループから設定を貼り付けるユーザーまたはグループを選択します。

  3. [コピー元] をクリックし、設定をコピーするユーザーまたはグループを選択します。

関連項目

Tableau ビデオ ラーニング ライブラリの「ユーザー フィルターを使用したデータ セキュリティ」(Link opens in a new window)

ビデオを視聴するには、Tableau.com にサインインする (または無料アカウントを作成する) 必要があります。

ありがとうございます!