API を作成し、API を使用して選択したデータを公開するデータ ソースをリンクして、GraphQL 用の Fabric API の使用を開始します。 Fabric がデータに基づいて GraphQL スキーマを自動的に構築すると、アプリケーションは数分で接続できます。
前提条件
- [ユーザーはファブリックアイテムを作成できます] 管理者テナント設定を有効にします。
GraphQL 用 API の作成
GraphQL 用 API を作成するには:
これで、Fabric のデータにアクセスするための API が完全に機能するようになりました。
データ ソースに接続してスキーマを構築する
この時点で、API は準備ができていますが、データは公開されていません。 GraphQL 用 API は、厳密に型指定されたシステムで、型とフィールドの観点から整理されたスキーマで定義されます。 Fabric は、GraphQL クライアントに公開するために選択したデータに基づいて、必要な GraphQL スキーマを自動的に生成します。
新しい API で、[データ ソースの選択] を選択して、公開する データ ソースを選択します。
次に、API の接続オプションを選択します。
ここでは、2 つの異なるオプションに基づいて、API クライアントが API にアクセスして GraphQL リクエストを実行する方法を定義できます。
- シングル サインオン (SSO): クライアント資格情報を使用してデータ ソースに接続します。つまり、認証された API ユーザーは、基になるデータ ソースにアクセスできる必要があります。 たとえば、Lakehouse データを API クライアントに公開する場合、認証されたユーザーは API と Lakehouse の両方にアクセスできる必要があります。 具体的には、GraphQL API (直接アクセス許可を追加する場合は [クエリと変更の実行] オプション) に対する実行アクセス許可と、選択したデータ ソースで必要に応じて読み取りまたは書き込みアクセス許可が必要です。 または、API とデータ ソース項目の両方が配置されている 共同作成者ロール を持つワークスペース メンバーとしてユーザーを追加することもできます。このロールにより、1 つの場所から両方のアイテムに必要なアクセス権が付与されます。 詳細については、「 ワークスペースへのアクセス権をユーザーに付与する」を参照してください。
- 保存された資格情報: 保存された資格情報を使用してデータ ソースに接続します。つまり、認証された API ユーザーはデータ ソースに直接アクセスする必要はありません。 保存された資格情報は、API とデータ ソース内の基になるテーブル間でデータにアクセスするために共有されます。 たとえば、Lakehouse データを API クライアントに公開する場合、認証されたユーザーは、Lakehouse ではなく API (直接アクセス許可を追加するときにクエリと変更を実行 するオプション) に直接アクセスするだけで済みます。 保存された資格情報は、API をデータ ソースに接続するために使用され、認証されたすべての API ユーザーによって共有されます。 このオプションは、GraphQL 経由で Azure SQL データベースなどの Azure データ ソースを公開する場合に必要です。 [OK] を選択すると、次の手順でデータ ソースを選択した後、そのデータ ソースに対して保存されている資格情報がまだ存在しない場合は、新しい保存された資格情報を作成するように求められます。
これらのオプションを選択すると、その後に API に追加されるすべてのデータ ソースに適用されます。 同じ API にシングル サインオンと保存された資格情報を混在させることはできません。 ユーザー プリンシパル名 (UPN) またはサービス プリンシパル名 (SPN) を使用して API に接続し、セキュリティ要件に応じて SSO または保存された資格情報を利用できます。
注
GraphQL 用 API では、クライアント アプリケーションで認証に Microsoft Entra ID を使用する必要があります。 Fabric に対して API 呼び出しを実行するには、クライアント アプリケーションを登録して、適切に構成する必要があります。 Microsoft Entra ID に登録されているアプリには、Power BI サービスの GraphQLApi.Execute.All API アクセス許可が必要です。 Connect Applications では、ユーザー プリンシパルとサービス プリンシパルの両方の手順とサンプル コードを含むエンド ツー エンドのチュートリアルを見つけることができます。
OneLake データ ハブが表示されます。接続するデータ ソースを選択します。 次の例では、ミラー化データベースにリンクされている AdventureWorks SQL 分析エンドポイントを選択します。 [ フィルター] を 選択すると、特定の種類の Fabric データ ソースのみが表示されるか、特定のキーワードで検索されます。 準備ができたら、[ 接続] を選択します。
[ データの取得 ] 画面が表示され、GraphQL スキーマで公開するオブジェクトを選択できます。
API で公開する個々のテーブル、ビュー、またはストアド プロシージャの横にあるチェック ボックスをオンにします。 フォルダー内のすべてのオブジェクトを選択するには、データ ソース名が一番上にあるチェックボックスを選択します。
[読み込み] を選択して GraphQL スキーマ生成プロセスを開始します。
スキーマが生成され、GraphQL クエリ (読み取り、一覧表示) または変更 (作成、更新、削除) のプロトタイプの作成を開始して、データを操作できます。
これで、GraphQL 用 API が接続と要求を受け入れる準備ができました。 API エディターを使用して GraphQL クエリをテストおよびプロトタイプ化し、スキーマ エクスプローラーを使用して、API で公開されているデータ型とフィールドを確認できます。
アクセス許可の概要
次の表は、GraphQL API にアクセスするクライアントに対してサポートされているさまざまな組み合わせと、最低限必要なアクセス許可をまとめたものです。
API 呼び出し元 | データ ソース接続 | 必要な GraphQL API のアクセス許可 | 必要なデータ ソースのアクセス許可 | Entra アプリ スコープ |
---|---|---|---|---|
ユーザー プリンシパル (UPN) | シングル サインオン (SSO) | API レベルでクエリと変更を実行する | データ ソースで UPN に付与された適切な読み取り/書き込みアクセス許可 | GraphQLApi.Execute.All |
サービス プリンシパル (SPN) | シングル サインオン (SSO) | API レベルでクエリと変更を実行する | データ ソースで SPN に付与された適切な読み取り/書き込みアクセス許可 | 該当なし |
ユーザー プリンシパル (UPN) | 保存された資格情報 | API レベルでクエリと変更を実行する | データ ソースで保存された資格情報 (接続) に付与された適切な読み取り/書き込みアクセス許可 | GraphQLApi.Execute.All |
サービス プリンシパル (SPN) | 保存された資格情報 | API レベルでクエリと変更を実行する | データ ソースで SPN に付与された適切な読み取り/書き込みアクセス許可 | 該当なし |