Fabric で GraphQL 用 API を作成し、データを追加する
API を作成し、API を使用して選択したデータを公開するデータ ソースをリンクして、GraphQL 用の Fabric API の使用を開始します。 Fabric がデータに基づいて GraphQL スキーマを自動的に構築すると、アプリケーションは数分で接続できます。
前提条件
- [ユーザーが Fabric アイテムを作成できる] テナント管理者設定を有効にします。
GraphQL 用 API の作成
GraphQL 用 API を作成するには:
Fabric ポータルのホーム ページで、ワークロードの一覧から [Data Engineering] を選択します。
[GraphQL 用 API (プレビュー)] を選択します。
または、Data Engineering で任意のワークスペースから新しい>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) のみをサポートしています。 ユーザー プリンシパルは、セキュリティ要件に応じて、SSO または保存された資格情報を利用できます。
Note
GraphQL 用 API では、クライアント アプリケーションの認証に Microsoft Entra を使用する必要があります。 Fabric に対して API 呼び出しを実行するには、クライアント アプリケーションを登録して、適切に構成する必要があります。 Microsoft Entra に登録されているアプリには、Power BI サービスに対する Item.Execute.All API アクセス許可が必要です。 ユーザー プリンシパルとサービス プリンシパルの両方に関する説明とサンプル コードを含むエンドツーエンドのチュートリアルについては、「アプリケーションへ接続する」を参照してください。
OneLake データ ハブが表示されます。接続するデータ ソースを選択します。 次の例では、ミラー化データベースにリンクされている AdventureWorks SQL 分析エンドポイントを選択します。 [フィルター] を選択して、特定の種類の Fabric データ ソースのみを表示するか、特定のキーワード (keyword)で検索します。 準備ができたら、[接続] を選択します。
[データの取得] 画面が表示され、GraphQL スキーマで公開するオブジェクトを選択できます。
API で公開する個々のテーブルまたはストアド プロシージャの横にある チェックボックスを選択します。 フォルダー内のすべてのオブジェクトを選択するには、データ ソース名が一番上にあるチェックボックスを選択します。
[読み込む] を選択して GraphQL スキーマ生成プロセスを開始します。
スキーマが生成され、GraphQL クエリ (読み取り、一覧表示) または変更 (作成、更新、削除) のプロトタイプの作成を開始して、データを操作できます。
これで、GraphQL 用 API が接続と要求を受け入れる準備ができました。 API エディターを使用して GraphQL クエリをテストおよびプロトタイプ化し、スキーマ エクスプローラーを使用して、API で公開されているデータ型とフィールドを確認できます。
アクセス許可の概要
次の表は、GraphQL API にアクセスするクライアントに対してサポートされているさまざまな組み合わせと、最低限必要なアクセス許可をまとめたものです。
API 呼び出し元 | データ ソース接続 | 必要な GraphQL API のアクセス許可 | 必要なデータ ソースのアクセス許可 | Entra アプリ スコープ |
---|---|---|---|---|
ユーザー プリンシパル (UPN) | シングル サインオン (SSO) | API レベルでの [クエリと変更の実行] | データ ソースで UPN に付与された適切な読み取り/書き込みアクセス許可 | Item.Execute.All |
サービス プリンシパル (SPN) | シングル サインオン (SSO) | API レベルでの [クエリと変更の実行] | データ ソースで SPN に付与された適切な読み取り/書き込みアクセス許可 | Item.Execute.All |
ユーザー プリンシパル (UPN) | 保存された資格情報 | API レベルでの [クエリと変更の実行] | データ ソースで保存された資格情報 (接続) に付与された適切な読み取り/書き込みアクセス許可 | Item.Execute.All |
サービス プリンシパル (SPN) | 保存された資格情報 | 以下は現在サポートされていません | 以下は現在サポートされていません | 以下は現在サポートされていません |