提问人:James 提问时间:11/13/2023 最后编辑:James 更新时间:11/13/2023 访问量:74
使用托管标识(而不是检测密钥)配置 Application InsightsConfigure Application Insights with managed identity instead of instrumentation key
Configure Application Insights with managed identity instead of instrumentation key
问:
我有一个与 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>
答:
0赞
ZakiMa
11/13/2023
#1
这里有几个部分:
- 确保使用最新版本的 .NET Application Insights SDK(支持 AAD 身份验证和连接字符串)。
- 切换到使用连接字符串(而不是检测密钥)[这也称为 compared to(已弃用)]。
regional ingestion
global ingestion
- 开始使用托管标识(不要忘记分配“监视指标发布者”角色)。
- 验证引入是否继续有效
- 禁用“本地身份验证”( -> -> 切换到 ):
Properties
LOCAL AUTHENTICATION: Enabled (click to change)
Disabled
请注意,检测密钥将继续是连接字符串的一部分,但在启用 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 的部分。
评论