代码之家  ›  专栏  ›  技术社区  ›  John Park

如何使用Graph SDK v5.56(C#)从Microsoft权限检索AuditLog查询?

  •  0
  • John Park  · 技术社区  · 11 月前

    我目前正在使用C#中的Graph SDK v5.56从Microsoft权限中检索AuditLog数据。在Graph Explorer中,我能够通过调用以下端点成功检索数据:

    https://graph.microsoft.com/beta/security/auditLog/queries
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/auditLog/queries",
        "@odata.count": 12,
        "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET security/auditLog/queries?$select=administrativeUnitIdFilters,displayName",
        "value": [
            {
                "id": "guid",
                "displayName": "AuditLog_CreatedByGraph2",
                "filterStartDateTime": "2024-07-01T00:00:00Z",
                "filterEndDateTime": "2024-08-09T00:00:00Z",
                "recordTypeFilters": [],
                "keywordFilter": "",
                "serviceFilters": [],
                "operationFilters": [
                    "filesensitivitylabelapplied"
                ],
                "userPrincipalNameFilters": [],
                "ipAddressFilters": [],
                "objectIdFilters": [],
                "administrativeUnitIdFilters": [],
                "status": "succeeded"
            }
            ...
        ]
    }
    

    然而,当试图使用Graph SDK实现相同的结果时,我注意到graphServiceClient。安全。审计日志。查询似乎不存在(Security之后没有AuditLog属性)。我尝试使用以下方法获取AuditLog查询:

    var result = graphServiceClient.Security.WithUrl("https://graph.microsoft.com/beta/security/auditLog/queries")
            .GetAsync()
            .GetAwaiter()
            .GetResult();
    

    但这种方法返回了0个结果。

    如何使用C#中的Graph SDK检索与使用Graph Explorer相同的结果?任何指导都将不胜感激!

    1 回复  |  直到 11 月前
        1
  •  1
  •   user2250152    11 月前

    你需要使用 The Microsoft Graph Client Beta Library SDK ,因为审核日志查询仅在以下情况下可用 beta 。然后,您应该能够检索审核日志查询

    var result = await graphClientBeta.Security.AuditLog.Queries.GetAsync();
    

    你应该能够使用 Microsoft.Graph Microsoft.Graph.Beta 并排使用,因为两个库使用不同的名称空间

    https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/docs/upgrade-to-v5.md#namespacesusings-changes