通过

使用审核日志排查条件访问策略更改问题

概述

排查环境中发生条件访问策略更改的原因和方式时,Microsoft Entra审核日志是有价值的信息来源。

默认情况下,审核日志数据将保留 30 天,这可能不足以满足每个组织的需求。 组织可以通过在 Microsoft Entra ID 中更改诊断设置来更长时间地存储数据:

  • 将数据发送到Log Analytics工作区
  • 将数据存档到存储帐户
  • 将数据流式传输到事件中心
  • 将数据发送到合作伙伴解决方案

Entra ID>Monitoring & health>Diagnostic settings>编辑设置下找到这些选项。 如果您没有诊断设置,请参阅 “创建诊断设置,将平台日志和指标发送到不同的目标” 以了解如何创建诊断设置的说明。

使用审核日志

  1. 以至少具备 Reports Reader 身份登录到 Microsoft Entra 管理中心

  2. 浏览到 Entra ID>监控与健康>审计日志

  3. 选择要查询的 日期 范围。

  4. 在“服务”筛选器中,选择“条件访问”,然后选择“应用”按钮。

    默认情况下,审核日志显示所有活动。 使用 活动 筛选器缩小活动范围。 有关条件访问的审核日志活动的完整列表,请参阅审核日志活动

  5. 选择一行以查看详细信息。 “修改的属性”选项卡列出了所选审核活动的已修改 JSON 值。

审核日志条目的屏幕截图,其中显示了条件访问策略的旧 JSON 值和新 JSON 值。

使用 Log Analytics

Log Analytics 允许组织使用内置查询或自定义 Kusto 查询对数据进行查询。 有关详细信息,请参阅 在 Azure Monitor 中开始日志查询

这是一个关于条件访问策略更新的 Log Analytics 查询的截图,显示新值和旧值的位置。

启用后,在Entra IDMonitoring & healthLog Analytics中找到日志分析功能。 与条件访问管理员最相关的表是 AuditLogs

AuditLogs 
| where OperationName == "Update Conditional Access policy"

TargetResources>modifiedProperties 下查找更改。

读取值

审核日志和 Log Analytics 中的旧值和新值均采用 JSON 格式。 比较这两个值以标识策略的更改。

旧策略示例:

{
    "conditions": {
        "applications": {
            "applicationFilter": null,
            "excludeApplications": [
            ],
            "includeApplications": [
                "797f4846-ba00-4fd7-ba43-dac1f8f63013"
            ],
            "includeAuthenticationContextClassReferences": [
            ],
            "includeUserActions": [
            ]
        },
        "clientAppTypes": [
            "browser",
            "mobileAppsAndDesktopClients"
        ],
        "servicePrincipalRiskLevels": [
        ],
        "signInRiskLevels": [
        ],
        "userRiskLevels": [
        ],
        "users": {
            "excludeGroups": [
                "eedad040-3722-4bcb-bde5-bc7c857f4983"
            ],
            "excludeRoles": [
            ],
            "excludeUsers": [
            ],
            "includeGroups": [
            ],
            "includeRoles": [
            ],
            "includeUsers": [
                "All"
            ]
        }
    },
    "displayName": "Common Policy - Require MFA for Azure management",
    "grantControls": {
        "builtInControls": [
            "mfa"
        ],
        "customAuthenticationFactors": [
        ],
        "operator": "OR",
        "termsOfUse": [
            "a0d3eb5b-6cbe-472b-a960-0baacbd02b51"
        ]
    },
    "id": "334e26e9-9622-4e0a-a424-102ed4b185b3",
    "modifiedDateTime": "2021-08-09T17:52:40.781994+00:00",
    "state": "enabled"
}

已更新的策略示例:

{
    "conditions": {
        "applications": {
            "applicationFilter": null,
            "excludeApplications": [
            ],
            "includeApplications": [
                "797f4846-ba00-4fd7-ba43-dac1f8f63013"
            ],
            "includeAuthenticationContextClassReferences": [
            ],
            "includeUserActions": [
            ]
        },
        "clientAppTypes": [
            "browser",
            "mobileAppsAndDesktopClients"
        ],
        "servicePrincipalRiskLevels": [
        ],
        "signInRiskLevels": [
        ],
        "userRiskLevels": [
        ],
        "users": {
            "excludeGroups": [
                "eedad040-3722-4bcb-bde5-bc7c857f4983"
            ],
            "excludeRoles": [
            ],
            "excludeUsers": [
            ],
            "includeGroups": [
            ],
            "includeRoles": [
            ],
            "includeUsers": [
                "All"
            ]
        }
    },
    "displayName": "Common Policy - Require MFA for Azure management",
    "grantControls": {
        "builtInControls": [
            "mfa"
        ],
        "customAuthenticationFactors": [
        ],
        "operator": "OR",
        "termsOfUse": [
        ]
    },
    "id": "334e26e9-9622-4e0a-a424-102ed4b185b3",
    "modifiedDateTime": "2021-08-09T17:52:54.9739405+00:00",
    "state": "enabled"
}

在前面的示例中,更新的策略不包括授予控件中的使用条款。