[第6回] Tableauからデータベースへのアクセス時の認証について

miyabiiです。
Tableauサイト管理者 兼 DATA Saber挑戦中のApprenticeとして、考えたことや学んだことをシェアしていきます。
第6回は、Tableauからデータベース(DB)へのアクセス時の認証と権限制御について。


TableauからDBに接続するには

Tableauでは、パブリッシュされたデータ ソースの接続情報を保有し、TableauからDBにアクセスする際の認証方法を選択できます。これは、データソースの[アクション] メニューから[接続の編集]を開いて設定します。

「接続の編集」で認証方法を設定

①認証資格情報を埋め込む

接続にDB認証資格情報を埋め込み、ユーザーに対してデータへの直接アクセスを許可することができます。

②接続時にユーザ・パスワード入力させる

DB接続時に、ユーザーにサインインを要求するよう設定することもできます。

サインイン要求がエラー画面ですが慌てず驚かず、[サインイン]ボタンからDBの認証を行います。(ちなみに本当にエラーの場合も同様の画面です・・・)

(キャプチャはBigQuery接続の場合)

一度サインインが成功すると、同じ接続先に対する認証資格情報が保存され、次にアクセスする際には再度サインインを求められなくなります(便利!)

保存された認証資格情報には OAuth アクセス トークン、またはユーザー名とパスワードなどのその他の認証資格情報があります。どの認証資格情報が保存されているかは、[アカウント設定] ページの保存された認証資格情報で確認できます。

アカウント設定ページにある保存済み認証資格情報(抜粋)

パブリッシュ時に認証方法を設定することもできる

ワークブックをパブリッシュするときに、データ ソースで認証が必要な場合、認証資格情報の取得方法を設定できます。
[ワークブックのパブリッシュ] ダイアログ ボックスで、 [データ ソース] エリアの[編集] を選択すると、[データ ソースの管理] ポップアップが表示されます。そこでデータ ソースを別にパブリッシュするか、ワークブックの一部としてパブリッシュするかを決定した後、データ ソースの各接続に対して認証方法を選択します。

DB認証方法はどう決めればよいか?

抽出をスケジューリングする場合は、埋め込み

保存した認証資格情報を使用して、更新をスケジュール設定することで、データソースを更新することができます。逆に言えば、定期実行で抽出する場合は、認証資格情報を埋め込みしなければなりません。

DBの行レベル/列レベル セキュリティを使う場合は、埋め込みNG

前々回前回の記事で、行レベル/列レベル セキュリティについて考察しましたが、DB側の機能を使う場合、ワークブックを表示する本人の権限でDBにライブ接続することが前提のため、抽出も認証資格情報の埋め込みもNGです。

個人の認証資格情報を埋め込んだ場合、「引継ぎ」に注意

埋め込んだ認証資格情報が無効になると、当たり前のことですが、DB接続はエラーになります。かつて、担当者が離任することになり、その人の認証資格情報を埋め込んだ接続がすべて無効になってしまったことがありました。ワークブックは開けないし、抽出のスケジュールはエラーになります。

これを避けるには、「個人ではない」アカウントを使えばよいのですが、セキュリティルールで共用アカウントの利用に制限がある場合や、サービスアカウント用のCreatorライセンスコストがかかる点から、やむなく個人の認証資格情報の埋め込みを続けざるを得ないケースもあるのではないでしょうか。実際、私はこのケースに遭遇して、引き継がれた全ワークブック・データソースの認証資格情報を変更したことがあります。長期に渡り継続してTableauを運用するには、どのような認証資格情報を埋め込むかをよくよく検討することをおススメします。

【backnumber】
[第1回]TableauのExplorerライセンスは、どういう時に使うのか?
[第2回] Tableauのパーミッションはベストプラクティスを死守すべし!
[第3回] 新しい運用ルールの決め方 ~パーミッション続編
[第4回] 権限制御はどこに実装する? ~Tableauとデータベースの機能分担について
[第5回] Tableauでの行レベル/列レベルセキュリティの実現方法あれこれ
[第6回] Tableauからデータベースへのアクセス時の認証について
[第7回] 失敗例から学んでほしいダメなTableauの使い方
[第8回] クリーニングから始まるTableau Cloud移行
[第9回] Vizが遅い?! ~TableauCloud移行で性能に悩んだ話

いいなと思ったら応援しよう!