データベースの行レベル セキュリティ

組織で既にデータベースの行レベル セキュリティ (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 は存在しません。データ ソースはワークブックに埋め込まれたままにするのではなく、個別にパブリッシュする必要があります。

行レベル セキュリティ メソッドの比較マトリックス

メソッド役に立つ状況長所短所
エンタイトルメント テーブル (推奨)
  • データベースにエンタイトルメントの既存の概念がある場合
  • 組織が初めて行レベル セキュリティを設定しているとき
  • テスト、更新、保守、拡張が簡単
  • バージョン 2018.3 以降のライブ接続と抽出の両方で動作する
  • エンタイトルメント テーブルの作成と維持が必要
  • パフォーマンスを最適化するために適切なキーの選択と作成が必要になる場合がある
CONTAINS() と抽出
  • バージョン 2018.3 以前の抽出で RLS を実装する場合
  • 抽出の効率を活用できる
  • すべてのユーザーを 1 つの列にマッピングする必要がある
  • 文字列計算のため、ライブ接続に切り替えるのが困難
偽装
  • データにアクセスするすべてのユーザーが SQL Server のユーザーとして存在する場合 (通常は、内部展開)
  • セキュリティが 1 か所 (データベース) で処理および維持される
  • ビューにアクセスするすべてのユーザーが SQL Server 内にユーザーとして存在している必要がある
  • Microsoft SQL Server でのみ動作する
Kerberos
  • Kerberos 委任に必要なすべてのデータベースが設定され、RLS がデータベース上 (通常は内部展開) に設定されている場合
  • データベースのアクセス ログにビューアーの名前が表示される
  • セキュリティがデータベースで処理および維持される
  • Tableau が、LDAP - Active Directory を使用するように構成されている必要がある
  • Tableau Server を AD ドメインに結合する必要がある
  • すべてのユーザーが AD ドメイン内に存在している必要がある
初期 SQL
  • データベースで初期 SQL をサポートし、RLS がデータベース側で設定されている場合
  • 読み込み時に Tableau パラメーターを渡すことができる
  • 他のユーザーと共有できない専用の接続
  • クエリをユーザーとして実行するため、ユーザーがデータベース内に存在している必要がある
  • 初期 SQL をサポートしていないデータベースもある
  • キャッシュ共有が制限されているためにパフォーマンスに影響を及ぼす可能性がある
フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!