You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#开发的企业门户中集成Azure Dashboard并实现共享?

嘿,这个需求我刚好有实操经验,给你整理几个不用PowerBI、适配C#技术栈的集成方案,还有关键配置和官方文档的方向:

方案1:嵌入Azure Portal Dashboard的iframe

这是最省心的方式,几乎不用额外开发,直接复用你已经搭好的Dashboard。

  • 实现步骤:
    1. 先在Azure Portal里把你的个人Dashboard设置为共享——找到Dashboard右上角的「共享」按钮,选择「组织内共享」或者指定公司内部的Azure AD组,确保只有授权用户能访问。
    2. 获取Dashboard的嵌入链接:共享后,在「嵌入」选项里复制iframe代码,直接粘贴到你公司门户的C# MVC/Razor页面或者Blazor组件里就行。
  • 关键配置:
    • 权限控制:一定要通过Azure AD角色(比如Dashboard Reader)限制访问,别开公开共享,防止数据泄露。
    • 内容安全策略(CSP):在门户的Startup.cs或者Web.config里配置CSP,添加frame-src https://portal.azure.com,不然浏览器会拦截iframe加载。
    • 单点登录(SSO):如果你的公司门户已经集成了Azure AD SSO,用户登录门户后访问iframe里的Dashboard不需要二次登录,体验会很流畅——前提是用户在Azure AD里有访问该Dashboard的权限。
方案2:用Application Insights REST API + 自定义前端组件

如果想要完全定制UI,不想依赖Azure Portal的样式,这个方案更适合。

  • 实现步骤:
    1. 在Azure AD里注册一个服务主体,给它分配Application Insights的Monitoring Reader角色,确保能调用API查询数据。
    2. 后端(C#)用Azure.Identity库获取访问令牌,然后调用Application Insights的查询API执行你预先写好的Kusto语句,拿到监控数据。
    3. 前端用Chart.js、ECharts这类开源库,把后端返回的数据渲染成图表,集成到门户页面里。
  • 关键配置:
    • 后端获取令牌的代码示例:
      var tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");
      var clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");
      var clientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET");
      
      var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
      var tokenRequestContext = new TokenRequestContext(new[] { "https://api.applicationinsights.io/.default" });
      var token = await credential.GetTokenAsync(tokenRequestContext);
      
    • 缓存优化:给API查询结果加缓存(比如用MemoryCache),每隔5-10分钟刷新一次,避免频繁调用API触发限流。
    • 参数化查询:支持用户切换应用、时间范围,把这些参数传到Kusto查询里,比如where appName == @appName and timestamp >= @startTime。
方案3:嵌入Azure Monitor Workbooks

如果你的Dashboard是用Azure Monitor Workbooks做的(比普通Dashboard更灵活),也可以用类似iframe的方式嵌入,或者通过API获取内容自定义渲染。

  • 实现步骤:
    1. 把Workbook设置为共享,获取嵌入链接,同样用iframe嵌入到门户里。
    2. 要是想定制化,也可以调用Workbooks的REST API获取配置和数据,自己渲染组件。
  • 优势:Workbook支持钻取、筛选等交互,用户在门户里就能直接操作图表,体验和Azure Portal里一致。
通用配置要点
  • 权限管控:所有方案都要通过Azure AD来控制访问,别用账号密码硬编码,凭证存在Azure Key Vault里,后端通过环境变量读取。
  • 性能优化:iframe可以加loading="lazy"延迟加载;API调用要注意Azure Monitor的查询限制,避免一次查太多数据导致超时。
  • 安全防护:前端不要直接处理敏感数据,所有API请求都走后端代理,防止令牌泄露。
官方文档参考
  • Azure Portal Dashboard共享与嵌入:搜「Azure dashboard share and embed」,文档里有详细的共享步骤、权限设置和嵌入代码示例。
  • Application Insights Query API:搜「Application Insights REST API query」,里面有完整的端点说明、认证方式和C#调用示例。
  • Azure Identity库使用:搜「Azure Identity ClientSecretCredential」,微软文档里有最佳实践和代码示例,能帮你快速搞定令牌获取。

内容的提问来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:15:08