Azure AD注册应用程序是Active Directory服务帐户的Azure AD版本。随着时间的推移,他们的数量越来越多,每个人都有权限使用来自Azure AD和Microsoft Graph的信息。作为Azure AD的管理员,这些注册的应用程序需要维护,即凭证有效性和更重要的应用程序有效性。

与Azure AD注册应用程序关联的凭据过期可以通过Azure门户快速查看。我们可以很快看到当前的、过期的和即将到期的凭证,如下面的屏幕截图所示。

Azure的AD应用证书过期

但随着注册应用程序相关的约活动怎么样?为此,我们需要深入到每个应用程序,看看登入活动。

Azure的AD应用程序登录插件

但是,如果我们有100个或1000个Azure AD注册应用程序呢?我们如何以编程方式检查每个已注册的应用程序,并查看凭据是否已过期或即将过期,以及应用程序是否正在被积极使用?这就是这篇文章的内容。

先决条件

这是相当具有讽刺意味的是,为了查询Microsoft图表审计署Azure的AD注册的应用程序和登录活动,我们需要一个注册的应用提供必要的权限。注册一个新的应用程序,如果你没有一个具有下列权限,或者使用/更新现有的应用程序,有;

  • 注册的应用程序枚举
    • 为了枚举所有注册的应用程序,你需要一个注册的应用有;
      • 微软图形=> Directory.Read.All
  • Azure的AD审计日志
    • 为了搜索对于登入活动与注册相关的应用程序
      • 微软图形=> AuditLog.Read.All

下面的脚本使用PowerShell的MSAL.PS模块。您将需要此安装在运行该脚本的主机上。

  • 该MSAL.PS模块用于微软认证图表。看到这个岗位更多细节。

示例脚本

下面是一个示例脚本,它利用您使用上面列出的权限注册的应用程序对Microsoft Graph进行身份验证。

更新:

  • 您AAD租户ID号线2
  • 您AAD申请ID号线3
  • 第4行是AAD应用程序的秘密
  • 对于提前几天你正在寻找检查过期证书的数量10号线(例如凭据未来60天内到期)

运行该脚本后,您将有两个集合。

  • $ ingcredsapps集合包含已注册的应用程序,其中包含一个已过期或将在未来60天内过期的凭据(根据第10行上的配置值)。
    • 集合对象还包含最近的登录
  • $ aadAppsReport集合,其中包含最近登录和凭证沿所有注册应用程序

摘要

使用PowerShell和Microsoft Graph我们可以快速枚举和审计Azure的AD注册的应用程序。您可以轻松地扩展这个脚本,并安排其执行和启用通知

类别:
身份和访问管理电源外壳
标签: