Azure SQLのData API builderがGAに:MSSQL拡張機能のCopilot連携で変わるAPI開発

Azure SQLを使ったアプリ開発で「SQLテーブルから素早くAPIを作りたい」「Copilotを使ってバックエンド生成を短縮したい」と考えている開発者にとって、今回の更新はかなり実用的です。2026年6月3日に公開または更新された公式情報では、Visual Studio CodeのMSSQL拡張機能に組み込まれたData API builderとGitHub Copilot連携が一般提供され、Azure SQLなどのSQLデータベースからREST、GraphQL、MCPエンドポイントをGUIと自然言語で生成しやすくなりました。(マイクロソフトアジュール)

結論から言うと、これは「Azure SQLのテーブルを選び、公開する列やCRUD権限を設定し、API構成を確認し、ローカルDockerでテストする」までをVS Code内で進めやすくする更新です。ただし、Copilotが生成した設定をそのまま本番投入してよいという意味ではありません。管理者と開発者は、公開対象のテーブル、認証方式、権限、主キー、未対応データ型、接続文字列の扱いを必ず確認する必要があります。(Microsoft Learn)

目次

Azure SQLのAI/Copilot更新で何が変わるのか

今回のポイントは、MSSQL拡張機能の中でData API builderを使えるようになり、さらにGitHub Copilotによる設定支援が組み込まれたことです。Microsoft Learnでは、この統合により、Visual Studio Codeを離れずにSQLデータベースのテーブルからREST、GraphQL、MCPエンドポイントを作成でき、公開するテーブルの選択、CRUD権限、API種別、生成設定のプレビュー、ローカルバックエンドのデプロイまでを視覚的に操作できると説明されています。(Microsoft Learn)

Azure Updates上の「Launched」は、一般に本番利用可能なリリースとして扱われる状態です。Azure Updatesのステータス説明でも、Launchedは「fully released」「production-ready」「available to all Azure customers」とされています。(マイクロソフトアジュール)

観点これまでの典型的な作業今回の更新後にできること
API作成バックエンドコード、ルーティング、CRUD処理、Swagger設定を手作業で用意VS Code内でテーブルを選び、REST/GraphQL/MCP向けの設定を生成
権限設計コードや設定ファイルを直接編集エンティティごとにCRUD権限や認可ロールを視覚的に設定
設定確認JSON設定やコードを個別に確認生成されるData API builder設定をDefinitionパネルで事前確認
テスト別ツールやブラウザを切り替えて確認VS CodeのSimple BrowserでSwagger UIやGraphQL Playgroundを開いて確認
AI支援一般的なCopilot補完に頼るData API builderの文脈でCopilotにエンティティ設定や権限設定を依頼

重要なのは、この更新がAzure SQLそのもののデータベースエンジンを変更するものではなく、開発者がAzure SQLをAPI化するまでの作業フローを短縮する開発体験の更新だという点です。既存のAzure SQL DatabaseやAzure SQL Managed Instanceの設計、権限、ネットワーク、監査設定を置き換えるものではありません。

Data API builder with GitHub Copilotとは

Data API builderは、SQLデータベースなどのデータソースをもとに、RESTやGraphQLのAPIを構成できる仕組みです。今回のMSSQL拡張機能では、Data API builderの設定をGUIで作成でき、公開対象のテーブルや列、CRUD権限、RESTパス、GraphQL型名、認可ロールなどをVS Code上で扱えます。(Microsoft Learn)

GitHub Copilot連携では、Data API builderの設定コンテキストに絞ったチャットを開き、自然言語で「特定スキーマのテーブルを読み取り専用にする」「CustomerとProductだけを公開する」「MCPも有効化する」といった指示ができます。Microsoft Learnにも、UIとCopilot Chatの変更が同期されること、Copilot連携にはGitHub CopilotとGitHub Copilot Chat拡張機能へのサインインが必要であることが記載されています。(Microsoft Learn)

対象として意識したいのは、Azure SQL Database、Azure SQL Managed Instance、SQL Server on Azure Virtual Machinesなどです。MSSQL拡張機能のCopilot連携ドキュメントでは、Azure SQL Database、Azure SQL Managed Instance、SQL Server on Azure Virtual Machinesが対応プラットフォームとして示されています。(Microsoft Learn)

MCP対応は「GA」と「Preview」を切り分けて理解する

今回の発表ではData API builder with built-in GitHub Copilot in MSSQL extensionが一般提供として扱われています。一方で、Microsoft LearnのData API builder in VS Codeの既知の問題では、MCPのData API builder体験はPreviewとされています。(Microsoft Learn)

そのため、記事執筆時点では次のように切り分けるのが安全です。

機能位置づけ
MSSQL拡張機能内のData API builderとCopilot連携一般提供として扱われる更新
REST/GraphQL API生成実務で検証しやすい主要用途
MCPエンドポイント利用前にPreview扱いと制限を確認すべき領域

AIエージェント連携を目的にMCPを使う場合は、RESTやGraphQL以上に、公開エンティティ、権限、操作範囲を慎重に絞る必要があります。MCPはAIツールが外部機能を発見・呼び出すための標準であり、Data API builderでは設定されたエンティティと権限に基づいてSQL操作を制御する仕組みです。(Microsoft Learn)

開発者にとってのメリット

開発者側の最大のメリットは、Azure SQLを使ったAPIプロトタイプの作成が速くなることです。従来は、テーブル設計後にバックエンドプロジェクトを作り、ORMやルーティング、CRUD、認証、Swaggerなどを別々に組み込む必要がありました。今回の統合では、まずAPIとして公開したいテーブルを選び、必要な操作だけを有効化し、RESTやGraphQLのエンドポイントをすぐにローカルで確認できます。

たとえば、社内向けの在庫確認アプリを作る場合、最初から完全なWeb APIを手書きするのではなく、Azure SQL上のProductsStockLocationsInventoryTransactionsのうち、読み取り専用で公開するテーブルだけを選び、REST APIとGraphQL APIを生成してフロントエンド側の検証を先に進められます。

Data API builderは、RESTではエンティティごとに一覧取得、主キー取得、作成、置換、部分更新、削除のエンドポイントを生成します。生成される代表的なREST操作として、GET /api/{entity}POST /api/{entity}PATCH /api/{entity}/{primaryKey}/{value}DELETE /api/{entity}/{primaryKey}/{value}などが示されています。(Microsoft Learn)

Copilotに任せるべき作業と任せすぎてはいけない作業

Copilotは設定作業の下書きには有効です。たとえば、次のような指示は実務でも使いやすいでしょう。

プロンプト例期待できる効果
dboスキーマの全テーブルを読み取り専用で公開してCRUD権限をread中心に設定する下書きを作る
CustomerとProductだけをRESTとGraphQLで公開して公開対象のテーブルを限定する
監査系テーブルとログ系テーブルは無効化して誤公開しやすいテーブルを除外する
Sales関連テーブルだけMCPを有効化してAIツール連携の対象を限定する

ただし、Copilotの出力はレビュー前提です。公式ドキュメントでも、GitHub Copilotは誤った、または最適でない構成を生成する可能性があるため、デプロイ前に必ず生成設定を確認するよう注意されています。(Microsoft Learn)

影響範囲:誰が何を確認すべきか

この更新は「開発者だけの便利機能」に見えますが、実際には管理者、セキュリティ担当、プラットフォーム担当にも影響します。理由は、API化によってAzure SQLのデータに新しいアクセス経路が増えるためです。

対象者確認すべきこと
アプリ開発者公開するテーブル、列、CRUD権限、REST/GraphQL/MCPの選択
DB管理者主キー、未対応データ型、行レベルセキュリティ、権限設計
セキュリティ担当Anonymous公開の有無、Authenticatedロール、ユーザーロール、接続文字列の扱い
クラウド管理者ローカルDocker利用、Azure環境への展開方式、ネットワーク制御、監視
チームリードCopilot生成物のレビュー手順、コードレビュー、設定ファイルの管理方針

特に注意したいのは、Data API builderの設定が「どのデータを外に出すか」を決める境界になる点です。Data API builderでは、エンティティ単位のCRUD権限、ロールベースアクセス制御、行レベルセキュリティ、APIポリシーなどを組み合わせて認可を設計します。(Microsoft Learn)

導入前に確認すべき前提条件

Data API builderをMSSQL拡張機能から使うには、少なくともVisual Studio CodeのMSSQL拡張機能、アクティブなデータベース接続、ローカルデプロイ用のDocker Desktopが必要です。AI支援を使う場合は、GitHub CopilotとGitHub Copilot Chat拡張機能も必要です。(Microsoft Learn)

導入前には、次の表を使って環境を確認してください。

