ブログ · 7 min (読了)

SaaSへのMetabaseダッシュボード埋め込み:3つのモードとマルチテナント分離

ダッシュボードを自社製品の中に置くことは簡単です。各顧客が自分のデータだけを——漏洩なく——見られるようにすることこそ、デモと本番を分けるものです。
著者 · 公開日

あなたはSaaS製品を構築し、顧客は自分の数値を製品の中で見たいと考えています——別のツールで、別のログインの向こう側ではなく。Metabaseはこれを埋め込み(embedding)で解決しますが、「ダッシュボードを埋め込む」という言葉は、まったく異なる3つのモードと、すべてを左右する1つの問い——各顧客が厳密に自分のデータだけを見られるようにするにはどうするか——を覆い隠しています。

なぜアナリティクスを製品に組み込むのか

顧客を別のツールへ誘導することは、文脈・ログイン・定着を犠牲にします。埋め込み型アナリティクス——自社のインターフェース内に、自社ブランドで表示するダッシュボード——は製品の一部となり、データは意思決定が行われる場所に現れます。問題はやるかどうかではなく、常にどうやるかです——そしてMetabaseにおける「どうやるか」には3つの形があります。

Metabaseの3つの埋め込みモード

すべてを左右する問題:マルチテナント分離

マルチテナント製品において、起こりうる最悪の誤りは、ある顧客が他の顧客のデータを見てしまうことです。安全な分離はモードに依存します:

自社製品backend署名付きJWTtenant_id 固定Metabase embedダッシュボード顧客専用サーバーで署名 → 顧客は別のテナントを偽造できない
安全な分離:テナントの識別子は自社サーバーで署名したJWT内に固定されて渡され、顧客は別の識別子を偽造できません。

絶対にやってはいけないこと

正しいモードを選ぶ

実践的なルール:顧客がテナントごとのパネルを見るだけでよいなら、署名付きstatic embeddingで解決します——しかもオープンソースで動きます。行レベルの分離を保ちつつ探索して問いを作る必要があるなら、interactive embedding + data sandboxing(Enterprise)です。探索は必要だが予算がOSSなら、アーキテクチャ上でテナントごとにデータを分離してください。誤りは、実際の分離要件ではなく、デモの華やかさで選んでしまうことです。

ここで連携するシステム

よくある質問

Metabaseオープンソースで安全なマルチテナント埋め込みはできますか?

はい、顧客ごとの固定パネルなら可能です。static embeddingは、テナントの識別子を固定パラメータとして埋め込んだ、自社サーバーで署名したJWTを使います。顧客は別の識別子を偽造できません。行レベルの分離を自動で適用する自由な探索には、Pro/Enterpriseのdata sandboxingが必要になります——あるいはオープンソースでテナントごとに接続/スキーマでデータを分離します。

顧客がフィルタを回避して他のテナントのデータを見ることはできますか?

いいえ、テナントの識別子が署名付きトークン内の固定パラメータとして存在する(またはdata sandboxingで適用される)限りできません。署名はサーバーの秘密鍵で行われるため、トークンを改変すると埋め込みは無効になります。漏洩は、フィルタが編集可能なURLで渡されたり、フロントエンドだけで適用されたりした場合にのみ起こります——まさに正しいアーキテクチャが防ぐものです。

無料で始める

自社製品に組み込んだ、顧客ごとに漏洩を許さない分離を備えた埋め込み型アナリティクスをお求めですか?48時間で無料診断します。

現在のシステムを可視化し、最大のボトルネックを特定し、リスク×工数で優先順位付けした計画をお渡しします。Meta Dados を利用するかどうかに関わらず、明確な方針が得られます。

無料診断を受ける → WhatsAppで相談 契約不要、カード不要。
2 営業時間以内に返信します。
←  Voltar para Blog