教程更新
依据微软官方 Credits 与 Entra 资料实现,待真实账号验证。尚未登录验收应用创建、Billing profile reader 权限和出账金额对账,自动测试不代表真实账号验收。
- 所需凭据
- Client secret Value
- 监控币种
- USD · Azure 全球商业区
- 可以看到什么
- MCA Credits · 最近出账后
- 单一 Microsoft Customer Agreement(MCA)账单配置文件最近一次出账后的官方 currentBalance,由其多个订阅和项目共享,不是 Foundry 部署或本站项目的独立钱包。仅接收 USD creditCurrency/currentBalance,不换汇。
不接入密钥,如何手动查看 Azure Credits?
- 打开 Azure Portal → Cost Management + Billing → Billing scopes,确认 MCA 账号和实际付款的账单配置文件。
- 进入 Payment methods → Azure credits,查看 Available balance 和币种。它是最近一次出账后的余额,不是扣完全部未出账使用量的实时余额。
- 在 Azure 检查有效期、适用范围、待处理调整与付款方式;不同配置文件分别核对,手动查看不需要提交密钥。
在 Quota Monitor 中接入 Microsoft Azure / Foundry
1. 确认账号确实支持 MCA Credits
登录 Azure Portal,搜索 Cost Management + Billing,进入 Billing scopes,选择为 Foundry 支付的账单账号。查看 Billing account type;只有一个范围时可在 Settings → Properties 查看,必须是 Microsoft Customer Agreement。
检查:进入目标 Billing profile,再打开 Payment methods → Azure credits,确认存在 USD Credits 并记下 Available balance。如果协议/云区域不支持,请停止,不要为了接入而改合同或购买赠金。
2. 复制完整账单配置文件资源 ID
在 Cost Management + Billing 中选中目标账单配置文件,打开 Properties,复制完整的 Billing profile ID:/providers/Microsoft.Billing/billingAccounts/{billing-account-id}/billingProfiles/{billing-profile-id}。
检查:保留账号和配置文件两段完整路径。若页面只给短 ID,请账单所有者提供完整资源 ID;不是浏览器地址、/subscriptions/...、显示名称或发票分区 ID。
3. 注册专用 Entra 应用
切到该账单账号所在目录,进入 Microsoft Entra ID → App registrations → New registration。名称可填 Quota Monitor credits,账号类型选 single-tenant,Redirect URI 留空,点击 Register。Service principal 是应用身份,注册时在该租户自动创建。
检查:在 Overview 复制 Directory (tenant) ID 与 Application (client) ID,都是 UUID,不是 Object ID。若不能注册应用,请已有管理员代建专用应用,不要自行升级权限。
4. 给应用绑定账单配置文件只读角色
请已有 Billing profile owner 或 Billing account owner 返回 Cost Management + Billing → 目标账单配置文件 → Access control (IAM) → Add。选择 Billing profile reader,按名称 / Application ID 找到 Quota Monitor credits 应用,选中并 Add。
检查:授权对象是该 service principal,不是个人账号;范围仅为此配置文件。这是账单角色,不是订阅资源的 IAM Reader、Cost Management Reader 或发票分区角色。不要授予 Owner/Contributor,也不添加 Microsoft Graph/模型权限;使用内置角色,无需自定义 JSON 策略。
5. 创建并保存 Client secret 的 Value
回到 Microsoft Entra ID → App registrations → Quota Monitor credits → Certificates & secrets → Client secrets → New client secret。填写监控专用描述,按组织要求选择到期时间,点击 Add。
检查:立即私下保存只显示一次的 Value(不是 Secret ID),并记下到期日。丢失时新建替代,只删除未使用的监控密钥。不要复用线上应用密钥,也不要把 secret 发给 Agent 或在线接口测试网站。
6. 在本站项目中添加连接
打开本站项目 → 添加供应商连接 → 添加新连接,选 Microsoft Azure / Foundry(MCA · 美元)并命名。Directory (tenant) ID 与 Application (client) ID 填第 3 步值,Billing profile resource ID 填第 2 步完整路径,Client secret Value 填第 5 步密钥,保存。
检查:四项遮蔽显示且一起加密,不需要自定义 API 地址、订阅过滤或浏览器 OAuth 登录。通过 MCP 协助添加时只使用安全填写链接,不在聊天中发送 secret。
7. 同步并对比正确账面金额
等待首次同步或点击「查询最新余额」,确认最新成功查询时间和「MCA Credits · 最近出账后」。与同一配置文件 Azure credits 的 Available balance 对比,不与预估剩余 Credits、本月消费或其他配置文件比较。
检查:currentBalance.value 为 24.5 USD 时显示 $24.5,不是美元分。查询时间更新不代表账面值变成实时资金;有差异先核对出账与入账时间,不能再次扣减使用量。反馈仅含脱敏金额、时间和错误码。
8. 在 Azure 检查资格与付款
点击卡片「打开平台」,回到 Cost Management + Billing 并重新选中同一配置文件。由有权的账单管理员检查 Azure credits 与协议;购买、付款和 Credits 适用性仍由 Azure 处理。
检查:零 Credits 可能转而使用其他付款方式,不一定阻断请求。新增 Credits 可能最多 24 小时才显示,不能据此认为所有 Foundry 服务或第三方模型都可消费这笔钱。
9. 到期前轮换或撤销专用权限
到期前为专用应用创建新 Client secret,添加替代连接并验证同步。移除旧连接的项目引用并删除旧连接,再到 Certificates & secrets 删除旧监控密钥;连接名额不足时先安排替换窗口。
检查:彻底停用监控时,还应在目标配置文件 Access control (IAM) 移除其 Billing profile reader。确认不再使用后才能删除专用应用/密钥;本站删除连接不会撤销 Azure 权限,也不应删除业务应用 Key。
Quota Monitor 读取的 Microsoft Azure / Foundry 数据范围
- 不是实时预付费钱包:不扣未出账费用或应用待处理调整。observedAt 是查询时间,不是出账/结算时间。不以 estimatedBalance 替代,也不按用量自行重算;isEstimatedBalance 必须明确为 false。
- 仅 Azure 全球商业区 MCA 账单配置文件 Credits。EA、MOSP、合作伙伴/CSP、独立 Sponsorship 门户、中国区与政府云暂不支持。有 Foundry API Key 或订阅 ID 不代表可接入。
- Credits 为零不代表 Azure 会停止请求,按量付费可能继续扣款。赠金有效期、产品资格、支持计划和 Marketplace 限制仍适用,不能保证某个 Foundry 模型可用;同一配置文件不能重复相加。
- 204、字段缺失、非 USD、预估响应或权限错误都不是零余额。失败会保留上次成功快照并显示错误。微软说明新 Credits 入账可能需要最多 24 小时。
- 本版仅支持有期限的 Client secret,暂不支持证书、托管身份或联合凭据。微软推荐证书以提高保障;如组织禁止托管密钥,请直接查看 Azure 门户。本站不调用模型、不付款、不创建资源或修改权限。
- 看板展示最近一次成功查询的快照。手动刷新会重新请求供应商,但不保证上游账务没有入账延迟;失败时旧余额不能当成新结果。
Microsoft Azure / Foundry 常见问题与排查
- 没有 MCA 或 Azure credits 标签怎么办?
- 在所选范围的 Properties 核对 Billing account type,请账单所有者确认该配置文件是否有适用 Credits。EA、MOSP、CSP/伙伴、独立 Sponsorship 和主权云不在本版范围内,不要为了绕过限制创建高权限凭据或购买 Credits。
- 400/401 鉴权失败如何处理?
- 核对应用 Directory (tenant) ID、Application (client) ID,并在 Certificates & secrets 检查到期与撤销。提交的是 Value,不是 Secret ID;Foundry API Key、订阅 ID、Object ID、用户密码或 Cookie 都不能替代。租户政策也可能禁止 secret 登录。
- 403 如何修,不给应用管理员权限行吗?
- 请已有账单所有者检查该配置文件的 Access control (IAM),确认目标应用是 Billing profile reader。订阅 Reader、Cost Management Reader 并非同一权限。核对租户与配置文件,等待授权生效后重试;不要给监控应用 Owner 或 Global Administrator。
- Scope 被拒绝或 404?
- 从 Properties 复制完整资源 ID,含 /providers/Microsoft.Billing/billingAccounts/ 与 /billingProfiles/。不能含 URL 域名、查询串、订阅/发票分区路径或编码后的分隔符。请账单所有者核对,不凭相似名称选择。
- 金额不变、与页面不同或没有数据?
- 仅当 isEstimatedBalance=false 时读取 currentBalance,不使用 estimatedBalance。它是出账后账面值,刷新不会结算新费用。204、缺失字段/标志、非 USD 和预估数据会失败并保留历史值。比对同一配置文件与金额口径;新增 Credits 最多可能需要 24 小时。
- 零余额、429 或如何彻底撤销?
- 零是有效账面金额,不保证请求停止。429 稍后重试,不连续点击;失败后检查最后成功时间。撤销需在 Azure 删除专用 secret 及其账单角色,反馈只给脱敏错误码和时间,不能发送原始令牌响应。
Microsoft Azure / Foundry 官方资料
- 官方 MCA Credits 口径与控制台查询(在新标签页打开)
- 官方 Credits - Get(在新标签页打开)
- 官方 MCA 账单角色与授权(在新标签页打开)
- 官方 Service principal 账单授权(在新标签页打开)
- 官方 Entra 应用与 Client secret(在新标签页打开)
- 官方 Billing profile ID 获取路径(在新标签页打开)
- 官方 OAuth Client credentials(在新标签页打开)
- 官方 ARM Scope 双斜线说明(在新标签页打开)
教程由 Quota Monitor 整理,非供应商官方教程。平台界面和权限可能变化,请以官方页面为准;实测范围以本页说明为准。