Tableauログイン時のGoogle Cloudセッション設定の最適化

アソビューAdvent Calendar 2023の10日目(A面)です。

アソビューのデータ基盤ユニットチームでデータエンジニアをやっている米澤です。

本日は2023年7月頃にアソビュー社で発生していたTableau Cloudに関する問題と、その解決方法を紹介できればと思います。

このブログ内容が、同じような問題に直面されている方の一助になれば幸いです。

自己紹介

詳細な経歴は以前こちらのブログにも書いたので割愛しますが、現在は社内のデータ基盤を構築・運用する役割である「データエンジニア」という立場です。

tech.asoview.co.jp

アソビュー社ではデータ(分析)基盤としてGoogle Cloudの「BigQuery」をメインで活用しており、BIツールは「Tableau」を利用しています。 日々発生するサービスのトランザクションデータをデータ基盤に取り込んで、Tableauで可視化するまでのデータパイプラインの運用・構築は私のメイン業務でもあります。

よって、Tableauで社内メンバーが快適にデータ閲覧できる環境を整えるのも仕事の1つになります。

アソビュー社で発生した問題

では、アソビュー社でどんな問題が発生していたか?

Tableauを使う企業の多くがそうであるように、アソビュー社でもローカル環境においてTableau Desktopで作成したワークブック(レポート)をTableau Cloudへパブリッシュ(アップロード)し、その他ユーザはTableau Cloud上でそのワークブックを閲覧する、という使い方をしています。

Tableauのデータソースは、BigQuery / Snowflake / Redshift / Athenaなど多くのデータウェアハウスサービスに対応していますが、アクセスするには当然各サービスへのアクセス権限が必要になります。アソビュー社でTableau Desktopでワークブック作成する際は、BigQueryへのアクセス権限をOAuth認証してから作成します。そのワークブックをパブリッシュした後で、Tableau Cloud上でデータソース接続のための認証情報を設定して保持する(埋め込む)ことができるようになっています。

この設定は当然BigQueryへのアクセス権限がある人しか設定できません。 しかし、1度設定してしまうと、認証情報が切れるまでは、Tableau Cloudを閲覧する権限がある人であればこれらのパブリッシュされたワークブックをいつでも閲覧することができます。

ちなみに、「①ワークブック(レポート)を閲覧できる権限:Tableauの権限」と「②データソースにアクセスできる権限:BigQueryの権限」は当然分かれているため、①の権限を持っていても②の権限がなければ、ワークブック閲覧はできません。

発生した問題は、この埋め込んだ認証情報が「1日で切れてしまう」という事象です。

その結果として、Tableau Cloudでワークブックを閲覧したい人が「レポートが見れません!!」とアラートを出すことになり、ワークブック作成者が「わかりました。認証情報を更新します。」という作業が毎日発生してしまう状態でした。

これでは、とても「社内メンバーが快適にデータ閲覧できる環境」とは言えません。

アソビュー社のTableauログイン認証方法

解決方法の前に、アソビュー社のTableau認証方法をご説明します。

Tableauには以下2種類のログイン認証方法があります。

  1. Tableauデフォルト
  2. 追加の認証方法

Tableauデフォルトのログイン認証は多要素認証(MFA)を使った認証です。Google Authenticatorなどを使って認証する、どの企業でも利用されている方法です。

追加の認証方法の詳細はTableauヘルプページに譲りますが、いくつか種類があり、その中でアソビュー社では、「OneLogin」というSSO ID プロバイダー(IdP)サービス のSAML(Security Assertion Markup Language)認証を使ったログイン認証を行なっています。

アソビュー社ではこのOneLoginで多くの利用するアプリケーションのログイン認証を行っており、Tableauだけではなく、Google Cloud(BigQuery)もそれらアプリケーションに含まれます。

また、アソビュー社ではWorkgroupとして「Google Workspace」を利用しています。

問題の原因

結論から先にお話すると、原因は「Google Workspace」の「Google Cloud セッション管理」の設定でした。 よって、この設定を変更することで解決しました。

解決方法の補足

解決方法は上記に記載した通りですが、Google Workspaceでどの箇所を変更したのかも簡単に説明しておきます。

企業に所属されている場合、情シスなどの管理者権限のある人しかアクセスできないかもしれませんが、まず、Google WorkspaceのAdmin画面へアクセスします。 (Google Cloudの [IAM と 管理] - [ID と 組織] の [管理コンソール] からアクセス可能)

アクセスしたら、左図のメニュー「Google Cloud セッションの管理」ページを開いてください。 すると、右図の「再認証ポリシー」という項目が表示されるはずです。

ここで「再認証を要求する間隔」を長く設定しても良いのですが、企業のセキュリティ上あまり良い選択ではありません。そこで、「信頼できるアプリは免除する」のチェックボックスをONにして、「アプリのアクセス制御」ページで表示されるアプリの中にTableauがありますので、そのTableauを「信頼できる」アプリとして設定すれば、今回の事象は解消できます。

今回の対応で苦労した点

今回の対応で一番苦労したのは、「原因がどこかわからなかった」ことです。

最初はTableau CloudやOneLoginのどこかの設定が間違っているのか?と思って調査して頓挫、カスタムOAuthで有効期限を長くした別の認証設定を行えば良いのでは?と調査して頓挫・・など、かなり時間を無駄にしました。これは、何よりも「Google Workspaceの存在をちゃんと認識していなかった」という要因が大きかったように思います。

個人でGoogle Cloudを使っていてもGoogle Workspaceを使うことはまずないので、この存在は完全に頭から消えていました。

しかし、Google Workspaceを使ってログイン管理していることがわかると、前述のフロー図が頭に浮かんできて、解決に至りました。

まとめ

今回の対応で得た教訓としては「物事の裏にあるオブジェクト(登場人物)をちゃんと把握してから対応を進めること」でしょうか。

常日頃意識はしているつもりですが、複雑なシステムやアクセス権限がないのでそもそも存在が認識できないサービスなどの条件が重なると、どうしても詳細が不明瞭になってしまい、必要な登場人物を忘れてしまいます。何だ、原因はお前だったのかよ・・と、気づいてみればシンプルな原因だった、というのもよくあること。だからこそ、基本に立ち返るのが大事。今後、データエンジニアとしての業務に慣れてきたとしても、謙虚に忘れずに業務に励みたいと思います。

アソビューでは「生きるに、遊びを。」をミッションに、一緒に働くメンバーを募集しています。 ご興味がありましたらお気軽にご応募いただければと思います。

www.asoview.com