• SIS Lab
  • >
  • Blog
  • >
  • 【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

更新日:2020.07.10 作成日:2020.05.08

Tableau Publicって保存するときは、必ずTableau Public Galallyに「公開」されるものだと思われていないでしょうか。 少なくとも私は、Tableau Publicで作成したVizは絶対に「公開」されるものであり、「非表示」にもできないと思っていました。

しかし、Twitterで「Tableau PublicのVizを非表示にするというキーワード」が目に止まりました。 気になって調べてみると実はデフォルト「非表示」で公開するオプションがあり、あまり知られていなさそうな設定だったので記事にまとめてみました。

設定方法

1. 自分のTableau Publicプロフィールページの右上のアイコン >「設定」ボタンをクリック

meganii - プロフィール | Tableau Public

Tableau プロパティ

2. 保存中 (英語だとWhen Saving…)にチェック

Tableau プロパティ

3. Tableau Publicから通常通り「名前を付けてTableau Publicに保存」をクリック

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

4. Tableau Publicの保存結果を確認するとデフォルトで「非表示」となる

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

「非表示」とはどういう状態なのか

「非公開」や「限定公開」という言葉を使わなかったのには理由があります。それは「非表示」とは自分以外の他人に対して自分のTablau PublicのViewやアクティビティが表示されないに過ぎないからです。

Tablau Publicに公開したVizのURLを"直接指定"すれば、誰でも閲覧できます。Vizの埋め込みも同様です。

そのため、自分以外には見られない「非公開」や「限定公開」を期待して利用することはできません。推測されやすいワークブック名にしていたとすれば、適当にURLを叩いていれば他者が閲覧できる可能性がゼロとは言えないからです。

適切な長さ・ランダム性を持つ「ワークブック名」にすれば有用

ランダムなURLを発行して、そのURLを知っている人だけがアクセスできる手法はいろんなサービスで実装されています。例えば、gyazo.comではURLにmd5のハッシュ値を利用しており、そのURLを知る人しかアクセスできない状態を作っています。

この「非表示」Vizも、適切な長さ・ランダム性を持つ「ワークブック名」をつければ、確率的には安全であると言えそうです。

Gyazoで画像をアップロードすると、それぞれの画像ページに固有のURLが付与されます。そのURLを知っている人だけが画像ページにアクセスすることができます。他の人に画像ページのURLを知らせると、その人はウェブブラウザから画像ページのURLにアクセスして画像を閲覧できます。
画像のURLは、ハッシュ関数で暗号化されており、例えば次のような形式です。 例: https://gyazo.com/e0ff5ec65913f68331ca5fd88f5dad72 この暗号部分は 2の128乗 の可能性があるため、340,282,366,920,938,463,463,374,607,431,768,211,456 通りものURLが存在しうることになり、数学的に見て、Gyazoの正しいIDを推測するのが非常に困難であることが分かります。 自分の画像は他の人にも公開されますか?(Gyazoの安全性、セキュリティについて) – Gyazo ヘルプセンター

Gyazoは画像をアップロードすると自動で https://gyazo.com/64ad3 … のような32桁のIDを含むURLを発行します。IDは0〜9とa〜fの16種類の文字で構成されていて、すべてのIDは16の32乗で340,282,366,920,938,463,463,374,607,431,768,211,456通りです。Gyazoは現在約10億枚(1,000,000,000枚)の画像を保管していますので、ランダムにIDを入力すると0.00000000000000000000000000029%の確率で画像を見つけることができます。数学的に見て、Gyazoの正しいIDを推測するのが非常に困難であることが分かります。またGyazoではDoS攻撃への対策もとられているため、大量のアクセスを通じてIDを割り出すことは不可能です。
Gyazoは会社で使えない?誤解の解説とセキュアなGyazoTeamsのご紹介|スクショ撮影ならGyazo Teams|note

ランダムなハッシュ値を取得する例

$ openssl rand -base64 12 | fold -w 10 | head -1 | md5
a313c9b036de73192efeffd277f40bf8

ちなみに、ワークブック名は256文字未満という制約があるようです。やってみた感じだとワークブック名/シート名?URLパラメタを含めていそうです。(厳密に検証は行なっていません)

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法
【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

「非表示」の場合はnoindexが指定される

あと気になるのは、Googleなどの検索エンジンに非表示Vizをクロールされないかどうかです。 「非表示」Vizと通常Vizの<meta name="robots"/>タグを見比べてみました。

結果としては、下図の通り、非表示Vizはnoindexが指定されているので、意図せず検索結果に出る恐れはなさそうです。

通常Viz

indexが指定されているので、Google botにクロールされる。

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

非表示Viz

noindexが指定されているので、Google botのクロール対象外となる。

【Tableau】Tableau Publicにデフォルト「非表示」で保存する方法

まとめ

Tableau Publicは公開が前提という固定観念があったため、デフォルト「非表示」で保存できるとは気付きませんでした。「非表示」であっても、直接URLを指定すれば閲覧可能なので、その点に注意すれば大変便利に使うことができそうです。

参考

Related contents