カテゴリーを見る

Microsoft SQL ServerデータベースをセキュアなREST APIとして公開する方法

13分で読めます

Microsoft SQL Server のロゴ マイクロソフト SQL Server REST API

Microsoft SQL Server クエリを安全なものに変換する REST API — データAPIビルダーも、ホストするサーバーもありません。

SQL Serverデータベースに対してT-SQLクエリを保存し、受信者ごとにAPIキーを生成し、パートナーにライブJSONエンドポイントを渡します。 データAPIビルダー デプロイするには、オープンではありません 1433 ポート、共有ログインなし — 管理された読み取り専用 SQL Server REST API 数分で。

インバウンドポート不要 受信者ごとのキー 読み取り専用が強制されます 展開するものは何もありません

Query Streamsは、安全性の高いリアルタイムのデータベース統合プラットフォームであり、保存されたSQL Serverクエリを、受信者ごとのキー、読み取り専用の強制、および完全な監査証跡を備えた、パートナーがすぐに利用できるREST APIエンドポイントに変換します。 ライブ配信 SQL Server REST API (きれいな SQL Server 用 REST APIData API Builder をデプロイしたり、データベース ポートを開いたり、ゲートウェイをホストしたりすることなく、) 詳細についてはQueryStreams.comをご覧ください そして 無料で登録する 数分で最初のSQL Serverエンドポイントを公開できます。

Microsoft SQL ServerデータベースをREST APIとして公開する理由とは?

遅かれ早かれ、チーム外の誰かがMicrosoft SQL Serverに保存されているデータを必要とします。クライアントはダッシュボードに数値を表示したい、ベンダーは毎晩のエクスポートではなくリアルタイムのフィードを希望する、パートナーのアプリはテーブルの一部を読み取る必要がある、といった具合です。よくある解決策はどれも何らかの問題を抱えています。到着時にはすでに古いエクスポートをメールで送信したり、契約期間終了後も有効な読み取り専用のSQLログインを配布したり、Data API BuilderやASP.NET Web APIを立ち上げて、その認証、TLS、パッチ適用を永久に継承したりといった方法です。 SQL ServerデータベースをRESTサービスとして公開する クリーンな方法では、パートナーはあなたのデータベースではなく、URLとトークンを受け取ります。これまで難しかったのは、そのAPIを安全に構築・運用することでした。Query Streamsを使えば、保存済みのクエリとキーで済むようになります。

開いているSQL Serverポートがありません

あなたは決して暴露しない 1433 インターネットに接続するか、ファイアウォールに穴を開けるかのいずれかです。ネットワークエージェントが発信し、着信コールはその発信接続を経由して戻ってきます。

受信者ごとのAPIキー

受取人全員に qsapi_* キー。他のキーには手を加えず、SQL Serverのログインをローテーションすることなく、1つのキーだけを取り消します。

読み取り専用設計

読み取り専用バリデーターは、SQL Server に到達する前に SELECT 以外のステートメントを拒否します。 アップデート, マージ、または 落とす API を経由するパス。

あなたのT-SQLは非公開のままです

受信者には、エンドポイントのURL、JSONレスポンス、および公開したフィルターが表示されますが、T-SQL、スキーマ、インスタンス名、接続文字列が表示されることはありません。

ホストやパッチを適用するものはありません

Data API Builderコンテナも、ASP.NETアプリも、リバースプロキシも不要です。エンドポイントはマネージド機能として実行されるため、デプロイパイプラインやTLSローテーションを管理する必要はありません。

永続的、期限付き、または自己消滅型

エンドポイントを永続的に設定したり、特定の日付に有効期限を設定したり、一定数のリクエスト後に自動的に削除される固定の呼び出し予算を設定したりできます。

SQL ServerにREST APIを導入する一般的な方法とその問題点

構築するためのよく知られたツールがあります SQL Server Web APIそして、彼らはその分野で優れた能力を発揮します。ただし、いずれの方法も、インフラストラクチャ、ネットワークへの露出、またはその両方を所有することになります。ここでは、目標が単に「特定のパートナーが特定の結果セットを読み取れるようにする」ことである場合、一般的なアプローチとクエリ ストリーム共有エンドポイントとの比較を示します。

