[第2回] Tableauのパーミッションはベストプラクティスを死守すべし!
miyabiiです。
Tableauサイト管理者 兼 DATA Saber挑戦中のApprenticeとして、考えたことや学んだことをシェアしていきます。
第2回は、Tableauのパーミッションについて。ベストプラクティスを死守することの大切さを痛感した出来事がありました。
サイト管理者はどうやってパーミッションを管理すべきか
自己紹介でお話ししたとおり、ある日、Tableauサイト管理者を引き継いで1年半。ただいま Tableau Server からTableau Cloudへの移行の真っ只中です。移行準備期間中に最も苦戦したこと、それは、パーミッション。
Tableauのパーミッションとは
Tableauのパーミッションとは、ユーザーやグループがTableauのデータやダッシュボードなどのコンテンツにアクセスしたり、編集したり、共有したりするための権限のことです。
例えば、あるユーザーが特定のダッシュボードを作成した場合、そのユーザーは通常そのダッシュボードの編集や共有ができます。しかし、他のユーザーがそのダッシュボードを見ることができるかどうか、また編集や共有ができるかどうかは、パーミッションによって制御されます。
パーミッションは、データの機密性やセキュリティを保護し、ユーザーが必要な情報にアクセスできるようにするために重要な概念です。組織内でのデータの利活用や共有、つまりデータガバナンスにおいて、パーミッションの設定は重要な役割を果たします。
パーミッション機能の自由度は高い
Tableauのパーミッション機能は、自由自在ともいえるほど、様々なシーンに合わせて誰にどれを見せるのかを決めて権限をつけることができます。この記事では、以下のうち「②何に対して」「③誰に対して」パーミッションを設定するとよいかを、ユーザ側と管理者側それぞれの立場で考えます。
①誰がパーミッションを設定するのか
・サイト管理者
・プロジェクト所有者
・プロジェクトリーダー(※)
(※)プロジェクトリーダーは、そのプロジェクト内の管理者であり、
プロジェクトに含まれる全てに対し完全な管理アクセス権を持つ。
②何に対してパーミッションを設定するのか
・プロジェクト(ネストされたプロジェクトを含む)
・ワークブック、データソース、フロー等のコンテンツ
③誰に対してパーミッションを設定するのか
・ユーザ
・グループ
④どのようなパーミッションを設定するのか
コンテンツに対する特定のアクション (ビュー、フィルター、ダウンロード、または削除など)
②③に対するパーミッション機能のベストプラクティス
ちゃんとTableauヘルプに書いてあります。
ベストプラクティスを守らないと何が起こるか
ユーザの視点では、きめ細やかな権限制御が可能
自由度が高いということは、誰にどれを見せるのか、きめ細やかな権限制御が可能という大きなメリットを享受できます。同じプロジェクトにある、AというワークブックはXさんに見せる、BというデータソースはXさんには見せずYさんにだけ見せる というようなことができるからです。
サイト管理者の視点では、管理不全になりガバナンスがきかない
サイト管理者が使うツールを用いても、誰がどれを見えるのか、全体を把握することが非常に困難になります。最悪はデータ流出のリスクを孕む状況になりえます。
長期的には、ユーザにも管理不全の不利益が及ぶ
ビジネスでTableauを使う場合、作成したコンテンツを長期間業務利用するシチュエーションも多いのではないでしょうか。長期間のメンテナンスにおいての鬼門である引継ぎ。パーミッションを設定した担当者が離任した途端、誰にどれを見せるのか、それをどのように設定しているのか、把握することが困難になります。
パーミッション管理不全に陥るアンチパターン
アンチパターン1:個々のコンテンツに対して設定する
プロジェクトではなく、ワークブックやデータソースに対してパーミッションを設定すること。
アセット パーミッションのロックをかけず、カスタマイズ可能な状態にしてしまうと、プロジェクト所有者やプロジェクトリーダーはワークブックやデータソース(アセット)に対して個別にパーミッションを変更することができてしまいます。
アセット パーミッションは、プロジェクトを新規作成した時点では、デフォルトで「カスタマイズ可能」になっているため、このアンチパターンに陥らないためには、最上位プロジェクト作成時点で「ロック」に都度変更する運用が必要です。(defaultプロジェクトにロックを設定しても、プロジェクト作成時には極めて残念ながら反映されません。。)
アンチパターン2:個々のユーザに対して設定する
グループではなく、個々のユーザに対してパーミッションを設定すること。
「ルールの追加」ボタンから、すべてのユーザとグループを選択できますが、このアンチパターンを回避するため、この選択肢をグループのみに絞る方法は残念ながら見当たりませんでした。
なぜアンチパターンが管理者を悩ませるのか
一言でいうと、誰がどれを見えるのか、リストアップする手段がないためです。
サイト管理者用の画面ではパーミッションを完全に把握できない
[ユーザ] の画面にはパーミッションが表示されないため、個々のユーザに設定されたパーミッションが分からない
管理ビューでもパーミッション一覧を出力させるのが難しい
Tableau Server リポジトリへの接続(Tableau Serverの場合)や、Admin Insights(Tableau Cloudの場合)で参照できる管理ビューでは、個々のコンテンツに対して設定されたパーミッション一覧を出力することが難しい。少なくとも、世に出回る管理ビューで出力できるものがなかった。
リポジトリはTableauサポート対象外のため、自力で管理ビューをカスタマイズできない場合に行き詰まる
私が直面したパーミッション地獄とガバナンスの危機
自分の管理するサイトをTableau Server からTableau Cloudに移行するにあたり、Tableau ServerのパーミッションをTableau Cloudにコピーしたかったのですが、自動コピーしてくれるような移行ツールもなく、Tableau Server リポジトリからリストを出すこともできず、地獄を見ました。
リストアップできないため、できることは地道に「パーミッション画面を一つ一つ開いて見て確認する」だけです。目で確認するので、大量にあれば当然、見間違いもあります。
冒頭で述べた一説を思い出してください。
パーミッションの設定誤りは、データガバナンスのインシデントに即繋がります。移行先のTableau Cloudではもちろん、ベストプラクティスを遵守した運用ルールを徹底できるようにしました。
このような地獄に陥らないよう、サイト管理者の方の他山の石となることを願います。
【backnumber】
[第1回]TableauのExplorerライセンスは、どういう時に使うのか?
[第2回] Tableauのパーミッションはベストプラクティスを死守すべし!
[第3回] 新しい運用ルールの決め方 ~パーミッション続編
[第4回] 権限制御はどこに実装する? ~Tableauとデータベースの機能分担について
[第5回] Tableauでの行レベル/列レベルセキュリティの実現方法あれこれ
[第6回] Tableauからデータベースへのアクセス時の認証について
[第7回] 失敗例から学んでほしいダメなTableauの使い方
[第8回] クリーニングから始まるTableau Cloud移行
[第9回] Vizが遅い?! ~TableauCloud移行で性能に悩んだ話