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

如何在Azure Automation脚本中添加关联MSP账号的Entra ID审计日志条目?

可行解决方案:关联MSP账号至离职流程审计记录

方案1:通过Microsoft Graph API提交自定义Entra ID审计条目

Entra ID没有原生PowerShell cmdlet支持直接添加自定义审计记录,但可通过Graph API的自定义审计事件端点实现,步骤如下:

  • 为Azure Automation托管身份分配AuditLog.ReadWrite.All应用权限
  • 在离职脚本中加入API调用代码,将MSP账号标记为操作发起者

示例PowerShell代码片段:

$graphUri = "https://graph.microsoft.com/v1.0/auditLogs/customAuditEvents"
$authToken = (Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com").Token

$auditEventPayload = @{
    activityDisplayName = "执行员工离职流程"
    action = "UserAccountTermination"
    actor = @{
        userPrincipalName = "msp-admin@your-msp-domain.com" # MSP账号UPN
        userId = "MSP_USER_OBJECT_ID" # 可选:MSP账号的Entra ID对象ID
    }
    targetResources = @(
        @{
            id = "TERMINATED_USER_OBJECT_ID"
            displayName = "离职员工姓名"
            type = "User"
        }
    )
    additionalDetails = @(
        @{ key = "TriggerSource"; value = "Azure Automation Webhook" },
        @{ key = "InitiatedByMSP"; value = "True" }
    )
} | ConvertTo-Json -Depth 5

Invoke-RestMethod -Uri $graphUri -Method Post -Headers @{Authorization = "Bearer $authToken"} -Body $auditEventPayload -ContentType "application/json"

方案2:调整脚本触发身份为MSP账号

若合规政策允许,可直接让MSP账号作为执行身份触发脚本:

  • 为MSP账号分配Azure Automation的Runbook Operator或更高权限(遵循最小权限原则)
  • 修改Webhook触发逻辑,要求MSP账号通过自身身份认证后调用Runbook
  • 此方式下,Entra ID审计日志会直接关联MSP账号,无需额外自定义记录

方案3:Azure Monitor自定义日志关联补充

若无法直接写入Entra ID审计日志,可通过Azure Monitor补充关联记录:

  • 在离职脚本中添加代码,向Azure Monitor自定义日志写入MSP账号、操作详情等信息
  • 创建Azure Monitor查询,将Entra ID中托管身份的操作日志与自定义日志关联,生成合规审计报表

关键注意事项

  • 使用Graph API时,严格限制托管身份的权限范围,仅保留提交审计事件的必要权限
  • 所有自定义记录需包含完整上下文(操作时间、目标用户、触发来源),满足SOC/SOX/ISO的审计追踪要求
  • 定期验证自定义审计记录的可查询性,确保合规证据链完整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:55:03