懸念 Microsoft Data API Builder DIY ASP.NET Web API クエリストリーム
APIからアクセス可能なデータベース ホストはSQL Serverにアクセスできる必要があります SQL Serverに到達する必要があります 発信専用エージェント - 受信ポートなし
受取人が持っているもの 公開エンティティへのURL サービスへのURL 1つのクエリ専用のキー
スキーマの公開 設定された各エンティティは到達可能です あなたが手作業でコーディングするものは何であれ 保存されたクエリは1つだけで、それ以外は何もありません。
受信者ごとのキー + 取り消し 独自の認証を設定する 自分で作る 内蔵型
すべての通話の監査ログ 自分で追加してください 自分で追加してください 内蔵型
TLSの操作/パッチ適用/ローテーション はい、永遠に はい、永遠に 管理はお任せください
最初のエンドポイントまでの時間 数時間から数日

パートナー間でデータを共有するためのデータAPIビルダーの代替ツールをお探しですか?

Microsoft Data API Builder は、自社エンティティに対して完全なセルフホスト型の REST および GraphQL インターフェースを構築したい場合に最適です。一方、指定されたパートナーに、独自のキー、監査証跡、ホスト不要の、管理された読み取り専用の結果セットを渡したい場合は、Query Streams がまさにそのニーズを満たします。Data API Builder は社内アプリケーションに、Query Streams は外部への共有に、それぞれ共存可能です。

Query Streams が SQL Server クエリを REST API に変換する方法

ネットワークエージェントがインストールされ、SQL Serverコネクタが構成されたら、保存済みのクエリを共有RESTエンドポイントに昇格させるには、約3つの手順が必要です。Excel、Googleスプレッドシート、またはMCPサーバー用のクエリストリームを既に使用している場合は、エージェントとコネクタは既に設置済みですので、手順2から開始してください。

1

エージェントを介してSQL Serverに接続する

データベースの隣にネットワークエージェントをインストールし、標準の読み取り専用ログインを持つSQL Serverコネクタを追加します。エージェントはクエリストリームへのアウトバウンドTLS接続を確立するため、データベースがインターネットに公開されることはありません。

2

T-SQLクエリを保存する

書く セレクト クエリ ビルダーで SQL Server 接続に対してクエリを実行します。JOIN、CTE、ウィンドウ関数、パラメーターなど、すべて使用可能です。名前を付けて保存してください。SELECT できるものはすべてエンドポイントにできます。

3

それを宣伝し、鍵を共有しましょう

インストール タブを開き、エンドポイント タイプ (永続、期限付き、またはコール バジェット) と出力形式を選択してから、受信者をメールで招待します。受信者はマジック リンク クレームと独自の qsapi_* 鍵。

保存されたクエリ1つ、多数のサーフェス

同じ保存済み SQL Server クエリを使用して、Excel の更新、Google Sheets のサイドバー、MCP Server を介した Claude または Cursor の会話を実行できます。 そして 同時に、パートナー向けのRESTエンドポイントも作成できます。クエリは一度作成するだけで、Query Streamsがインターフェースを処理します。

SQL Serverのポートが開いていない、資格情報が共有されていない

セキュリティモデルこそが、チームがパブリックデータベースポートではなくこの方法を選択する理由です。SQL Serverのログイン情報は、ネットワーク上のエージェントの暗号化された認証情報ストア内にのみ保存され、クラウドに送信されることも、受信者に表示されることもありません。さらに、各エンドポイントには、共有前に受信者ごとにセキュリティを強化できる制御機能が備わっています。

発信専用エージェント

エージェントはポート443で外部に接続します。通常のHTTPS送信であり、受信ポート、VPN、トンネルは使用しません。 インバウンドの露出が不要な理由 →

読み取り専用の強制

エージェント内で、ネットワーク上で、ステートメントが SQL Server に到達する前にバリデーターが実行されます。SELECT 以外のステートメントは、 読み取り専用違反.

IP + CORS許可リスト

受信者のキーを特定のIPアドレスまたはCIDR範囲に紐付け、各エンドポイントへの呼び出しを許可するブラウザの発信元を制限します。リスト外の呼び出しは、SQLクエリが実行される前に拒否されます。

レート制限 + バイト割り当て

2段階のレート制限(キーごと、エンドポイントごと)に加え、オプションの月間バイト上限により、通信量の多い受信者や通信量が制御不能な受信者を安全な範囲内に抑えることができます。

SQL Server REST API を呼び出す

