获取M365用户lastSignInDateTime属性的最精细安全权限及替代选项
获取M365用户lastSignInDateTime的权限方案
你不需要请求AuditLog.Read.All权限来获取用户的lastSignInDateTime属性,有几个更精细的权限选项可以选择:
直接读取用户对象属性(推荐)
Microsoft Graph的/users端点本身就包含lastSignInDateTime字段,只需要以下权限之一即可访问:
User.ReadBasic.All:权限范围最小,仅能读取用户基本属性(包含lastSignInDateTime)User.Read.All:可读取所有用户属性,适合需要同时获取其他用户信息的场景
示例请求:
GET https://graph.microsoft.com/v1.0/users?$select=id,displayName,lastSignInDateTime
使用Directory.Read.All权限
如果你的场景需要读取更多目录类数据,Directory.Read.All也能获取用户的lastSignInDateTime,这个权限聚焦于目录对象的读取,不会暴露审计日志里的其他用户活动细节,比AuditLog.Read.All更安全。
关于AuditLog.Read.All的说明
这个权限主要用于访问完整的审计日志(比如登录IP、客户端类型、登录失败原因等详细活动记录),单纯获取用户最近登录时间完全没必要使用它。目前获取lastSignInDateTime的最优解是直接读取用户对象,不需要依赖审计日志权限。
内容的提问来源于stack exchange,提问作者Tim Whatley
相关产品推荐
相关产品推荐

