ユーザー フィルターを作成し、パブリッシュ用にセキュリティで保護する
前提条件
ライブ データ ソースで行レベル セキュリティ (RLS) を実装するには、次の手順に従います。
抽出で RLS を実装するには、いくつかの追加の手順と考慮事項があります。詳細については、抽出データ ソースを使用した RLS の要件を参照してください。
注: Tableau で RLS を実装するために使用できる代替手段については、「Tableau の行レベル セキュリティ オプションの概要(新しいウィンドウでリンクが開く)」を参照してください。
手動でユーザー フィルターを作成し、ユーザーを値にマッピングする
ユーザー ベースのフィルター処理は、RLS を使用してデータ ソースやワークブックをセキュリティで保護するためのオプションの 1 つです。この手順は、ユーザーまたはグループが小規模で、かなり固定的であり、ユーザー フィルターを必要とするワークブックの数が少ない場合に最適です。
- Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。
- フィルターを適用するワークシートに移動します。
- [サーバー] > [ユーザー フィルターの作成] を選択します。次に、ビューのフィルタリングに使用するフィールド ([地域] など) を選択します。
- プロンプトが表示されたら、サーバーまたはサイトにサインインします。
- [ユーザー フィルター] ダイアログ ボックスで、フィルターに名前を付けます。ここでは、「地域マネージャー」とします。
- 左側でユーザーまたはグループを選択し、右側で表示できる値を指定します。ユーザーまたはグループごとにこのプロセスを繰り返し、値へのユーザーのマッピングが完了したら [OK] をクリックします。
この例では、Andrew Allen が東部地域を表示するように設定されています。
- ユーザー フィルターを作成すると、そのフィルターは [データ] ペインの [セット] エリアに表示されます。
- ユーザー フィルターを [フィルター] シェルフまでドラッグします。フィルターはコンテキスト フィルターとなり、表示が許可されているデータを表示するようビューを調整します。
フィルターをテストまたは微調整する方法
- ビューが空白キャンバスとして表示された場合、自分自身、または自分がメンバーとなっているグループに対し、地域の表示を許可する必要があります。[データ] ペインの [セット] エリアで、ユーザー フィルターのドロップダウン メニューを開き、[セットの編集] を選択します。
- パブリッシュされたビューでのフィルターのしくみをプレビューするには、ワークブックの右下隅で [ユーザーとしてフィルター] メニューを開き、リストからユーザーまたはグループを選択します。
注: パブリッシュされたデータ ソースにワークブックが接続されている場合、プレビューは利用できません。
- 自分のワークブックの表示に戻るには、[ユーザーとしてフィルター] メニューの右上隅の [リセット] を選択します。
- あるユーザーやグループで設定したマッピング選択内容を別のユーザーやグループにコピーするには (同じ設定を手動でマッピングするのではなく)、選択したフィールド値をあるユーザーから別のユーザーにコピーするを参照してください。
既知の制限
Tableau Desktop とパブリッシュされたデータ ソースを使用している場合、LOD 式とユーザー関数の両方を含む計算は Tableau Desktop では正しく計算できません。これらの計算は取り除かれます。
重要: ワークブックをパブリッシュするときは、追加の手順を実行して、ユーザーがワークブックを編集したり、フィルターを削除したりできないようにする必要があります。詳細については、パブリッシュされたコンテンツでのセキュアなユーザー フィルターを参照してください。
データでセキュリティ フィールドを使用して動的フィルターを作成する
以下の手順は次のビューに基づいて、地域担当者のリストに対する年間売上実績を示しています。
「データ行レベルでのアクセスの制限」で説明されているように、このアプローチでは、フィルタリングに使用するフィールドがデータベースに含まれている必要があります。
この例では、データには [人々] という参照テーブルが含まれており、そのテーブルには [地域] と [マネージャー] の 2 つの列が含まれています。[マネージャー] フィールドの名前は Tableau Cloud または Tableau Server のユーザー名と一致するので、このフィールドをフィルタリングに使用します。
フィールドと値は完全には一致しませんが、Tableau Desktop に付属のスーパーストアのデータを使用して操作を進めることができます。
データへの接続とユーザー フィルターのセットアップ
- Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。この例では、"Orders (注文)" という表を使用します。
- [注文] テーブルをダブルクリックして、結合キャンバスを開きます。左結合で参照テーブル (人々) を追加します。この例では、[地域] フィールドで結合します。
- ワークシートで [分析]、[計算フィールドの作成] の順に選択し、「ユーザーはマネージャーである」という名前の次のフィールドを作成します。
USERNAME() = [Manager]
サーバーにサインインしたユーザーのユーザー名が [人々] テーブルの [マネージャー] 列に存在する場合、この計算は TRUE を返します。
- "User is a manager (ユーザーが担当者)" フィールドを [フィルター] シェルフに追加します。
- [フィルター] ダイアログ ボックスで [True] を選択してから、[OK] をクリックします。
これにより、担当者であるユーザーだけがビュー内のデータを表示できるようにフィルターを設定します。[マネージャー] フィールドに記載がない場合、オーサリング中のビューが空白のキャンバスとして表示されることがあります。
- 特定の人にビューがどのように見えるかを確認します。右下の [ユーザーとしてフィルター] メニューを開き、マネージャーであることがわかっている人を選択します。
重要: 手動のユーザー フィルターと同様に、パブリッシュされたコンテンツでのセキュアなユーザー フィルターための手順を踏む必要があります。
データ ソースをフィルターする
パブリッシュされた各ワークブックでユーザー フィルターや特別なパーミッションを維持するのではなく、データ ソースをフィルターしてからパブリッシュし、データを使用する 1 対多の共有リソースとして使用できるようにします。
この手順は、このトピックで説明した動的フィルター アプローチから構築されます。
- データでセキュリティ フィールドを使用して動的フィルターを作成するの手順を完了します。
- Tableau Desktop の左下エリアで、[データ ソース] タブを選択します。
- [データ ソース] ページの右上のエリアの [フィルター] から、[追加] をクリックします。
- [データ ソース フィルターの編集] ダイアログ ボックスで、[追加] をクリックして動的フィルター (ユーザーは管理者である) 用に作成した計算フィールドを追加し、フィルターを True に設定します。[データ ソース] ページに戻るまで [OK] をクリックします。
グローバル フィルターとデータ ソース フィルター
データ ソース フィルターを作成すると、グローバル フィルターを簡単にデータ ソース フィルターに昇格できるように、該当のデータ ソースを使用しているすべてのグローバル フィルターが自動的に [データ ソース フィルターの編集] ダイアログ ボックスに表示されます。グローバル フィルターをデータ ソース フィルターに昇格するには、[OK] をクリックします。
グローバル フィルターをデータ ソース フィルターに昇格すると、そのグローバル フィルターはワークブックのワークシートでは表示されなくなります (データ ソース フィルターになるため)。
注: [データ ソース フィルターの編集] ダイアログ ボックスでグローバル フィルターを選択してプロモートする必要はないことに注意してください。[OK] をクリックすると、リスト内のすべてのグローバル フィルターが昇格します。グローバル フィルターがデータ ソース フィルターに昇格しないようにするには、[データ ソース フィルターの編集] ダイアログ ボックスで該当のグローバル フィルターを選択し、[削除] をクリックします。
パブリッシュされたコンテンツでのセキュアなユーザー フィルター
ユーザー フィルターを使用してワークブックやデータ ソースをパブリッシュするときは、ワークブックを開くユーザーや Tableau Server データ ソースに接続するユーザーがフィルターを削除し、それによりすべてのデータへのアクセスを取得できないようパーミッションを設定する必要があります。
注
- パブリッシュを行う前に、組織内の既存のポリシー (特にパーミッション設定のためのポリシー) に関し、Tableau 管理者に相談することをお勧めします。データ ソースやワークブックをパブリッシュする際にパーミッションを設定するも参照してください。
- この情報は、ライブ接続またはデータが複数の表に保存されている抽出を使用するデータ ソースのパブリッシュに適用されます。
パーミッション設定
ユーザー フィルターを保護するには、パブリッシュ中、またはサーバー上でパブリッシュ後に次の機能を [拒否] に設定する必要があります。
ワークブック | データ ソース |
---|---|
|
|
選択したフィールド値をあるユーザーから別のユーザーにコピーする
ユーザー フィルターを手動で作成する場合、ユーザーやグループをデータの値 (メンバー) にマッピングした後、別のユーザーやグループを同じ方法でマッピングすることがあります。設定をコピーして貼り付けることでこれを実行できます。
- [データ] ペインの [セット] から、[ユーザー フィルター] を選択します。ドロップダウン矢印をクリックし、[セットの編集] を選択します。
- [ユーザー フィルター] ダイアログ ボックスで、別のユーザーまたはグループから設定を貼り付けるユーザーまたはグループを選択します。
- [コピー元] をクリックし、設定をコピーするユーザーまたはグループを選択します。