受信者は他の REST API と同様にエンドポイントを呼び出します。ベアラートークンと URL を使用します。公開した保存済みクエリ パラメータは呼び出しごとに設定できます。クエリ文字列で設定できます。 得る またはJSONボディで 役職エージェントはこれらの値を適切なパラメータ化クエリパラメータとしてバインドし、文字列連結は決して行わないため、受信者はフィルタを破ってSQLを挿入することはできません。

フィルターパラメータ付きのGETリクエスト
# SQL Server をバックエンドとするエンドポイントへの受信者呼び出し カール -H 「認証: Bearer qsapi_K7…ZmQ」 \ 「https://api.querystreams.com/v1/endpoints/sales-by-rep?region=West&since=2026-01-01」

呼び出しごとに出力形式を選択します。 受け入れる ヘッダー(または ?format= クエリパラメータ): JSON 単一の配列の場合、 CSV スプレッドシートやpandasの場合、またはストリーミングエンドポイントの場合、 NDJSON (1行に1つのJSON行)解析パイプライン用。帯域幅に敏感なコンシューマーは、 LZ4 ペイロード圧縮 Accept-Encoding: lz4非圧縮応答も標準規格に準拠します gzip 自動的にワイヤ上に表示されます。静的モードとストリーミングモードの詳細、4 つのワイヤの組み合わせ、および OpenAPI 3.1 生成については、以下を参照してください。 SQLデータベース用のインスタントREST API ガイド。

利用料金の請求方法

APIプラットフォームはすべてのプランに含まれており、Excel、Sheets、MCPと同じ月間バイト許容量を使用します。 lz4 圧縮されたバイトの移動に対しては課金し、そうでない場合は非圧縮バイトの移動に対して課金する。 バイトベースの課金が様々なプラットフォームでどのように機能するか →

Power BI、Tableau、およびJSONを読み取るあらゆる機器に接続できます。

