ダッシュボードを埋め込む
このページでは、外部の 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] を許可します 。
- ページをもう一度更新します。
- 埋め込みダッシュボードに移動し、 サインイン をクリックします。
次のステップ
- 基本的な埋め込みを設定する : 基本的なダッシュボードの埋め込みを参照してください。
- 外部ユーザーの埋め込みを構成する: 「外部ユーザー向けの埋め込みとは」を参照してください。
- 埋め込み権限の管理 : 「ダッシュボードの埋め込みの管理」を参照してください。
- 公開されたダッシュボードの共有 : 「ダッシュボードの共有」を参照してください。