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