Fabric 連携説明
対象者:顧客 Azure 管理者、プラットフォーム管理者、導入コンサルタント 説明範囲:Microsoft Fabric を Analytics データソース として利用する際の連携ロジックと設定要点 位置づけ:本書は「データソース連携」シナリオのみを対象とし、ベクトルDB方案 には触れず、また MCP の事前設定機能についても詳述しません
適用範囲とバージョン境界
サポート対象:
- プラットフォームが顧客の Microsoft Fabric の SQL Endpoint / Warehouse に接続し、Analytics データソースとして利用します:テーブル/ビューの参照、メタデータの同期、データプレビュー、分析レポートでの利用。
- 認証方式は SSO(Entra ID OAuth、サービスプリンシパル Service Principal ベース) をデフォルトかつ推奨方式とし、従来の ユーザー名/パスワード認証 も互換オプションとして保持します。
- SSO は 2 種類のトークン管理モードをサポートします:
- Zero-Trust(デフォルト):短期の access token のみを保存し、refresh token は永続化しません。トークン期限切れ後は再度認可フローを実行する必要があります。
- Token-Refresh:完全な MSAL トークンキャッシュ(refresh token を含む)を永続化し、サイレント更新をサポートして、手動での再認可頻度を減らします。
サポート対象外:
- 本書では、Fabric をナレッジベースのベクトルストレージとして利用 する方案は扱いません(この種の要件がある場合は、別途ベクトルDB関連ドキュメントを参照してください)。
- Fabric 関連の MCP(Model Context Protocol)事前設定機能については詳述しません。これは別の独立した機能領域に属します。
- Fabric データソースではポート番号設定を使用しません(Fabric SQL Endpoint は HTTPS レイヤープロトコルを使用するため、追加ポートは不要です)。
- プラットフォームは Fabric ワークスペース(Workspace)、Warehouse/Lakehouse の作成および権限付与を担当しません。これらは管理者が実施する必要があります。
前提条件チェックリスト
| カテゴリ | 前提条件 |
|---|---|
| 権限 | Entra ID でアプリ登録(サービスプリンシパル)の権限を持っていること;当該サービスプリンシパルは Fabric 管理センターで対象 Workspace/Warehouse へのアクセス権(例:Viewer/Contributor。Fabric の権限モデルに応じて Fabric 管理者が設定)を付与されている必要があります。 |
| アカウント | Client ID / Client Secret / Tenant ID(サービスプリンシパルの 3 要素);SSO モードでは追加のユーザー名/パスワードは不要です。 |
| ネットワーク | プラットフォームサーバーが Fabric SQL Endpoint(例:<workspace>.fabric.microsoft.com または <warehouse>-<id>.datawarehouse.fabric.microsoft.com)および Entra ID ログインエンドポイントにアクセスできる必要があります。 |
| リソース準備 | 対象 Warehouse/Lakehouse 名称(database フィールドに対応);プラットフォームのデプロイ環境で FABRIC_REDIRECT_URI などの OAuth コールバック環境変数が正しく設定されていることを確認してください。 |
| ⚠️ 要確認 | サービスプリンシパルの Fabric 側での具体的な権限範囲(対象 Warehouse の読み取り権限を含むか);繰り返し認可を減らすために Token-Refresh モードを使用する必要があるか。 |
Azure 側の設定要点
- サービスプリンシパルを登録:Azure Portal → Entra ID → アプリの登録 でアプリを作成し、Client ID、Tenant ID を記録します。
- Client Secret を作成:アプリの「証明書とシークレット」でキーを作成し、シークレット値を安全に保管します。
- Fabric 側で認可:Fabric 管理センター(または対象 Workspace のアクセス権設定)で、このサービスプリンシパルを Workspace メンバーとして追加し、対象 Warehouse/Lakehouse へのアクセスに必要な権限を付与します。
- SQL Endpoint アドレスを確認:Fabric Workspace で Warehouse/Lakehouse の SQL Endpoint 接続文字列を確認します。形式は
<workspace>.fabric.microsoft.comまたは<warehouse>-<id>.datawarehouse.fabric.microsoft.comです。 - テナントでサービスプリンシパルの Fabric アクセスが許可されているか確認:一部のテナントでは、サービスプリンシパルによる Fabric API へのアクセスがデフォルトで無効になっている場合があります。管理者が Fabric テナント設定で「サービスプリンシパルは Fabric API を使用できる」関連オプションを有効にする必要があります。
プラットフォーム側の入力要点
| フィールド名 | 必須 | 説明 |
|---|---|---|
| ホストアドレス(Host) | ✅ | Fabric SQL Endpoint / Warehouse サーバーアドレス。例:<workspace>.fabric.microsoft.com |
| データベース名(Database Name) | ✅ | 対象 Warehouse または Lakehouse の名称 |
| 認証タイプ(Auth Type) | ✅ | OAuth サービスプリンシパル認証には sso(推奨)を選択し、ユーザー名/パスワードには password(旧モード互換)を選択します |
| クライアント ID(Client ID) | SSO 時必須 | Entra サービスプリンシパルの Client ID(アプリケーション ID) |
| テナント ID(Tenant ID) | SSO 時必須 | Azure AD テナント ID(Directory ID) |
| クライアントシークレット/パスワード | ✅ | SSO モードでは Client Secret を入力;パスワードモードではユーザーパスワードを入力し、いずれもプラットフォームで RSA 暗号化保存されます |
| トークンモード(Mode) | 任意 | zero_trust(デフォルト、トークン期限切れ時に再認可が必要)または token_refresh(自動更新対応、長期利用推奨) |
| ユーザー名 | パスワードモード時必須 | SSO モードでは入力不要 |
| スキーマ(Schema) | 任意 | データベーススキーマ名。空欄の場合はデフォルトスキーマを使用します |
| ポート | 使用しない | Fabric ではポート番号の設定は不要です |
入力と認可フロー:
- 左側で接続情報(ホストアドレス、データベース名、Client ID、Tenant ID)を入力します。
- 右側で認証情報(クライアントシークレット、認証タイプ、トークンモード)を入力します。
- 「認可を開始」(Authenticate ボタン)をクリックすると、システムが Microsoft ログインページへ遷移します。
- 顧客の Azure 管理者がログインと認可同意を完了すると、Microsoft のコールバックでトークン交換が完了し、データソース状態が「認可済み」に更新されます。
- 認可成功後、「接続テスト」をクリックして利用可能性を確認します。