---
schema_version: "1"
id: ca93b2129cc2ca5fbeeb345dd7dfa0398602856ea22a61b9582dfd2505816153
title: ユーザー フィルターと行レベルのセキュリティでデータ アクセスを制約する
collection: tableau
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/current/ja-jp/pro/desktop/publish_userfilters.md
canonical_url: https://help.tableau.com/current/pro/desktop/ja-jp/publish_userfilters.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 9588f976302e35c03a08c7fd0a3642e287bbf45b1069933d3221d1c97978ad1a
description: Restrict data access at the row level using user filters and row-level security.
---
[メイン コンテンツに進む](#main-content)

# データ行レベルでのアクセスの制限

ワークブックを Tableau Server または Tableau Cloud にパブリッシュして他のユーザーと共有する場合、既定では、ワークブックへアクセスできるすべてのユーザーにビュー内のすべてのデータが表示されてしまいます。サーバーにサインインしたユーザーがビューで表示可能なデータ「行」を指定できるフィルターのタイプを適用することにより、この動作を上書きできます。

行レベルでデータを保護するこの方法は、ライブ接続を使用するデータ ソース、および表が複数の表として保存されている抽出データ ソースに適用されます。複数の表を使用した抽出データ保存の詳細については、[データの抽出](https://help.tableau.com/current/pro/desktop/ja-jp/extracting_data.htm#storage)を参照してください。

**注:** Tableau の行レベルのセキュリティを実装するために使用できる代替方法については、Tableau Server ヘルプの「[Tableau の行レベル セキュリティのオプションの概要](https://help.tableau.com/v2021.4/server/ja-jp/rls_options_overview.htm)」を参照してください。  
  
その他の関連情報については、ホワイトペーパー「[資格テーブルを使用した行レベルのセキュリティに関するベストプラクティス](https://www.tableau.com/learn/whitepapers/row-level-security-entitlements-tables)」を参照してください。

## ユーザー ベースのフィルターリングのしくみ

数年にわたる、さまざまな地理的地域での、製品セットの四半期売上高のレポートを作成すると想定してください。

このレポートをパブリッシュする際は、各地域マネージャーに対し、彼らの地域に関連するデータのみの表示を許可する場合があります。各担当者に個別のビューを作成するのではなく、ユーザーの特性 (ロールなど) に基づいてデータへのアクセスを制限する_ユーザー フィルター_を適用できます。

このようにしてデータへのアクセスを制限することを、_行レベルのセキュリティ_ (RLS) と呼びます。Tableau は行レベルのセキュリティに対し、次アプローチを提供します。

- [手動でユーザー フィルターを作成し、ユーザーを値にマッピングする](https://help.tableau.com/current/pro/desktop/ja-jp/publish_userfilters_create.htm#create-user-filter)。
    
    この方法は便利ですが、手がかかり、セキュリティが不透明になる可能性があります。ワークブックごとに行う必要があり、ユーザー ベースが変更されるたびにフィルターを更新してデータ ソースをパブリッシュし直す必要があります。
- [データでセキュリティ フィールドを使用して動的フィルターを作成する](https://help.tableau.com/current/pro/desktop/ja-jp/publish_userfilters_create.htm#dynamic)。
    
    この方法を使用して、ユーザーをデータ値へマッピングするプロセスを自動化する計算フィールドを作成します。この方法では、フィルターに使用するセキュリティ情報が参照元データに含まれている必要があります。
    
    最も一般的なのは、この情報を含む参照 (「ルックアップ」、「エンタイトルメント」、または「セキュリティ」) テーブルを使用する方法です。たとえば、ビューを管理者のみが表示できるようにフィルターする場合は、参照元データを設定してユーザー名を含め、各ユーザーの役割を指定する必要があります。
    
    フィルターリングはデータ レベルで定義され、計算フィールド別に自動化されるため、このメソッドはユーザーを手動でデータ値にマッピングするよりも安全です。

### データ ソースへのユーザー フィルターの追加

以前のセクションの 2 つのメソッドでは、ワークブックに埋め込まれたデータにフィルターを追加する方法について説明しています。複数のワークブックが同じデータに接続している場合、各ワークブック上で複数のフィルターを使用する代わりに、データ ソースをフィルターしてから、パブリッシュ後にワークブックをデータ ソースに接続させることができます。

フィルターされたデータ ソースに接続するワークブックは、サーバーにサインインしているユーザーが見ることを許可されているデータのみを表示します。さらに、接続されているすべてのワークブックはデータの更新を実行と同時に表示します。

### 抽出と、ユーザー フィルターを使用したライブ接続

一般的に、上記メソッドのいずれかを使用する場合、抽出を使用した RLS の方がライブ接続を使用するデータ ソースを使用した RLS よりも速く作成され、パフォーマンスも高くなります。

抽出データ ソースを使用した RLS の要件

上記で述べたように、抽出を使用した RLS を使用するための最初の要件は、抽出のデータを複数物理テーブルを使用して保存する必要があるということです。抽出を構成し、次の[データの抽出](https://help.tableau.com/current/pro/desktop/ja-jp/extracting_data.htm#storage)に従って複数の物理テーブルを使用してデータを保存できます。

抽出を使用した RLS を使用する予定がある場合は、上記要件に加えいくつかの追加事項を検討します。複数の表を使用して保存された抽出データは、抽出フィルターや抽出データ量を減らすのに役立つその他のいくつかの機能をサポートしていないため、次の提案事項のいずれかを使用することを検討します。

- カスタム SQL を使用してデータに接続する
- すでに適切なレベルのフィルターリングが適用されているデータベース ビューに接続する

これらの提案の詳細については、[データの抽出](https://help.tableau.com/current/pro/desktop/ja-jp/extracting_data.htm#normalized_altfilter)を参照してください。

**抽出データ ソースを使用した RLS での推奨されるプラクティス**

抽出を使用した RLS を効果的に実行するため、Tableau では抽出時に 2 つの表 (またはデータベース ビューや カスタム SQL クエリ) を保持しておくことをお勧めします。つまり、抽出時の表は次のタイプの表で構成するようにします。

- データ テーブル - これは、表示するすべてのデータが含まれるテーブルです。
- 参照表 - これは、ユーザー情報およびユーザーが所属するセキュリティ グループが含まれる「ルックアップ」または「エンタイトルメント」の表です。

抽出内の表をこれらの 2 つに最小化することで、Tableau で実行する必要のある結合がこれらの 2 つの表の間でのみ実行されるため、データの重複や「結合の爆発」を回避することができます。

## 関連項目

- Tableau Server ヘルプの[データ セキュリティ](https://help.tableau.com/current/server/ja-jp/security_data.htm)
- Tableau Server ヘルプの「[Tableau の行レベル セキュリティ オプションの概要](https://help.tableau.com/current/server/ja-jp/rls_options_overview.htm)」

## このセクションの他の記事