このページでは、外部の 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 時間有効です。 トークンが侵害され、適切なスコープなしで作成された場合、攻撃者はその期間中に、新しいバージョンのダッシュボードに含まれるすべてのテーブルにアクセスできる可能性があります。
埋め込みダッシュボードを更新する
埋め込みダッシュボードのすべての閲覧者は、必要に応じてダッシュボードを手動で更新できます。 ダッシュボードを定期的に更新するスケジュールを設定することもできます。 「スケジュールされたダッシュボードの更新とサブスクリプションの管理」を参照してください。
埋め込みダッシュボードのトラブルシューティング
このセクションでは、一般的な問題の一覧を示し、推奨される解決策を示します。
埋め込まれた iframe が空白です
埋め込まれた iframe にデータが表示されない場合は、ブラウザーでサードパーティの Cookie が有効になっていることを確認します。 埋め込みダッシュボードなどの外部コンテンツでは、この設定が正しく機能する必要があります。
この問題を解決するには、ブラウザーの設定でサードパーティの Cookie を有効にします。 すべてのサイトで Cookie を有効にしない場合は、特定のサイトの例外を追加できます。 Cookie の管理手順については、ブラウザーのヘルプ ドキュメントを参照してください。
次の手順では、Chrome ブラウザーでサードパーティの Cookie を有効にしてセッションを再開する方法について説明します。 このプロセスでは、最初に無効にしてから、サードパーティの Cookie を再度有効にすることで、クリーンな状態が保証されます。
- アクティブなすべての Azure Databricks セッションからログアウトします。
- URL の横にあるスライダー アイコンをクリックします。
- [ Cookie とサイト データ ] をクリックし、 サード パーティの Cookie を無効またはブロックします。 ページを更新するように求められます。
- ページを更新し、埋め込み iframe の サインイン をクリックします。 エラー メッセージが表示されます。 ブラウザー ウィンドウを閉じます。
- [Cookie とサイト データ] で、サード パーティの Cookie を許可します。
- ページをもう一度更新します。
- 埋め込みダッシュボードに移動し、[ サインイン] をクリックします。
次は何ですか
- 基本的な埋め込みの設定: 基本的なダッシュボードの埋め込みを参照してください。
- 外部ユーザーの埋め込みを構成する: 「外部ユーザーの埋め込みとは」を参照してください。
- 埋め込みアクセス許可の管理: ダッシュボードの埋め込みの管理を参照してください。
- 公開されたダッシュボードを共有する: 「ダッシュボードを共有する」を参照してください。