[玩转系统] 使用 Azure 自动化和 PowerShell 创建每日 Microsoft Entra 风险报告
作者:精品下载站 日期:2024-12-14 04:12:27 浏览:13 分类:玩电脑
使用 Azure 自动化和 PowerShell 创建每日 Microsoft Entra 风险报告
持续监控风险或为意外做好准备
Microsoft Entra ID P2 订阅中包含的 Microsoft Entra ID 保护功能是对抗基于身份的攻击的非常强大的方法。 ID 保护允许管理员使用实时生成的登录风险状态(由 Microsoft 确定),并通过 Microsoft Entra 的行为分析,在连接超过可配置的风险阈值时自动阻止登录或强制重置密码。
自动阻止登录对于拥有正确许可证的租户来说非常有用,但并不能帮助所有人。抛开有关顶级许可 SKU 背后的安全功能的讨论不谈,对于没有高级订阅的组织来说,一切都不会丢失。虽然某些增强的详细信息和自动修复功能需要高级许可,但具有 Entra ID P1 或 Entra ID Free 的租户可以使用有风险的用户、登录和风险检测报告(Entra ID Free 租户无法获得风险检测)报告),其能力有限,如 Microsoft 文档中详述。
Microsoft Entra 中的风险事件通常会被忙碌的管理员忽视,特别是在可能没有专门的安全操作团队负责监控风险的较小环境中。与 Microsoft 365 中的许多功能一样,一点点自动化可以在很大程度上弥补其中的一些差距。在本文中,我将介绍如何创建 Azure 自动化 Runbook(代码可在 GitHub 上获取)来报告租户中的风险检测结果,并每天通过电子邮件将该报告发送给管理员。
入门
第一个要求是 Azure 自动化帐户。 Azure 自动化是管理自动化报告(例如监视统一审核日志事件)和执行重复任务(例如基于模板预配 Microsoft Teams)的好方法。
为了简单起见,该脚本使用托管标识连接到 Microsoft Graph SDK。由于脚本使用托管标识,因此自动化帐户应与脚本将运行的租户 Entra ID 目录关联。
接下来,自动化帐户的服务主体需要以下 Graph 权限才能运行脚本:
- “IdentityRiskyUser.Read.All” - 检索风险用户数据需要此权限。
- “IdentityRiskEvent.Read.All” - 检索风险事件数据需要此权限。
- “IdentityRiskyServicePrincipal.Read.All” - 检索有风险服务主体数据需要此权限。
- “Mail.Send” - 需要此权限才能在脚本末尾通过电子邮件发送报告
使用 Microsoft Graph PowerShell SDK 按照有关使用 Power Automate 和 Azure 自动化管理 SharePoint 网站生命周期的文章中描述的步骤为服务主体分配所需的权限。
此代码显示如何通过以下方式分配权限:
- 在数组中定义所需的权限。
- 获取 Microsoft Graph 应用程序的服务主体。
- 获取自动化帐户服务主体的标识符。
- 获取每个所需权限的角色 ID。
- 循环遍历每个角色并将角色分配给自动化帐户服务主体
您所需要做的就是替换自动化帐户的名称(在我的示例中为“aa-EntraRiskReport”)。
##List Required Permissions
$Permissions = @(
"IdentityRiskyUser.Read.All"
"IdentityRiskEvent.Read.All"
"IdentityRiskyServicePrincipal.Read.All"
"Mail.Send"
)
##Get Graph Service Principal
$GraphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"
##Get Automation Account Service Principal ID
$MIID = (Get-MgServicePrincipal -Filter "displayName eq 'aa-EntraRiskReport'").id
##Get Graph Role IDs
[array]$Roles = $GraphApp.AppRoles | Where-Object {$Permissions -contains $_.Value}
##Assign each permission
foreach($role in $roles){
$AppRoleAssignment = @{
"PrincipalId" = $MIID
"ResourceId" = $GraphApp.Id
"AppRoleId" = $Role.Id
}
# Assign the Graph permission
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MIID -BodyParameter $AppRoleAssignment
}
接下来,必须安装以下 Microsoft Graph PowerShell SDK 模块作为 Azure 自动化帐户的资源:
- Microsoft.Graph.身份验证。
- Microsoft.Graph.Identity.SignIns。
- Microsoft.Graph.Users.Actions。
Microsoft Graph SDK 模块会定期更新,因此确保它们是最新的非常重要。有关更新 Azure 自动化中的模块的详细信息,请查看有关如何保持 Azure 自动化的 Microsoft Graph PowerShell 模块更新的文章。
添加代码
此任务的脚本可在 GitHub 上找到。在较高级别上,该脚本执行以下任务:
- 声明发件人地址、收件人地址和报告电子邮件主题的变量。
- 使用 PowerShell SDK 连接到 Microsoft Graph。
- 从租户收集风险检测、有风险的用户和有风险的服务主体,仅包括具有“风险”状态的条目。
- 将数据解析为包含报告中应包含的信息的集合。
- 将数据转换为报告的 HTML 格式。
- 向输出添加一些基本的 HTML 格式。
- 将 HTML 报告以及主题和收件人参数添加到新邮件的正文中。
- 使用指定发件人地址变量的 Send-MgUserMail cmdlet 发送报告。
要在您的环境中运行,脚本第 20 行和第 21 行的发件人和收件人变量应使用租户中的有效发件人和收件人地址进行更新。
审查报告
该报告包括三个表:风险检测、风险用户和风险服务主体。图 1 所示的风险检测表列出了处于风险状态“处于风险”的租户中发生的风险事件。这意味着管理员尚未更新触发事件的状态,这通常意味着尚未对其进行审核。
第二个和第三个表包含风险状态为“处于风险”的用户列表(图 2)和服务主体。通常,如果用户或服务主体列出了风险状态,则会有一个或多个导致该状态的风险检测。风险检测表可用于为用户和服务主体表中列出的身份提供上下文。
当管理员在 Microsoft Entra 管理中心内对风险进行操作时,风险状态会更新,并且风险不再显示在报告中。
安排报告
在 Azure 自动化中运行此类脚本的一个主要好处是调度功能。要每天早上运行脚本,请在自动化帐户中创建每日计划,如图 3 所示。
接下来,从 Runbook 将计划链接到 Runbook(图 4)以安排脚本每天早上运行。
简单但有效
自动化帐户将根据计划运行脚本,并每天早上通过电子邮件发送报告。重要的是,不仅要阅读报告,还要确保对环境中的风险状态采取行动,并在风险缓解时更新风险状态。虽然这些信息可以从 Entra 管理中心获取,但以每日报告的形式提供这些信息是确保需要信息的人能够轻松查看这些信息的好方法。脚本中没有什么特别复杂的内容,但它通过连接到租户、收集数据、格式化数据然后通过电子邮件发送来完成所需的工作。我确信可以进行改进,特别是在报告的格式方面,但我会将其留给比我更有设计眼光的人。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag