shahabhassankhan/NorthBridge-Cloud-Solutions-Identity-Security-Conditional-Access

GitHub: shahabhassankhan/NorthBridge-Cloud-Solutions-Identity-Security-Conditional-Access

围绕 Microsoft Entra ID 构建的零信任企业身份安全管理项目,涵盖多因素认证、条件访问、应急恢复和密码自助重置的完整配置。

Stars: 0 | Forks: 0

# NorthBridge Cloud Solutions — 身份安全与条件访问 这是一个围绕 Microsoft Entra ID 构建的企业身份设置,涵盖多因素身份验证、条件访问、应急恢复账户和密码自助服务。该项目遵循零信任理念,这意味着每次登录都会经过检查,没有人仅仅因为曾经通过登录界面就会被信任。 **作者:** Shahab Hassan Khan ## 目录 - [概述](#overview) - [业务场景](#business-scenario) - [使用的技术](#technologies-used) - [架构](#architecture) - [实施步骤](#implementation-steps) - [应用的零信任原则](#zero-trust-principles-applied) - [展示的技能](#skills-demonstrated) - [项目成果](#project-outcome) - [截图](#screenshots) ## 概述 该项目模拟了一家真实公司如何使用 Microsoft Entra ID 管理身份、登录安全和访问控制。它涵盖了企业身份工作的全方位内容,从设置多因素身份验证到配置基于位置的访问规则,再到保护紧急恢复账户免受锁定。 其背后的公司 NorthBridge Cloud Solutions 是虚构的。但其背后的身份配置并非如此。 ## 业务场景 NorthBridge Cloud Solutions 设有五个部门:HR、财务、开发人员、实习生和 IT 管理员。公司需要妥善锁定管理员账户、实施多因素身份验证、提供员工自行重置密码的方法、控制允许的验证方式、基于角色和位置制定条件访问规则、进行活动监控,并确保持有一个即使在所有条件访问策略同时被错误配置时也能正常使用的恢复账户。 ## 使用的技术 Microsoft Entra ID、Microsoft Entra ID Premium P2 试用版、Azure Portal、Microsoft Entra Admin Center、Microsoft Authenticator、企业应用程序、应用注册、条件访问、命名位置、登录日志、审核日志。 ## 架构 这不是一张网络拓扑图,这里不涉及任何虚拟机或子网。它描绘了身份、访问策略和监控如何在租户内部相互关联。 ``` NorthBridge Cloud Solutions Microsoft Entra ID Tenant │ ┌───────────────────────┼───────────────────────┐ │ │ │ Users & Groups Enterprise Apps App Registration │ │ │ ┌────┼────────┐ │ Service Principal │ │ │ │ HR Finance Developers │ │ │ │ │ └────┼────────┘ │ │ │ Conditional Access Policies ─┘ │ ├── Require MFA ├── Named Location (Pakistan – Trusted) ├── Break-Glass Account Excluded ├── Authentication Methods │ • Microsoft Authenticator │ • Passkey (FIDO2) │ • Temporary Access Pass ├── Self-Service Password Reset ├── Sign-in Logs └── Audit Logs ``` 用户和组为条件访问提供输入,企业应用程序携带自身的服务主体,并且每一个策略决策、MFA 提示、位置检查或密码重置,最终都会被记录在登录和审核日志中。应急账户被特意置于所有策略之外,因此任何策略更改都不会导致所有管理员同时被锁定。 ## 实施步骤 **激活了 Entra ID Premium P2 试用版。** Entra ID 的免费层级不包括条件访问、身份保护、身份验证方法策略或密码自助重置。Premium P2 解锁了所有这些功能,因此在配置任何其他内容之前,这是第一步。 **为项目创建了资源组。** Entra ID 本身存在于租户级别,而不是在资源组内部,但是为项目资源保留一个专门的资源组可以像早期项目的结构一样保持井然有序。 **复用了现有的部门组。** 开发人员、HR、财务、实习生和 IT 管理员组连同其用户在早期的工作中就已经存在了。企业将访问权限分配给组而不是个人,因此复用了这些组而不是从头开始重建。 **创建了应急管理员账户。** 设置了一个专用的“紧急管理员”账户,并为其分配了“全局管理员”角色。该账户纯粹作为备用而存在。如果条件访问策略意外锁定了所有其他管理员导致其无法访问租户,该账户仍然可以访问,因为它被排除在所有可能阻止它的策略之外。 **注册了企业应用程序。** 创建了一个名为 NorthBridge HR Portal 的应用注册,以在 Entra ID 中表示一个应用程序。注册它会自动生成 Client ID、Tenant ID 和 Object ID,它们共同构成了该应用程序的身份标识。 **查看了企业应用程序。** 应用注册自动创建了一个匹配的企业应用程序,这是实际配置和管理单点登录、用户分配、条件访问和登录监控等功能的地方。 **查看了服务主体。** 每个企业应用程序在其底层都带有一个服务主体。这是当应用程序需要与其他 Azure 资源交互时 Azure 使用的实际工作身份。 **配置了 Microsoft Authenticator。** 将其设置为多因素身份验证方法,因此登录需要密码和通过 Authenticator 应用的批准,而不仅仅是依靠密码。 **为 IT 管理员构建了条件访问策略。** 命名为 CA-Require-MFA-IT-Admins,此策略适用于所有云应用,并强制要求 IT 管理员组中的任何人都必须进行多因素身份验证,同时排除了“紧急管理员”,以确保恢复访问权限永远不会面临风险。 **创建了信任的命名位置。** 设置为“Pakistan – Trusted”,通过 IP 地址进行识别,以便 Entra ID 能够区分来自已知且受信任位置的登录和来自任何其他位置的登录。 **为普通员工构建了条件访问策略。** 命名为 CA-Require-MFA-Outside-Pakistan,该策略针对开发人员、HR、财务和实习生,并专门在有人从信任位置外部登录时要求进行 MFA。从信任国家/地区内部的登录无需额外步骤,而从任何其他地方登录则并非如此。 **验证了条件访问是否切实有效。** 检查了登录日志以确认每个策略都得到了正确评估,MFA 确实在应该需要的时候被触发,并且登录按预期取得了成功。配置策略和确认其在实践中有效是两码事,这一步涵盖了后者。 **为开发人员启用了密码自助重置。** 员工现在可以自行重置遗忘的密码,而无需向 IT 提交工单。在开发人员账户上运行了测试重置,以确认其端到端有效。 **锁定了身份验证方法。** 允许了 Microsoft Authenticator、通行密钥 (FIDO2) 和临时访问通行证。禁用了短信、语音呼叫和软件 OATH token,因为与基于应用程序或基于硬件的选项相比,这些方法较弱,更容易被拦截或绕过。 **查看了单点登录行为。** 发现企业应用程序会自动使用 OpenID Connect (OIDC),直接从应用注册继承,不需要在其之上进行任何手动 SSO 设置。 **查看了审核日志。** 与登录日志分开检查,以查看管理员活动,例如用户更改、策略更新、应用程序创建和角色分配。登录日志记录了谁登录了,而审核日志记录了管理员更改了什么。 ## 应用的零信任原则 每一个身份都会被验证,而不是被假定为可信的。MFA 是必需的,而不是可选的。访问遵循最小权限原则。管理是通过组进行的,而不是通过个人授权。位置在决定登录需要多少验证方面起着作用。恢复账户的存在专门是为了确保安全配置错误永远不会导致所有人被锁定。活动会持续受到监控,而不是仅在出现问题时才进行检查。 ## 展示的技能 Microsoft Entra ID 管理、身份与访问管理、用户与组管理、Azure RBAC 集成、应用注册、企业应用程序、服务主体、多因素身份验证、条件访问、命名位置、应急账户设计、密码自助重置、身份验证方法策略、OpenID Connect、单点登录概念、登录日志分析、审核日志分析以及零信任架构。 ## 项目成果 该项目构建了真实公司如何保护其身份的方式,涵盖从员工的日常登录到管理员账户,再到这些员工使用的应用程序。它覆盖了完整的闭环:设置策略、在日志中观察其正确实施,并制定好安全底线以防该设置中出现任何问题。 ## 截图 所有截图均位于 `/screenshots` 中。 | # | 截图 | 描述 | |---|---|---| | 01 | `01_Users-List.jpg` | Entra ID 用户列表 | | 02 | `02_Groups-List.jpg` | 部门安全组 | | 03 | `03_Break-Glass-Administrator.jpg` | 紧急管理员账户 | | 04 | `04_Global-Administrator-Assignments.jpg` | 全局管理员角色分配 | | 05 | `05_Entra-ID-Overview.jpg` | Entra ID 租户概述 | | 06 | `06_App-Registration-Configuration.jpg` | 应用注册配置 | | 07 | `07_App-Registration-Overview.jpg` | 应用注册概述 | | 08 | `08_Enterprise-Application-Overview.jpg` | 企业应用程序概述 | | 09 | `09_Conditional-Access-Config.jpg` | 条件访问策略配置 | | 10 | `10_Default-Security-Disabled.jpg` | 默认安全设置已禁用 | | 11 | `11_Excluded-Emergency-Admin-Break-Glass.jpg` | 紧急管理员已从策略中排除 | | 12 | `12_CA-Sign-in-Logs.jpg` | 条件访问登录日志 | | 13 | `13_Conditional-Access-Evaluation.jpg` | 条件访问策略评估 | | 14 | `14_Created-Trusted-Named-Location.jpg` | 已创建信任的命名位置 | | 15 | `15_Location-Based-CA-Policy.jpg` | 基于位置的条件访问策略 | | 16 | `16_Location-Based-Overview.jpg` | 基于位置的策略概述 | | 17 | `17_Location-Based-CA-Sign-In-Logs.jpg` | 基于位置的登录日志 | | 18 | `18_Location-Based-CA-Evaluation.jpg` | 基于位置的策略评估 | | 19 | `19_Self-Service-Password-Reset.jpg` | 密码自助重置设置 | | 20 | `20_Verifying-SSPR.jpg` | 验证密码重置,步骤 1 | | 21 | `21_Verifying-SSPR-2.jpg` | 验证密码重置,步骤 2 | | 22 | `22_Verified-SSPR.jpg` | 确认密码重置成功 | | 23 | `23_Authentication-Methods.jpg` | 身份验证方法配置 | | 24 | `24_Authentication-Method-List.jpg` | 允许的身份验证方法列表 | | 25 | `25_Single-Sign-In.jpg` | 单点登录配置 | | 26 | `26_Audit-Logs.jpg` | 审核日志概述 | | 27 | `27_Audit-Log-Evaluation.jpg` | 审核日志评估 | 由 **Shahab Hassan Khan** 作为一项 Microsoft Entra ID 身份安全实操项目构建并配置。
标签:Microsoft Entra ID, 多因素认证, 权限管控, 条件访问, 身份与访问管理, 零信任架构