確認項目判断基準見落とした場合のリスク
MSSQL拡張機能最新または組織で承認済みのバージョンを使用機能が表示されない、既知の不具合を踏む
Azure SQLへの接続VS Codeから対象DBに接続できるCopilotがスキーマ文脈を取得できない
Docker Desktopローカル検証環境で起動しているData API builderコンテナを起動できない
GitHub Copilot利用者がライセンスとサインインを完了自然言語による設定支援が使えない
主キー公開対象テーブルに主キーがあるData API builderエンジン起動時に失敗する可能性
データ型未対応データ型を含むテーブルを除外または調整API起動時の失敗やシリアライズ問題
権限Anonymous/Authenticated/ユーザーロールを設計済み意図しないデータ公開や操作許可につながる

公式ドキュメントでは、Data API builderの構成UIは現時点でテーブルのみを対象とし、ビューやストアドプロシージャはデザイナー上では利用できないとされています。また、公開するテーブルにはデータベースレベルの主キー制約が必要です。(Microsoft Learn)

未対応データ型にも注意が必要です。geographygeometryhierarchyidrowversionsql_variantxmlなどのSQL Serverデータ型は、Data API builderでシリアライズできない場合があるため、該当列を含むテーブルは事前に確認しましょう。(Microsoft Learn)

設定で最も注意すべき権限と公開範囲

Data API builderの導入で最も危険なのは、API生成の手軽さによって「公開してはいけないテーブルや列」まで有効化してしまうことです。特に、顧客情報、認証関連、監査ログ、内部メモ、料金情報、運用管理テーブルは、最初から除外候補として扱うべきです。

Data API builderは、エンティティに権限が設定されていない場合、デフォルトではアクセスできない設計です。公式ドキュメントでも、デフォルトではエンティティに権限が構成されず、ランタイム構成に含まれないデータベースオブジェクトは無視されると説明されています。(Microsoft Learn)

ただし、GUIやCopilotで設定を追加する場合、意図せずAnonymousロールに読み取り権限を与える可能性があります。Anonymousは未認証ユーザー、Authenticatedは認証済みユーザーに対応するシステムロールです。ユーザーロールを使う場合は、リクエスト側でX-MS-API-ROLEヘッダーを指定し、トークン内のロール要求と一致する必要があります。(Microsoft Learn)

実務で使いやすい権限設計の例

データ種別推奨設定の考え方
マスターデータまずはreadのみ。更新は管理画面や別APIに限定
顧客データ原則Authenticated以上。列レベルで公開項目を絞る
注文・取引データ読み取り対象、更新対象、削除可否を業務単位で分離
ログ・監査データAPI公開しない。必要なら管理者ロール限定
AIエージェント向けデータMCP対象を最小限にし、削除・更新操作は慎重に扱う

最初の検証では、readのみ、対象テーブルは2〜3個、列も必要最小限に絞るのが安全です。最初から全スキーマを公開し、後で閉じる進め方は避けましょう。

ローカルデプロイと認証方式の注意点

MSSQL拡張機能のData API builder統合では、ローカルデプロイにDocker Desktopが必要です。ウィザードはDockerのインストール確認、Docker Desktopの起動確認、Dockerエンジンの準備確認を行い、コンテナを作成してエンドポイントを表示します。(Microsoft Learn)

ここで特に注意すべきなのが認証方式です。公式ドキュメントでは、ローカルDockerコンテナのデプロイはSQL認証のみをサポートし、ActiveDirectoryInteractiveのようなMicrosoft Entra IDの対話型認証はコンテナ環境でブラウザを開けないためサポートされないと説明されています。また、SQL database in Microsoft FabricはMicrosoft Entra認証のみを要求しSQL認証をサポートしないため、このローカルコンテナデプロイのシナリオには適さないとされています。(Microsoft Learn)

Azure SQLでMicrosoft Entra ID認証を標準にしている組織では、ここが導入時のつまずきやすいポイントです。開発検証用にSQL認証を一時的に許可する場合でも、対象DB、接続元、権限、期限を明確にし、本番用の認証設計とは分けて考えるべきです。

生成された設定ファイルはレビューと管理が必須

Data API builderのUIでは、生成されるJSON構成をDefinitionパネルで確認できます。表示内容は、選択したエンティティ、API種別、詳細設定、REST/GraphQL/MCPのランタイム設定に同期します。設定はVS Codeのエディターで開いたり、クリップボードにコピーしたりできます。(Microsoft Learn)

実務では、このJSON構成を「一時的な生成物」ではなく、レビュー対象の構成ファイルとして扱うべきです。

管理対象推奨対応
dab-config.jsonGitで管理し、Pull Requestでレビュー
接続文字列設定ファイルに直書きしない
.envローカル専用。Git管理から除外
本番シークレットCI/CD変数、Key Vault、コンテナ環境変数などで注入
Copilot生成差分人間が公開範囲と権限を確認してからマージ

