Application Insights - user_AuthenticatedId 到 Azure UPN

Application Insights - user_AuthenticatedId to Azure UPN

我已将 Power App 连接到 Azure Application Insights 以跟踪使用情况。

记录事件时,用户 ID 会与 Azure Active Directory ID(Guid)一起记录。

虽然我可以手动查询 AAD 以获取用户 ID 以获取 UPN,但 App Insights 数据资源管理器中是否有任何方法可以将用户 ID 映射到 UPN。

pageViews 
| where timestamp  > datetime(2021-02-04 14:30:00)
| project user_AuthenticatedId, '[UPN]'

不幸的是,对于页面视图等默认遥测,简短的回答是否。内置遥测不会捕获任何 PII 以确保数据合规性(例如,UPN user@example.com 显示用户电子邮件)。

但是,您可以编写自定义跟踪来捕获它。示例:

Trace(
   "App Feedback",
   TraceSeverity.Information,
       {
         UserName: User().FullName,
         UserEmail: User().Email
       }
     );

注意:如果您要记录任何人员数据,则需要考虑您可能还需要执行的任何数据合规义务,例如 GDPR。

详情请参考Analyze app telemetry using Application Insights

好吧,这样做有点迂回,但我使用各种 HTTP REST 调用创建了一个 Power Automate 流程。

首先,我使用带有查询的 REST Api 从 App Insights 中提取用户 ID 列表,然后循环响应向 MS Graph API 请求用户信息发出 HTTP 请求.

需要具有适当安全访问权限的 Azure 应用程序注册才能调用 Graph,但这是一项简单的任务。