Tableau On Tour 2015 Tokyo [ブレイクアウトセッションレポート] おさえておくべきTableau Server ツールボックス #data15
2015年11月10日〜12日の3日間にわたり、東京ヒルトンで Tableau Conference On Tour 2015 開催されました。当エントリでは、ブレイクアウトセッション「おさえておくべきTableau Server ツールボックス」についてレポートします。
Tableau Server ユーティリティ
2つのコマンドユーティリティを提供しています。
Tabadminによるユーザーの追加の例
cd C:\Program Files\Tableau\Tableau Server\9.1\bin tabcmd login -s http://localhost -u admin -p password tabcmd createusers "C:\Program Files\Tableau\Tableau Server\Users\user_tabcmd.csv" tabcmd logout
登録するユーザー一覧はCSVファイルを用意します。
foo bar,password,bar,Interactor,None,no,bar@example.com foo baz,password,baz,Interactor,None,no,baz@example.com
※ フォーマットは、<ユーザー名>,<パスワード>,<ディスプレイ名>,<サイトロール>,<管理者レベル>,<パブリッシャー(yes/no)>,<電子メールアドレス> です。詳細は、CSV インポート ファイルのガイドラインを御覧ください。
セキュリティ
Tableau Serverのセキュリティは4つのレイヤーに分けられます。
認証
ユーザー名とパスワードによって認証します。認証は、ユーザの認証と、好みや設定に基いてパーソナライズできます。
許可(パーミッション)
- ユーザーとユーザーをまとめて管理するグループがある
- ユーザーやグループにパーミッションを指定
- ユーザーにサイトロールを指定
- グループを作成してユーザーをグループに追加する
- グループにパーミッションを指定する
以下のフローに基づき、コンテンツに対するパーミッションが決まります。
許可(Permissions)の管理
- パーミッションはユーザではなく、グループにパーミッション付与してユーザーをグループに追加
- マルチテナント(複数サイトが)が可能、サイト間のワークブックの移動はできないように敢えて分離してデザインしているので、移動にはダウンロード・パブリッシュが必要
- コンテンツにパーミッションを割り当てる
注意点
- 個々のユーザーに付与されたすべてのパーミッションは、グループのパーミッションよりも優先される
- パーミッションを設定した後、全てのコンテンツにパーミッションを"Assign Permissions to Contents"ボタンを押して適用する
データセキュリティ
データのセキュリティは、データベースアカウント、認証モード、ユーザーフィルタの3つに分類されます。
データベースアカウント
ライブ接続では、データベース組み込みのセキュリティモデルを使用することができます。
認証モード
データベースにユーザIDを送信するために選択されたメカニズムです。
ユーザーフィルタ
Tableau Serverは、ログインデータであるユーザー名によって利用可能なデータをフィルタすることができます。
ユーザーフィルタによる ”Row Level Security”
ユーザーによって見ることができるデータを制限します。例えば、地域の管理者と共有される売上レポートでは、西部地域マネージャは東の売上のみ、東部地域マネージャーは西部の売上を見のみ、とユーザーによって参照できるデータをフィルタすることができます。このような方法を"Row Level Security" と呼びます。
USERNAME関数によりTableau Serverのビューを見ている人のユーザー名は、データに記載されているユーザ名と一致するかチェックによって実現します。
参考:User Filters and Row Level Security
ネットワークセキュリティ
Tableau Server には 3 つの主要なネットワークインターフェイスがあります。
クライアントから Tableau Server へ
クライアントとして Web ブラウザー、Tableau Desktop、または tabcmd ユーティリティを指定できます。
Tableau Server からデータベースへ
データ抽出を更新するか、稼働中のデータベース接続を処理するには、Tableau Server はデータベースと通信する必要があります。
サーバー コンポーネント通信
これは分散配置の場合にのみ適用されます。
ローカル認証ではなく、ユーザー管理の手間やユーザーエクスペリエンスの向上のため、よりエレガントでシームレスな認証を得られる方法を提案しています。
- Active Directory.
- SAML.
- Kerberos.
- Trusted Authentication.
詳細は、ネットワークセキュリティ を参照してください。
最後に
サーバーセキュリティを支える重要な概念である、ユーザーのサイトロール、ユーザーやグループのパーミッションによるパーミッションの管理方法をご紹介しました。その他、ユーザーの一括登録やRow Level Securityといったテクニックは、早速利用してみたいと思います。