Support secretless credential options (workload identity federation / certificates) for OBO authentication
维护者通常 2 天内回复
@gmohit21 已经在做这个了。
开始于 2026年8月18日。
评估
这个 Issue 还没有评估数据。
描述
Summary
DAB SQL MCP OBO currently only supports client secrets (DAB_OBO_CLIENT_SECRET + WithClientSecret(...)) for building the MSAL confidential client used in the On-Behalf-Of flow. Please add support for secretless credential options such as workload identity federation (FIC), client certificates, or client assertions.
Context
We are validating SQL MCP hosting inside a managed Connector Gateway / ADC sandbox environment. We tested DAB 2.0.1-rc over HTTP MCP and confirmed the basic OBO flow works end-to-end (describe_entities, read_records both succeed).
The current OBO flow:
- DAB reads the user token from
Authorization: Bearer <user token> - Uses MSAL.NET
AcquireTokenOnBehalfOf(...)to exchange it for an Azure SQL scope token (https://database.windows.net/.default) - Sets the token on
SqlConnection.AccessToken
This requires three environment variables today:
DAB_OBO_CLIENT_IDDAB_OBO_TENANT_IDDAB_OBO_CLIENT_SECRET
Problem
In our managed hosting scenario, the sandbox environment is fully abstracted from the customer. Storing customer app secrets in sandbox/container configuration is problematic because:
- SFI (Secure Future Initiative) compliance — Using secrets for Entra Apps is blocked on most Microsoft tenants and requires multiple levels of exception processes.
- Security posture — Long-lived client secrets in container configuration are difficult or unacceptable for many tenants.
OBO still requires the middle-tier app to authenticate as a confidential client, but the credential ideally should not need to be a long-lived client secret.
Requested Credential Options
Support one or more of the following in addition to client secret:
- Workload identity federation (Federated Identity Credentials / FIC)
- Client certificate (
WithCertificate(...)) - Client assertion (
WithClientAssertion(...))
References
- 主要语言
- C#
- 星标
- 1.5k
- 派生
- 376
- 平均合并
- 2 天 10 小时
- 30 天内合并 PR
- 12
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Azure/data-api-builder 的其他 Issue
-
[Bug]: GraphQL fields listed after a fragment spread are silently dropped可能已有人在做 @hippi345 于 3 天前认领。 未关闭bug triage
难度 2/5 1-3 小时 新手友好度 76/100
Azure/data-api-builder#3861 ·
维护者通常 2 天内回复
-
pgsql
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3598 ·
维护者通常 2 天内回复
-
2.x cli mcp-server
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3576 ·
维护者通常 2 天内回复
-
2.x health-endpoint
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3570 ·
维护者通常 2 天内回复
-
2.x telemetry
难度 2/5 1-3 小时 新手友好度 68/100
Azure/data-api-builder#3564 ·
维护者通常 2 天内回复
查看 Azure/data-api-builder 的全部 Issue
相似的 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 65/100
KnifeLemon/Filee#294 ·
维护者通常 1 天内回复
-
mtg-decide submission
难度 2/5 1-3 小时 新手友好度 66/100
Fialuxe/MouthOfGod_System#288 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
gavin-wolfe/wolfden#104 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
-
[BUG] Still libmicrohttpd dependency is not removed properly from External-Dependency-Info.txt file可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭type/bug
难度 1/5 1 小时以内 新手友好度 72/100
维护者通常 1 天内回复