kingsrule50/privileged-identity-management-pim-lab

GitHub: kingsrule50/privileged-identity-management-pim-lab

微软Entra PIM实验室项目,实现权限的适时访问控制。

Stars: 0 | Forks: 0

# 🛡️ 特权身份管理 (PIM) — 适时访问控制 **平台:** 微软 Entra ID (Azure AD) **组织:** Cupetence Technologies DEV **作者:** Kingsley **日期:** 2026年5月23日 ## ⚠️ 本实验解决的问题 在大多数组织中,管理员被分配了特权角色——例如全局管理员——**永久**。这意味着他们的账户全天候、每周7天都拥有完整的管理员权限,即使他们没有积极执行管理任务。这被称为**持续特权**,它是身份管理中最危险的漏洞之一。 持续特权的风险非常严重: - 如果永久管理员账户因网络钓鱼、凭证盗窃或内部威胁而受到损害,攻击者将立即获得对整个租户的完全控制权,没有时间限制 - 特权账户是攻击者的最高价值目标——永久持续访问使它们成为永久目标 - 包括 **NIST 800-53**、**ISO 27001** 和 **CIS Controls** 在内的合规框架明确要求最小权限访问和有时间限制的提升权限 - 微软报告称,**大多数重大安全漏洞始于特权账户的损害**,而持续特权大大增加了影响范围 **特权身份管理 (PIM)** 通过用**适时 (JIT) 访问**替换永久管理员分配来解决此问题——用户有资格获得特权角色,但必须积极请求激活、提供理由、通过多因素认证并获得指定审批人的批准,然后才能授予角色。访问有时间限制并自动过期,确保没有人不必要地持有持续特权。 ## 📋 概述 在本实验中,我在微软 Entra ID 中配置了**特权身份管理 (PIM)**,以实现全局管理员角色的适时访问控制。本实验涵盖五个阶段: 1. **PIM 设置和导航** — 探索 PIM 界面和理解现有角色状态 2. **角色设置配置** — 定义激活规则、过期策略、MFA 要求、审批工作流和通知设置 3. **有资格分配创建** — 将用户分配为有资格(非永久)担任全局管理员角色,并具有时间限制的窗口 4. **最终用户激活和管理员批准** — 以测试用户身份登录,请求角色激活并提供理由,以及作为管理员批准请求 5. **验证和审计** — 确认角色处于活动状态,审查完整的审计跟踪,并检查 PIM 安全警报 ## 🗂️ 目录 - [本实验解决的问题](#️-the-problem-this-lab-addresses) - [阶段 1 — PIM 设置和导航](#phase-1--pim-setup--navigation) - [阶段 2 — 角色设置配置](#phase-2--role-settings-configuration) - [阶段 3 — 有资格分配创建](#phase-3--eligible-assignment-creation) - [阶段 4 — 最终用户激活和管理员批准](#phase-4--end-user-activation--admin-approval) - [阶段 5 — 验证和审计](#phase-5--verification--audit) - [总结](#summary) - [展示的技能](#-skills-demonstrated) - [职业相关性](#-career-relevance) - [相关实验](#-related-labs-in-this-repository) ## 阶段 1 — PIM 设置和导航 ### 步骤 1 — 导航到 PIM 快速入门页面 我打开了 **Microsoft Entra 管理中心** 并导航到 **ID 管理 > 特权身份管理**。快速入门页面介绍了 PIM 的三个核心支柱:**管理访问**(最小权限执行)、**适时激活**(消除持续访问)和**发现和监控**(查看谁持有特权角色)。这是我整个实验的入口点。 ![步骤 1 - PIM 快速入门](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/efcb710939101856.png) ### 步骤 2 — 打开 PIM 中的 Microsoft Entra 角色 我点击 **管理** 下的 **Microsoft Entra 角色**,进入 PIM 角色管理界面。此视图显示了四个关键的 PIM 工作流:**分配资格**、**激活您的角色**、**审批请求**和**查看您的历史记录**——涵盖从分配到审计的完整 JIT 访问生命周期。 ![步骤 2 - PIM Entra 角色](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0e1295af3a101856.png) ### 步骤 3 — 浏览完整角色列表 我导航到 **角色** 下的 **管理** 部分,查看所有适用于 PIM 管理的 Microsoft Entra 角色。列表显示了所有目录角色,包括**全局管理员**(10 个当前活动分配)、**帮助台管理员**(210 个)、**全局读取器**(231 个)等。这让我在做出任何更改之前对特权角色格局有了全面的了解。 ![步骤 3 - PIM 角色列表](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e72b8de833101857.png) ### 步骤 4 — 查看现有的全局管理员有资格分配 我点击 **全局管理员** 并导航到 **分配 > 有资格分配**。我可以看到 2 个现有的有资格分配——都是基于组的(PAG - 高级领导层和 PAG - 企业信息)——分配为永久。这证实了我开始配置其他分配之前的现有状态。 ![步骤 4 - 全局管理员现有分配](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3f1b45d20b101858.png) ## 阶段 2 — 角色设置配置 ### 步骤 5 — 配置全局管理员的激活设置 我点击 **设置** 并打开 **编辑角色设置 — 全局管理员** 页面,在 **激活** 选项卡上。我配置了以下控件来强制执行安全的 JIT 访问: | 设置 | 值 | |---|---| | 激活最大持续时间 | **2 小时** | | 激活时要求 | **Azure MFA** | | 激活时要求理由 | ✅ 启用 | | 激活时要求批准 | ✅ 启用 | | 选定的审批人 | 6 名成员已配置 | 这意味着任何请求全局管理员访问的用户都需要完成 MFA、提供书面理由,并等待其中一名指定的审批人批准请求——访问将在 2 小时后自动过期。 ![步骤 5 - 激活设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6b21a0a42c101859.png) ### 步骤 6 — 配置分配过期规则 仍然在角色设置中,我转到 **分配** 选项卡并配置以下过期规则以防止过期的分配: | 设置 | 值 | |---|---| | 允许永久有资格分配 | ❌ 禁用 | | 有资格分配过期后 | **15 天** | | 允许永久活动分配 | ❌ 禁用 | | 活动分配过期后 | **6 个月** | | 活动分配时要求 Azure MFA | ✅ 启用 | | 活动分配时要求理由 | ✅ 启用 | 禁用永久分配意味着没有用户可以无限期地持有全局管理员角色(活动或有资格)——所有分配都将自动过期,强制进行持续审查。 ![步骤 6 - 分配设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1ff5cad991101900.png) ### 步骤 7 — 审查通知设置 我导航到 **通知** 选项卡以审查电子邮件警报配置。PIM 设置为在三个触发事件时发送通知:当成员被分配为有资格时、当成员被分配为活动时以及当有资格成员激活角色时。默认情况下,通知配置为向分配者/请求者和管理员发送警报,确保所有相关利益相关者对所有角色活动都有全面的了解。 ![步骤 7 - 通知设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f6c21f7e62101901.png) ## 阶段 3 — 有资格分配创建 ### 步骤 8 — 搜索要分配的成员 我点击 **+ 添加分配** 并在成员搜索面板中搜索 `KATE`。搜索返回 1 个结果——**kate ALL** (`KateallCupetence Technologies DEV`)——她是来自 MFA 条件访问实验室的同一测试用户。我选择她作为有资格分配的接收者并点击 **选择**。 ![步骤 8 - 搜索和选择成员](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/06d46dd359101902.png) ### 步骤 9 — 确认成员选择 成员选项卡确认 **kate ALL** 是全局管理员有资格分配的选定成员。我点击 **下一步** 以进入设置选项卡。 ![步骤 9 - 第二次确认成员](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/38632e2f69101903.png) ### 步骤 10 — 设置时间限制有资格分配 在 **设置** 选项卡上,我为 kate ALL 设置了时间限制有资格分配: | 设置 | 值 | |---|---| | 分配类型 | **有资格** | | 永久有资格 | ❌ 未选中 | | 分配开始 | 05/23/2026,10:05:17 PM | | 分配结束 | 08/23/2026,9:05:17 PM | 我点击 **分配** 以完成分配。 ![步骤 10 - 时间限制设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/582cf2346b101903.png) ### 步骤 11 — 验证最终有资格分配 全局管理员分配仪表板现在显示总共 **3 个有资格分配**: | 名称 | 类型 | 开始时间 | 结束时间 | |---|---|---|---| | PAG - 高级领导层 | 组 | 11/5/2025 | 永久 | | kate ALL | 用户 | 5/23/2026,10:08 PM | 8/23/2026,9:05 PM | | PAG - 企业信息 | 组 | 11/5/2025 | 永久 | Kate ALL 的时间限制有资格分配已确认并处于活动状态。阶段 3 完成。 ![步骤 11 - 最终分配已确认](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9cb6137125101907.png) ## 阶段 4 — 最终用户激活和管理员批准 ### 步骤 12 — 以测试用户身份登录 我打开了一个新的浏览器会话并导航到微软登录页面。**选择账户**屏幕显示了缓存账户 `KateallCupetence Technologies DEV`。我选择它以测试用户身份登录并验证从最终用户角度的 JIT 激活流程。 ![步骤 12 - 选择账户](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cb1eb9a6cd101907.png) ### 步骤 13 — 完成多因素认证登录 登录流程触发了 **批准登录请求** 挑战,显示数字 **22**。我打开移动设备上的 Microsoft Authenticator 应用并输入数字以批准请求,确认多因素认证对测试用户账户正在正常工作。 ![步骤 13 - MFA 数字匹配](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9c4211364b101908.png) ### 步骤 14 — 确认测试用户没有活动角色 以 kate ALL 身份登录后,我到达了 **Microsoft Entra 主页** 仪表板。配置文件面板确认 **kate ALL — 没有分配角色**,验证了仅凭有资格分配本身并不授予访问权限——用户必须明确请求并获得批准才能激活角色。租户显示 Entra ID Premium P2 许可证,确认 PIM 可用。 ![步骤 14 - 没有分配角色](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f120ced120101909.png) ### 步骤 15 — 以测试用户身份导航到 PIM 仍然以 kate ALL 身份登录,我导航到 **特权身份管理 > 快速入门**。PIM 界面现在从最终用户的角度显示,与之前相同的三种选项可见——主要区别在于 kate ALL 只能请求激活,不能管理分配。 ![步骤 15 - 测试用户 PIM 快速入门](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/53cffe46ad101910.png) ### 步骤 16 — 查看我的角色中的有资格分配 我点击 **我的角色 > Microsoft Entra 角色** 并确认 **有资格分配** 选项卡显示了 **全局管理员** 作为有资格角色,作用域为租户目录,结束时间为 8/23/2026,并有一个 **激活** 按钮。这确认 kate ALL 可以看到她的有资格分配并准备请求激活。 ![步骤 16 - 我的角色有资格](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/31e75bf743101911.png) ### 步骤 17 — 提交角色激活请求 我点击全局管理员角色旁边的 **激活**。右侧打开了 **激活 - 全局管理员** 面板。我配置了以下设置: | 设置 | 值 | |---|---| | 持续时间 | **2 小时** | | 理由 | `临时管理员访问需要用于用户管理测试` | 我点击 **激活** 以提交请求。由于需要批准,请求被发送到配置的审批人,而不是立即激活。 ![步骤 17 - 提交激活请求](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c4a7680394101912.png) ### 步骤 18 — 请求确认待批准 提交后,我的角色页面显示了一个通知横幅:**“您的请求正在等待批准”** — 作用域:Cupetence Technologies DEV 成员:kate ALL,角色:全局管理员。这确认了请求已提交并正在等待一名指定的审批人批准。 ![步骤 18 - 待批准通知](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5759f3c5ce101912.png) ### 步骤 19 — 管理员收到电子邮件通知以批准 当 k