個人用アクセストークンと接続ツールの JWT、そしてそれぞれが正しい場面
2つの異なる仕事をする、2つの Tableau 認証情報。ひとつは人のパーミッションを運びます。もうひとつはプラットフォームの機能を拡張します。正しいほうを選ぶことで、何年もかけて築いたパーミッションモデルが、誰が何を見るかを決め続けます。
トークンは作るのも忘れるのも簡単で、その忘却が障害の出どころです。誰がひとつを所有し、その期限が誰も見ていないジョブに何をし、所有者が去ると何が起こり、隙間なくローテーションするにはどうするか。
更新 · 7 分で読めます
個人用アクセストークンは名前のある人に、その人の名前で発行され、その人がすでに持つ Tableau パーミッションを正確に運びます。それがガバナンス境界を築く価値のあるものにしています:それで行われることはすべて所有者がどのみちできたことで、下流のすべての監査行はその名前を正直に運びます。
それはトークンを、技術的なオブジェクトではなく管理上のオブジェクトにもします。所有者がいて、所有者にはチームがあり、チームには当番表があります。このページのほぼすべての厄介なことは、そのひとつの事実から続きます。
持つ価値のある最初のアーティファクトは登録簿です:トークンごとに一行、それが動かすジョブ、それに責任を負う人、保存場所、期限日を記して。4行は書くのに10分で、さもなければ午前ひとつかかる問いに答えます。それはこういう問いです:これを失効させたら、何が止まるか。
Tableau Cloud はトークンごとに1つのライブセッションを許します。そのトークンを使う新しいサインインは、その前のセッションを終わらせます。ひとりが使っている間は快適で、2つのものが使った瞬間に厄介になります。
スイートはその振る舞いに逆らうのではなく、それを中心に作られています。ゲートウェイは一度サインインし、単一の Tableau セッションを発行し、そのひとつのセッションを各ツールに渡します。ツールは、同じトークンでそれぞれ再びサインインして前のサインインを無効にする代わりに、それを共有します。
同じルールが長いジョブの振る舞いを形作ります。Cloud のソースに対する移行実行が承認される前に、事前チェックのプレビューがはっきりそう言います:この実行専用のトークンを、他の何も使わない名前で使い、スケジュール、ブラウザタブ、2台目のデバイスがそれを共有していないことを確かめてください。実行は認証の失敗を間隔を置いたラウンドで再試行します:1回の衝突は生き残れますが、同じトークンでサインインし続けるクライアントはやはりそれを飢えさせます。Server のソースはひとつのトークンでの同時セッションを許容するため、何年も無害だった習慣が、初めての Cloud 実行でチームを驚かせることがあります。
スケジュールされたジョブと人が互いに干渉しているように見えるのは、たいていこれで、断続的な製品の不安定さとして現れ、実際にはそうである認証情報の問題にはめったに見えません。他の何かを調べる前に、各側がどのトークンを持っているかを確かめてください。
トークンには期限があり、その上に築かれた自動化は、二度と口にすることなくその日付を継承します。失敗は期限切れの瞬間ではなく、次のスケジュール実行で届きます。トークンが死んでから誰かがそれを聞くまでの隙間は、丸々ひとつの周期です。月次のジョブなら、それはひと月です。
2つの設定は、想定するのではなく自分のサイトで読む価値があります:トークン発行時に管理者が設定した期限と、使われずに置かれたトークンにサイトが何をするか。四半期ごとのジョブを動かすトークンは一生の大半を遊んで過ごし、それがチームを引っかける組み合わせです。
スケジュール実行が個人用トークンからサービス認証情報にフォールバックできるところでは、設計上の対応は小さく決定的です:どの認証情報が実際に認証したかが実行に記録され、行に表示されます。その記録がなければ、静かなフォールバックは修理されないままで、問題はフォールバック自体が失敗したときにだけ表面化します。
失敗した実行も次の発火を準備します:進まなくなったスケジュールは永久に期限到来のままで、ランナーはそれに手を伸ばし続けます。
アカウントが消え、トークンもともに消えます。それは正しい振る舞いで、同時に、退職者チェックリストのどこにも現れないまま、いくつもの無人ジョブが一斉に止まる瞬間でもあります。
Tableau サイトの人は6種類のものを所有できます:ワークブック、パブリッシュ済みデータソース、フロー、プロジェクト、サブスクリプション、更新タスク。トークンは7つ目で、他の6つと違い、トークンはどのプロジェクトツリーにもまったく現れません。その人が所有するコンテンツを扱うのと同じ1時間の中で扱ってください。さもなければ、スケジュールが代わりに見つけてくれます。
オフボーディングとトークンの衛生は、両端から見た同じ規律です。各トークンに責任を負う人を名指しする登録簿は、退職者の会話を調査ではなく参照に変えます。
ローテーションは交換として行うとうまくいきません。重ね合わせとして行えば、何事もなく済みます。
インストールの段階は、作業が進行中でも安全に行えます。固定された認証情報は一時ファイルに書かれてから所定の場所に移されるので、ローテーションの最中に始まった実行は、古い認証情報か新しい認証情報のどちらかを読み、ファイルの半分を読むことは決してありません。
3つ目の段階が人の飛ばすもので、何かを証明する唯一の段階です。実行がサービス認証情報で成功したなら、個人用トークンはすでに壊れていて、ローテーションは何もテストしておらず、あなたはたった今、証拠を失効させたところです。
ホスト型のデプロイメントで管理者がトークンを固定しているところでは、サインアウトの操作は意図的に隠されています。次のページ読み込みがどのみち再接続するからです。その認証情報は代わりに管理コンソールで変えます。探す人が思いつく場所です。
このスイートの秘密はセッション限りで、それは誰もいない午前2時半にジョブを動かさなければならなくなるまで、きれいに成り立ちます。例外は明示的で、狭く、頼る前に理解しておく価値があります。
そのリストの一行は、見た目以上の仕事をしています。スケジュールが指すサイトはリクエストから読まれるのではなく、ライブセッションからサーバー側で刻印されます。それを設定できる呼び出し側は、他人の認証情報を持ったまま、スケジュール実行を別のサイトに向けられてしまうからです。
すべてが普通のことです。認証情報の管理のうち、どのインターフェースも誰にも促さない唯一の部分です。一度書き留めて、保ってください。
2つの異なる仕事をする、2つの Tableau 認証情報。ひとつは人のパーミッションを運びます。もうひとつはプラットフォームの機能を拡張します。正しいほうを選ぶことで、何年もかけて築いたパーミッションモデルが、誰が何を見るかを決め続けます。
人が去ります。その名前はワークブック、スケジュール、サブスクリプションに残り、そのいくつかは音もなく失敗します。その人が何を持ち、何が壊れ、ライセンスを回復可能に保つ順序。
主張は一文です。証拠は、第二の人があなたに尋ねずに確かめられるものです。監査証跡が含まねばならないもの、ハッシュが実際に証明するもの、そして監査証跡を生むと主張するどんなツールにも求めるべきこと。