すべてのエンドポイントが標準を返すため JSON CSVとストリーミングNDJSONに対応しているため、RESTフィードを読み取ることができるツールであれば、SQL Serverのデータを直接利用できます。ツール側で何もインストールする必要がなく、SQLドライバも不要です。 Power Query Microsoft BI スタックへの最も簡単な橋渡しは、 Power BI 選ぶ データ取得 → Webからエンドポイント URL を貼り付け、 承認 ヘッダーがあり、Power Query は JSON を解析して、データ モデルにフィードする更新可能なテーブルに変換します。(スプレッドシート内のライブ データの場合は、ネイティブ クエリ ストリーム Excel アドオン より簡単な方法は、Power BI モデル自体にデータが必要な場合は Power Query を使用することです。

Microsoft Power Query のロゴ Power Query データ取得 → Webから、URLとベアラートークンを貼り付け、JSONを更新可能なテーブルに展開します。
Microsoft Power BI のロゴ Power BI 同じPower Queryエンジン - エンドポイントをモデルに直接ロードして更新をスケジュールします
Tableauのロゴ タブロー ライブダッシュボードのエンドポイントにWebデータコネクタまたはJSONソースを指定します。
郵便配達員のロゴ 郵便配達人 OpenAPI 3.1仕様をインポートし、ワンクリックでリクエストの送信、検査、共有を行うことができます。

また、 n8n, Qlik, カール、Python (リクエスト または pandas.read_jsonInsomnia、Hoppscotch、またはHTTPリクエストを送信してJSONを読み取ることができるスクリプトやワークフロー。

Azure SQL およびマネージド SQL Server とも連携します。

SQL Server の実行場所は問いません。エージェントは、オンプレミスのインスタンスでも、マネージド サービス (Azure SQL Database、Azure SQL Managed Instance、Amazon RDS for SQL Server) でも同じ方法で接続します。レイテンシを最小限に抑えるには、データベースと同じネットワークまたはリージョンにエージェントをデプロイしてください。1 つの Query Streams アカウントで、リージョンやクラウドをまたいで複数のエージェントを実行でき、単一のエンドポイントは、どのエージェントが担当しても同じように動作します。

SQL Serverよりも

同じワークフローにより、PostgreSQL、MySQL、Oracle、Snowflake、BigQuery、DuckDBなどから保存されたクエリをRESTエンドポイントに昇格させることができます。SQL Serverは、よく利用される出発点の一つにすぎません。 APIプラットフォームがサポートするすべてのデータベース →

よくある質問

ポートを開放したり、SQL Serverをインターネットに公開したりする必要はありますか? +
いいえ — ネットワーク エージェントは HTTPS (ポート 443) 経由でダイヤルアウトするため、SQL Server ポート (1433 デフォルトでは)は公開されず、受信ファイアウォールルールは必要ありません。 発信専用接続の仕組み →
受信者は私のT-SQLやデータベースの認証情報を見ることができますか? +
決してありません。受信者にはエンドポイント URL、レスポンスボディ、および公開したフィルターのみが表示されます。T-SQL と SQL Server のログイン情報は、クエリ ストリームとエージェントのネットワーク上の資格情報ストア内に保持されます。 受信者ごとのキーが認証情報を非公開に保つ方法 →
これはMicrosoft Data API Builderとどう違うのですか? +
Data API Builder は、構成したエンティティに対して REST および GraphQL インターフェースを生成し、ホスト、セキュリティ保護、SQL Server からのアクセスが可能なサービスとして実行されます。一方、Query Streams はアウトバウンド共有に関して、これとは逆の、より限定的なアプローチを採用しています。保存済みのクエリを 1 つのエンドポイントとして公開し、各受信者には取り消し可能なキーが付与され、すべての呼び出しが監査され、デプロイやパッチ適用を行う必要は一切ありません。多くのチームは、社内アプリケーションには Data API Builder を、社外へのデータ共有には Query Streams を使用するなど、両方を利用しています。
APIはどのような出力形式を返すことができますか? +
ストリーミングエンドポイントでは、JSON (デフォルト)、CSV、および NDJSON が呼び出しごとに選択されます。 受け入れる ヘッダーまたは ?format= パラメータ。オプションでLZ4ペイロード圧縮も利用可能。 出力フォーマットと配線組み合わせの説明 →
受信者は結果をフィルタリングできますか、それとも固定されたクエリ結果を受け取るだけですか? +
あなたが決めます。公開するパラメータはすべて呼び出しごとのフィルタになります(クエリ文字列 得るJSON本文 役職)、そしてエージェントはすべての値を実際のクエリパラメータとしてバインドするため、フィルタはSQLを挿入できません。 露出パラメータと安全なバインディングの仕組み →
エンドポイントは期限切れになったり、自己消滅したりすることはできますか? +
はい、エンドポイントは永続的に設定することも、特定の日付で期限切れにすることも、一定の通話予算が経過した後に自動的に消滅させることも可能です。また、データベースのパスワードを変更することなく、受信者のキーを即座に取り消すことができます。 エンドポイントのライフサイクルとキーの失効 →
Azure SQL DatabaseやAmazon RDS for SQL Serverと連携できますか? +
はい。エージェントは、オンプレミス環境でもマネージド環境でも、アクセス可能なすべてのSQL Serverに接続できます。Azure SQL Database、Azure SQL Managed Instance、Amazon RDS for SQL Serverなど、いずれも動作します。レイテンシを最適化するには、データベースと同じリージョンでエージェントを実行してください。1つのアカウントで、クラウドやリージョンをまたいで複数のエージェントを実行できます。
受信者はQuery Streamsアカウントを必要としますか? +
いいえ。追跡可能性を確保するために、メールで相手に共有するか(マジックリンククレームにより、その人の無料ティア組織とキーが自動的に作成されます)、または、無人でのマシン間アクセス用にサービスキーを発行してください。 メールによる共有 vs. サービスキーによる共有 →

スタート

最初のSQL Server REST APIを無料で公開しましょう。

サインアップ後、SQL Serverデータベースの隣にネットワークエージェントをインストールし、T-SQLクエリを保存して、受信者にマジックリンク付きのクレームをメールで送信します。受信者ごとのキー、読み取り専用の強制、および完全な監査証跡は、最初の呼び出しから有効になります。

関連ガイド: SQLデータベース用のインスタントREST API | データベースREST APIプラットフォーム | PostgreSQLをREST APIとして公開する | コネクタ設定ガイド

カテゴリ: APIプラットフォーム

タグ: sql-server-rest-api、mssql-rest-api、rest-api-for-sql-server、sql-server-web-api、data-api-builder-alternative、expose-sql-server-as-api、share-sql-server-data、per-recipient-keys、no-code-api、database-rest-api

メタディスクリプション: SQL Server クエリを、受信者ごとのキーを持つ安全な読み取り専用 REST API に変換します。Data API Builder、ポートの開放、コードは一切不要です。

更新日 2026 年 6 月 16 日