---
schema_version: "1"
id: a6c724b37518a78e1f2f57c790902c0d1ed1e73ee0c731af20609baf09057f96
title: ユーザー フィルターを作成し、パブリッシュ用にセキュリティで保護する
collection: tableau
version: next
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/next/ja-jp/pro/desktop/publish_userfilters_create.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/ja-jp/publish_userfilters_create.htm
source_site: help.tableau.com
content_type: documentation
content_hash: f3bcd81a6e726273d36bb49addb5db80b91791ecfbf7efcd6f1cb703cf718636
description: Create a user filter and secure it for publishing to implement row-level security.
---
[メイン コンテンツに進む](#main-content)

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

## 前提条件

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

抽出で RLS を実装するには、いくつかの追加の手順と考慮事項があります。詳細については、[抽出データ ソースを使用した RLS の要件](https://help.tableau.com/v0.0/pro/desktop/ja-jp/publish_userfilters.htm#rls-extract-req)を参照してください。

**注:** Tableau で RLS を実装するために使用できる代替手段については、「[Tableau の行レベル セキュリティ オプションの概要](https://help.tableau.com/v2021.4/server/ja-jp/rls_options_overview.htm)」を参照してください。

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

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

1. Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。
2. フィルターを適用するワークシートに移動します。
3. \[サーバー\] > \[ユーザー フィルターの作成\] を選択します。次に、ビューのフィルタリングに使用するフィールド (\[地域\] など) を選択します。
4. プロンプトが表示されたら、サーバーまたはサイトにサインインします。
5. \[ユーザー フィルター\] ダイアログ ボックスで、フィルターに名前を付けます。ここでは、「地域マネージャー」とします。
6. 左側でユーザーまたはグループを選択し、右側で表示できる値を指定します。ユーザーまたはグループごとにこのプロセスを繰り返し、値へのユーザーのマッピングが完了したら \[OK\] をクリックします。
    
    この例では、Andrew Allen が東部地域を表示するように設定されています。
    
    ![ユーザーのリストと地域選択セクションを含むユーザー フィルターのダイアログ ボックス。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/exuserfilter4.png)
7. ユーザー フィルターを作成すると、そのフィルターは \[データ\] ペインの \[セット\] エリアに表示されます。
8. ユーザー フィルターを **\[フィルター\]** シェルフまでドラッグします。フィルターはコンテキスト フィルターとなり、表示が許可されているデータを表示するようビューを調整します。
    
    ![\[フィルター\] カードに \[地域マネージャー\] フィールドが追加された Tableau ワークシート。](Img/exuserfilter6.png)

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

- ビューが空白キャンバスとして表示された場合、自分自身、または自分がメンバーとなっているグループに対し、地域の表示を許可する必要があります。\[データ\] ペインの \[セット\] エリアで、ユーザー フィルターのドロップダウン メニューを開き、\[セットの編集\] を選択します。
- パブリッシュされたビューでのフィルターのしくみをプレビューするには、ワークブックの右下隅で **\[ユーザーとしてフィルター\]** メニューを開き、リストからユーザーまたはグループを選択します。
    
    **注:** パブリッシュされたデータ ソースにワークブックが接続されている場合、プレビューは利用できません。
- 自分のワークブックの表示に戻るには、\[ユーザーとしてフィルター\] メニューの右上隅の \[リセット\] を選択します。
- あるユーザーやグループで設定したマッピング選択内容を別のユーザーやグループにコピーするには (同じ設定を手動でマッピングするのではなく)、[選択したフィールド値をあるユーザーから別のユーザーにコピーする](#copy-selection)を参照してください。

**既知の制限**

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

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

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

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

![マネージャー別および年別の売上額を表示する棒グラフ。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/filterfunctions1.png)

「[データ行レベルでのアクセスの制限](https://help.tableau.com/v0.0/pro/desktop/ja-jp/publish_userfilters.htm#how-user-filters-work)」で説明されているように、このアプローチでは、フィルタリングに使用するフィールドがデータベースに含まれている必要があります。

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

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

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

1. Tableau Desktop でワークブックを開き、フィルタリングするデータに接続します。この例では、"Orders (注文)" という表を使用します。
2. \[注文\] テーブルをダブルクリックして、結合キャンバスを開きます。左結合で参照テーブル (人々) を追加します。この例では、\[地域\] フィールドで結合します。
3. ワークシートで \[分析\]、\[計算フィールドの作成\] の順に選択し、「ユーザーはマネージャーである」という名前の次のフィールドを作成します。
    
    `USERNAME() = [Manager]`
    
    ![](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/userfilter-calc-field.png)
    
    サーバーにサインインしたユーザーのユーザー名が \[人々\] テーブルの \[マネージャー\] 列に存在する場合、この計算は TRUE を返します。
4. "User is a manager (ユーザーが担当者)" フィールドを \[フィルター\] シェルフに追加します。
5. \[フィルター\] ダイアログ ボックスで \[True\] を選択してから、\[OK\] をクリックします。
    
    これにより、担当者であるユーザーだけがビュー内のデータを表示できるようにフィルターを設定します。\[マネージャー\] フィールドに記載がない場合、オーサリング中のビューが空白のキャンバスとして表示されることがあります。
6. 特定の人にビューがどのように見えるかを確認します。右下の \[ユーザーとしてフィルター\] メニューを開き、マネージャーであることがわかっている人を選択します。

> [!IMPORTANT]
> 
> **重要**: 手動のユーザー フィルターと同様に、[パブリッシュされたコンテンツでのセキュアなユーザー フィルター](#publish-user-filters)ための手順を踏む必要があります。

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

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

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

1. [データでセキュリティ フィールドを使用して動的フィルターを作成する](#dynamic)の手順を完了します。
2. Tableau Desktop の左下エリアで、\[データ ソース\] タブを選択します。
3. \[データ ソース\] ページの右上のエリアの \[フィルター\] から、\[追加\] をクリックします。
    
    ![](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/filter_datasource1.png)
4. \[データ ソース フィルターの編集\] ダイアログ ボックスで、\[追加\] をクリックして動的フィルター (ユーザーは管理者である) 用に作成した計算フィールドを追加し、フィルターを True に設定します。\[データ ソース\] ページに戻るまで \[OK\] をクリックします。

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

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

![データ ソース フィルターの編集ダイアログ。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/global_filter_dsfilter_autopromote.png)

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

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

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

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

**注**

- パブリッシュを行う前に、組織内の既存のポリシー (特にパーミッション設定のためのポリシー) に関し、Tableau 管理者に相談することをお勧めします。[データ ソースやワークブックをパブリッシュする際にパーミッションを設定する](https://help.tableau.com/v0.0/pro/desktop/ja-jp/publish_workbooks_permissions_add.htm)も参照してください。
- この情報は、ライブ接続またはデータが複数の表に保存されている抽出を使用するデータ ソースのパブリッシュに適用されます。

**パーミッション設定**

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

<table class="simple-table">
                    <colgroup><col>
                    <col>
                    </colgroup><thead>
                        <tr>
                            <th>ワークブック</th>
                            <th>データ ソース</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>
                                <ul>
                                    <li>Web 編集</li>
                                    <li>コピーをダウンロードまたは保存</li>
                                    <li>パーミッションの設定</li>
                                </ul>
                            </td>
                            <td>
                                <ul>
                                    <li>保存</li>
                                    <li>ダウンロード</li>
                                    <li>パーミッションの設定</li>
                                </ul>
                            </td>
                        </tr>
                    </tbody>
                </table>

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

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

1. \[データ\] ペインの \[セット\] から、\[ユーザー フィルター\] を選択します。ドロップダウン矢印をクリックし、\[セットの編集\] を選択します。
2. \[ユーザー フィルター\] ダイアログ ボックスで、別のユーザーまたはグループから設定を貼り付けるユーザーまたはグループを選択します。
3. \[コピー元\] をクリックし、設定をコピーするユーザーまたはグループを選択します。
    
    ![フィルターが適用されたユーザーのリストを表示するダイアログ ボックス。](/tableau/next/ja-jp/pro/desktop/ja-jp/Img/userfilter8.png)