Data API builderでは、@env()を使って接続文字列などのシークレットをdab-config.jsonから分離できます。Microsoft Learnでも、.envファイルを.gitignoreに追加し、シークレットを含む.envをコミットしないよう明記されています。(Microsoft Learn)

既存システムへの移行で失敗しやすいポイント

既存のAzure SQLを利用しているシステムにData API builderを追加する場合、いきなり既存APIを置き換えるのはおすすめしません。最初は「読み取り専用API」「管理者限定API」「社内検証用API」のように範囲を限定し、既存の認証・監査・ネットワーク構成と整合するかを確認するのが現実的です。

よくある失敗は、次の3つです。

失敗パターン回避策
既存DBの全テーブルを一括公開する业务機能単位で必要なテーブルだけを選ぶ
Copilotが作ったCRUD権限をそのまま採用するread/create/update/deleteを1つずつ確認する
ローカルで動いた設定を本番にそのまま持ち込む接続文字列、認証、CORS、監視、ネットワークを環境別に分ける

Data API builderはAPI化を速くしますが、業務ルールまで自動で理解してくれるわけではありません。たとえば、注文テーブルにdeleteを許可してよいか、顧客テーブルのメールアドレスをGraphQLで公開してよいか、AIエージェントが更新系操作を呼び出せてよいかは、業務責任者と設計者が判断する領域です。

管理者・開発者向けの導入手順

最初の検証は、次の順番で進めると安全です。

手順作業内容確認ポイント
1検証用Azure SQLまたは開発DBに接続本番データを直接使わない
2MSSQL拡張機能でData API builderを開くObject ExplorerからBuild Data API...を選択
3公開するテーブルを少数に絞る主キーと未対応データ型を確認
4CRUD権限をread中心で設定create/update/deleteは必要時のみ
5RESTまたはGraphQLを有効化MCPはPreview扱いを理解して検証
6生成JSONをDefinitionパネルで確認認可ロール、公開列、パスをレビュー
7DockerでローカルデプロイSQL認証とポートを確認
8Swagger UIやGraphQL Playgroundでテスト想定外のデータが返らないか確認
9設定ファイルをレビューに出すシークレットを含めない
10ステージング環境で再検証監視、ログ、ネットワーク制御を確認

REST APIはSwagger UI、GraphQLはNitro GraphQL Playgroundでテストできます。MCPを選んだ場合は、Add to VS Codeによって.vscode/mcp.jsonにMCPサーバー構成を書き込み、GitHub CopilotなどのAIツールがData API builder APIを通じてデータベースとやり取りできるようになります。(Microsoft Learn)

本番展開前のチェックリスト

本番展開を検討する場合は、最低限次の観点を確認してください。

チェック項目確認内容
公開範囲API化するテーブル、列、操作は最小限か
認証Anonymous公開が本当に必要か
認可ロール、CRUD、列制限、行レベル制御が業務要件に合うか
データ保護個人情報、機密情報、監査ログが露出していないか
シークレット接続文字列やパスワードを設定ファイルに直書きしていないか
CopilotレビューAI生成設定を人間がレビューしたか
互換性主キー、未対応データ型、ビュー・ストアドプロシージャの扱いを確認したか
監視APIアクセス、エラー、レイテンシ、DB負荷を追跡できるか
運用設定変更時のレビュー、ロールバック、障害対応手順があるか

Data API builderのSQL MCP Serverは、ログやテレメトリ、Azure Log Analytics、Application Insights、コンテナ内のローカルファイルログなどによる監視に関する説明も用意されています。AIエージェント連携を含むAPI公開では、通常のWeb API以上に「誰が、どのツール経由で、どのデータを操作したか」を追える設計が重要です。(Microsoft Learn)

今回の更新をどう活用すべきか

今回の一般提供は、Azure SQLを中心にしたアプリ開発を速くする更新です。特に、社内ツール、プロトタイプ、フロントエンド先行開発、AIエージェント検証、GraphQL検証では効果が出やすいでしょう。

一方で、Data API builderは「APIを簡単に作れる」からこそ、公開範囲と権限設計を誤るとリスクも大きくなります。Copilotは設定のたたき台を作る補助として使い、最終判断は必ず人間が行うべきです。

まずは開発用のAzure SQL環境で、読み取り専用の小さなAPIを作ってください。次に、生成されたJSON、CRUD権限、認証ロール、返却データ、接続文字列の扱いをレビューします。そのうえで、チームの標準テンプレートやレビュー観点に落とし込むと、Data API builderとGitHub Copilotを安全に開発フローへ組み込めます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次