データベースの行レベル セキュリティ
組織で既にデータベースの行レベル セキュリティ (RLS) の構築に力を入れている場合は、次のいずれかの方法を使用して既存の RLS を利用できる可能性があります。データベースのセキュリティ モデルを活用するには、ライブ接続が必要です。さらに、これらの方法は Tableau Cloud では使用できない可能性があります。Tableau Cloud の Tableau ユーザー名は一意のメール アドレスで、通常はデータベース側のユーザー ID ではありません。
組み込み RLS モデルの実装を Tableau での構築に比べて簡単にしたり改善したりする必要はありません。通常、これらの方法は組織が既にこれらのテクノロジに投資し、それを活用しようとしている場合に利用されます。
注: Tableau で行レベル セキュリティを実装するために使用できる代替方法については、Tableau の行レベルのセキュリティ オプションの概要を参照してください。
偽装 (Microsoft SQL Server)
Microsoft SQL Server (およびいくつかの関連システム) では、Security Junction Table または DBA で構築されたビューのいずれかを使用して、RLS フィルターが組む込まれたビューのみにデータベースのユーザーがアクセスできるように設定できます。Tableau では、"偽装" と呼ばれる概念を使用してこれを活用できます。
MS SQL Server 接続を含む Tableau データ ソースを Tableau Server にパブリッシュする場合に、偽装を使用できる認証オプションが 2 つあります。表示されるメニューは、ネットワーク認証を使用して SQL Server にログインしたか、ユーザー名とパスワードの認証資格情報を入力したかによって異なります。
Tableau Server のパブリッシュされたデータ ソースにアクセスできるすべてのユーザーに対して RLS フィルターリングを有効にするには、AD 実行アカウントまたは SQL サーバーの埋め込み認証資格情報に、ダッシュボードまたはデータ ソースにアクセスするデータベース内のすべての Tableau ユーザーに対する EXECUTE AS パーミッションが含まれている必要があります。すべての Tableau ユーザーがユーザーとしてデータベース サーバーに存在し、接続先 (および RLS の適用先) のビューに対する SELECT 権限を持っている必要があります。要件の包括的なリストについては、偽装の要件を参照してください。
Kerberos と制約付き委任
Kerberos を使用する Tableau Server 内の制約付き委任は、Tableau Server がワークブックのビュー、またはビューアーに代わってクエリを実行するビューの Kerberos 認証資格情報を使用できるという点で偽装と同様の動作を行うため、データベースに RLS が設定されている場合、ワークブックのビューアーには自分のデータのみが表示されます。
Kerberos 委任がサポートされているデータベースの包括的なリストを表示するには、Kerberos 委任の有効化を参照してください。Active Directory は必須です。Tableau Server がインストールされているコンピューターを Active Directory のドメインに結合する必要があります。データ ソースをパブリッシュするときに指定する認証方法(新しいウィンドウでリンクが開く)は、ビューアー認証資格情報にする必要があります。
Microsoft Analysis Services を使用する場合は、RLS に Kerberos を使用できます。
OLAP キューブ
Tableau の OLAP キューブ接続はデータ ソース フィルターと同等ではありません。この接続は Tableau のエンタイトルメント テーブルベースの RLS メソッド、または USERNAME() 関数へのアクセスで必要となります。こうした理由から、Kerberos と制約付き委任は OLAP データベースを使用する RLS に対して推奨される方法となり、これにより Tableau は OLAP サーバー側で既に実装されているユーザー フィルターを利用できるようになります。
ダッシュボードを表示するユーザーがドメインに含まれていない場合は、ユーザー フィルターを手動で作成する方法を実行できます。ただし、生成されたユーザー フィルター セットはデータ ソース フィルターとして追加できず、代わりにフィルター シェルフに追加されるため、この方法を使用してパブリッシュされたビューには Web 編集機能とワークブックのダウンロード機能を使用できないようにすることが重要です。
SAML 委任と SAP HANA
Tableau Server が SAP HANA SSO の構成を使用してシングル サインオンを使用できるように構成されている場合、ビューアーの認証資格情報を使用してクエリをユーザーとして実行し、ユーザー レベルで適用されるすべてのセキュリティ内で動作するようになります。データ ソースをパブリッシュするときに指定する認証方法(新しいウィンドウでリンクが開く)は、ビューアー認証資格情報にする必要があります。
ユーザー固有のセッションを強制する初期 SQL (Oracle VPD)
初期 SQL では、セッション中に使用する一時テーブルまたはカスタム データ環境を設定するために一時テーブルを設定する目的で、接続がデータベースに作成されている場合に実行される SQL コマンドを指定できます。
Oracle VPD では、特定のストアド プロシージャまたは関数を実行してユーザーに固有のセッションを設定し、Tableau ユーザーのユーザー名と一致するようにデータベース接続のコンテキストを設定できます。
begin DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]); end;
RLS でこれを偽装と同様に使用する場合は同じ高度な要件が当てはまります。DBA は、VPD および関連するすべてのユーザーがデータベースに存在するように設定する必要があります。
MS SQL Server で、EXECUTE AS コマンドを強制できます (ただし、これは Tableau が偽装で既に行っている内容と似ています)。
EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;
注: データ ソースが埋め込まれていて、ユーザーが Web 編集またはワークブックのダウンロードに対するパーミッションを持っている場合、RLS を強制する初期 SQL は簡単に削除できるため、RLS は存在しません。データ ソースはワークブックに埋め込まれたままにするのではなく、個別にパブリッシュする必要があります。
行レベル セキュリティ メソッドの比較マトリックス
メソッド | 役に立つ状況 | 長所 | 短所 |
エンタイトルメント テーブル (推奨) |
|
|
|
CONTAINS() と抽出 |
|
|
|
偽装 |
|
|
|
Kerberos |
|
|
|
初期 SQL |
|
|
|