本文へ移動
hs-sql-agent
2.0.3
ドキュメント 2.0.3
ドキュメント はじめに

はじめに

hs-sql-agent のセキュリティ境界を理解し、適切な利用形態を選びます。

hs-sql-agent は、統制された SQL アクセスを提供する HTTP MCP Server です。MCP Client を PostgreSQL、MySQL、SQL Server、Oracle、SQLite、Firebird に接続しつつ、認証、アクセス Policy、SQL 検証、DML 承認、データベース実行をサーバー側に保持します。

モデルが生成した SQL は信頼しない入力として扱います。モデルは SQL を提案できますが、実行権限、対応する意味論、安全に実行できるかどうかはサーバーが判断します。

3 つの利用形態

単独でデプロイ

hs-sql-agent を独立サービスとして動かす場合は、公式 Docker イメージまたは repository の Compose 構成を使います。完全な第一方製品を最短で起動できます。

完全な製品を組み込む

.NET アプリに公式 Docker イメージと同じ標準の第一方構成と設定契約を組み込む場合は HsSqlAgent.Hosting を使います。

カスタム統合を構築する

既存の ASP.NET Core アプリが認証、認可、Middleware 順序、Frontend、Telemetry、承認 Provider の構成を自分で管理する場合は HsSqlAgent.Server を使います。AddHsSqlAgentCore() から始め、必要な Capability だけ追加します。

セキュリティ境界

Query は Parse、Bind、認可、Policy 検証、Capability 検証、Provider-specific Compile、実行の順に通ります。未対応の構文や意味論は fail closed となり、生 SQL をそのまま Database Provider に渡す経路には戻りません。

DML は別の高リスク経路です。execute_dml_sql は、セミコロンで区切った複数の対応 DML を受け取れますが、サーバーが所有する承認 Evidence、再検証、原子的 Transaction 実行を必ず通ります。

承認 adapter に Database Connection、Transaction、検証済み実行 Plan、commit primitive は渡りません。実行権限は hs-sql-agent に残ります。

次に読む