ダッシュボードを埋め込む
このページではAI/BI dashboard外部の Web サイトまたはアプリケーションに埋め込む方法を説明します。
公開されたダッシュボードを操作する
外部アプリケーションに埋め込むことができるのは、公開されたダッシュボードのみです。ダッシュボードは、共有データ権限の有無にかかわらず公開できます。簡単に言えば、各設定の意味は次のとおりです。
-
共有データの権限: この設定で公開されたダッシュボードの場合、公開者の資格情報によって、基礎となるデータへのアクセスが決まります。クエリはパブリッシャーの権限で実行されます。
-
個別のデータ権限: この設定で公開されたダッシュボードの場合、各閲覧者は結果を表示するために、基礎となるデータへの明示的なアクセス権を持っている必要があります。
詳細については、 「ダッシュボードの共有」を参照してください。
サービスプリンシパルを埋め込みに使用する場合、プリンシパルの権限によってAPIsへのアクセス (ダッシュボード構成の取得や結果のリクエストなど) が制御されます。 ただし、これらの権限は、共有データの権限によって付与されたアクセスを上書きしません。
埋め込みオプション
Databricks UI のダッシュボードと同様に、埋め込みダッシュボードを使用すると、Unity Catalog で管理されるデータ資産の読み取り権限とダッシュボードの実行権限を一元管理し、クエリ履歴と監査ログを通じてユーザーアクティビティを追跡し、Databricks アカウントを持たないユーザーに対しても一意の閲覧者数を維持することができます。ダッシュボードを埋め込むには、次のいずれかのオプションを使用します。
基本的な埋め込み
埋め込みダッシュボードを表示するには、ユーザーは Databricks 資格情報を使用してサインインする必要があります。基本的な埋め込みの仕組みについて、主な詳細を以下に概説します。
- ダッシュボードの作成者は、 共有 ダイアログから iframe コードを生成できます。
- ワークスペース管理者は、埋め込みに許可されるサーフェスを定義する必要があります。 ダッシュボードとGenieアクセスの管理を参照してください。
- 明示的にアクセスを許可されたユーザーのみが埋め込みダッシュボードを表示できます。ダッシュボードの共有の詳細については、 「ダッシュボードの共有」を参照してください。
- 閲覧者は、元のワークスペースへの最近のサインインからのアクティブなセッションがない限り、Databricks にサインインするように求められます。
外部ユーザー向けの埋め込み
プレビュー
この機能は パブリック プレビュー段階です。
外部ユーザー向けの埋め込みにより、閲覧者に Databricks アカウントを必要とせずにダッシュボードを外部システムに統合できます。外部ユーザー向けの「埋め込みとは何ですか?」を参照してください。外部ユーザー向けの埋め込みを使用すると、次のことが可能になります。
- OAuthシークレットを含むサービスプリンシパルを使用して、アプリケーションがDatabricksで認証できるようにします。
- Databricks アカウントまたは ID プロバイダー外部のユーザーのアクセスを有効にします。
使用例
不動産管理者向けに建物運営を管理する組織は、外部ユーザー向けの埋め込み機能を使用して、各不動産管理者に対して、管理ポータル内でエネルギー使用量、占有率統計、メンテナンスアラートを表示する各建物用の埋め込みダッシュボードを提供できます。
認証アプローチの埋め込み
適切な埋め込み方法を選択するには、次の表のインタラクションとユースケースを考慮してください。
埋め込み方法 | ユーザーの認証方法 | 権限の評価方法 | 典型的な使用例 |
|---|---|---|---|
Databricks認証 | ユーザーはDatabricksアカウントでサインインします | ユーザー自身の権限がチェックされます(ダッシュボードが共有データ権限を使用している場合は、パブリッシャーの権限が適用されます) | Databricksアカウントに登録されているユーザー |
外部ユーザー向けの埋め込み | アプリケーションはサービスプリンシパルとOAuthを使用して認証します | サービスシプリンパルの権限はAPIアクセスを制御しますが、データ アクセスは共有データ権限 (付与されている場合) によって決まります。 | 外部ユーザー、ポータル、または広範な配布 |
外部ユーザー向けの埋め込みの場合、 Databricks 、埋め込みダッシュボードを 個別のデータ権限で 公開し、必要なデータ権限をアプリケーションに関連付けられたサービスプリンシパルに割り当てることをお勧めします。 ダッシュボードが共有データ権限で公開されている場合、サービスプリンシパルの権限ではなく、公開者の権限がデータ アクセスに使用されます。
権限設定のベストプラクティス
アクセス許可を使用するときに機密データが漏洩するリスクを軽減するには、次の手順を実行します。
-
個別のデータ権限でダッシュボードを公開する: これにより、クエリは公開者の権限ではなく閲覧者の権限で実行されるようになります。これにより、発行者の権限が後で拡張された場合に、意図しないアクセスを防止できます。
-
サービスプリンシパルを予期されるテーブルに制限する: Databricksダッシュボードがどのテーブルをクエリするかを推測できない場合でも (特にパラメーター化されたクエリの場合)、アクセスを必要なテーブルのみに制限するようにサービスプリンシパルを構成できます。
外部ユーザー向けの埋め込みに使用されるトークンは 1 時間有効です。トークンが侵害され、適切なスコープ設定なしで作成された場合、その間に攻撃者がダッシュボードの新しいバージョンに含まれるすべてのテーブルにアクセスできる可能性があります。
埋め込みダッシュボードを更新する
埋め込みダッシュボードのすべての閲覧者は、必要に応じてダッシュボードを手動で更新できます。ダッシュボードを定期的に更新するスケジュールを設定することもできます。「スケジュールされたダッシュボードの更新とサブスクリプションの管理」を参照してください。
埋め込みダッシュボードのトラブルシューティング
このセクションでは、一般的な問題をリストし、推奨される解決策を示します。
ダークモードが表示されない
埋め込みダッシュボードは常にライト モードで表示されます。ダッシュボードをダーク モード テーマでカスタマイズしている場合、または Databricks でダーク モードで作業している場合、埋め込まれた iframe にはテーマのライト モード バージョンのみが表示されます。
埋め込みダッシュボードが正しく表示されるようにするには:
- ダッシュボードを下書きモードで開きます。
- ダッシュボードの設定にアクセスします。
- [テーマ] の下で [ライト モード] をクリックし、埋め込まれたダッシュボードの表示をプレビューします。
- 必要に応じて色とスタイルを調整し、ライト モードの外観を最適化します。
ダッシュボード テーマのカスタマイズの詳細については、 「テーマ設定」を参照してください。
埋め込み iframe が空白になります
埋め込まれた iframe にデータが表示されない場合は、ブラウザでサードパーティの Cookie が有効になっていることを確認してください。埋め込みダッシュボードなどの外部コンテンツが正しく機能するには、この設定が必要です。
この問題を解決するには、ブラウザの設定でサードパーティの Cookie を有効にします。すべてのサイトで Cookie を有効にしたくない場合は、特定のサイトに対して例外を追加できます。クッキーの管理手順については、ブラウザのヘルプドキュメントを参照してください。
次の手順では、Chrome ブラウザでサードパーティの Cookie を有効にしてセッションを再開する方法を説明します。 このプロセスでは、まずサードパーティの Cookie を無効にし、その後再度有効にすることで、クリーンな状態を保証します。
- すべてのアクティブな Databricks セッションからログアウトします。
- URL の横にあるスライダー アイコンをクリックします。
- [Cookie とサイトデータ] をクリックし、 サードパーティの Cookie を 無効にするかブロックします。ページを更新するように求められます。
- ページを更新し、埋め込まれた iframe 内の [サインイン] をクリックします。エラーメッセージが表示されます。ブラウザウィンドウを閉じます。
- [Cookie とサイトデータ] で、 サードパーティの Cookie を 許可します。
- もう一度ページを更新してください。
- 埋め込みダッシュボードに移動し、 サインイン をクリックします。
次のステップ
- 基本的な埋め込みを設定する : 基本的なダッシュボードの埋め込みを参照してください。
- 外部ユーザー向けの埋め込みを構成する : 「外部ユーザー向けの埋め込みとは何ですか?」を参照してください。
- 埋め込み権限の管理 : 「ダッシュボードの埋め込みの管理」を参照してください。
- 公開されたダッシュボードを共有する : 「ダッシュボードの共有」を参照してください。