使用托管标识(而不是检测密钥)配置 Application InsightsConfigure Application Insights with managed identity instead of instrumentation key

Configure Application Insights with managed identity instead of instrumentation key

提问人:James 提问时间:11/13/2023 最后编辑:James 更新时间:11/13/2023 访问量:74

问:

我有一个与 Application Insights 集成的 .NET Framework v4.8.2 应用程序,它利用检测密钥将请求定向到 Application Insights。尽管如此,我还是想把它移到基于角色的访问控制 (RBAC) 上,如下所示:https://learn.microsoft.com/en-us/azure/azure-monitor/app/resources-roles-access-control

我想在应用程序中完全删除检测密钥的使用,而是采用 Azure 托管标识 (DefaultAzureCredential),并具有使用 terraform 发布到 Application Insights 的权限。这可能吗?如果是这样,我将如何去做?

目前,我有一个 applicatinsightsconfig 文件,我想将其删除并替换为托管标识。<InstrumentationKey>MyKey</InstrumentationKey>

.net asp.net-mvc azure azure-application-insights

评论


答:

0赞 ZakiMa 11/13/2023 #1

这里有几个部分:

  1. 确保使用最新版本的 .NET Application Insights SDK(支持 AAD 身份验证和连接字符串)。
  2. 切换到使用连接字符串(而不是检测密钥)[这也称为 compared to(已弃用)]。regional ingestionglobal ingestion
  3. 开始使用托管标识(不要忘记分配“监视指标发布者”角色)。
  4. 验证引入是否继续有效
  5. 禁用“本地身份验证”( -> -> 切换到 ):PropertiesLOCAL AUTHENTICATION: Enabled (click to change)Disabled

enter image description here

请注意,检测密钥将继续是连接字符串的一部分,但在启用 AAD 身份验证(或更准确地说是禁用)的情况下,它开始仅充当资源标识符,而不是密钥。Local auth

评论

0赞 James 11/15/2023
您知道这是否适用于 .NET Framework 4.8.2 吗?禁用本地身份验证后,引入将停止工作 - 尽管具有具有监视指标发布者角色的托管标识。
0赞 ZakiMa 11/15/2023
是的,它受支持。是否向 AI SDK 提供托管标识?learn.microsoft.com/en-us/azure/azure-monitor/app/......
0赞 ZakiMa 11/15/2023
有针对 .NET 和 .NET Core 的部分。