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