Azure / Azure/CosmosDBShell

M7. MCP authorization (OAuth code flow)

オープン
#159 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
agentic enhancement P1
主要言語
C#
スター
3
フォーク
7
平均マージ
1日 12時間
マージ済み PR(30日)
14

説明

## Why

Today the MCP server relies solely on **origin-header validation** and localhost binding — safe for a single-user local machine, but there is **no authorization layer**. Any **remote, hosted, or shared** agent deployment (team agent, CI runner, cloud-hosted assistant) currently has no supported way to authenticate a caller. The MCP spec defines an **OAuth 2.1 authorization-code flow** for exactly this; adopting it unlocks hosted/agentic scenarios without falling back to master keys.

This is the natural companion to confirmation/elicitation (item M3): authorization answers *"who is allowed to call,"* M3 answers *"what may they do."*

## Proposed behavior

- Implement the MCP **authorization-code flow** for the HTTP transport: advertise the authorization server, validate bearer tokens on each request, and map the authenticated identity onto the shell's existing Entra/RBAC connection so tool calls run with **least-privilege, per-caller** credentials rather than a shared session.
- Keep localhost/no-auth as an explicit opt-in for the current single-user experience.

## Acceptance criteria

- Unauthenticated remote requests are rejected.
- A client can complete the authorization-code flow and call tools with a bearer token.
- Identity flows to the Cosmos/ARM credential.
- Localhost no-auth mode preserved behind a flag.
- Threat model + `docs/mcp.md` updated.

---
_Filed from the Agentic & Automation Roadmap (`docs/agentic-roadmap.md`), item **M7**, Wave 2. Priority P1._

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

docs/mcp.md と docs/agentic-roadmap.md から始め、特にロードマップ項目 M7 を確認してから、HTTP トランスポートと既存の Entra/RBAC 資格情報パスを追跡します。リモートからの未認証リクエストが拒否され、bearer token による認可が機能し、ID が Cosmos/ARM 資格情報まで到達し、localhost の no-auth が引き続きフラグで制御され、脅威モデルとドキュメントが更新されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
azure, csharp
領域
authentication, authorization, cli, security
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。