Azure标识管理和访问控制最佳做法

本文讨论Azure标识管理和访问控制安全最佳做法的集合。 这些最佳做法派生自Microsoft对Microsoft Entra ID和客户体验的体验。

本文与 Microsoft 的 零信任 安全模型保持一致,该模型将标识视为主要安全外围,并要求对每个access请求进行显式验证。 有关使用Azure Policy强制实施的规定性安全控制,请参阅Microsoft Cloud安全基准 v2 - 标识管理

此Azure标识管理和访问控制安全最佳做法文章基于共识意见、Azure平台功能和本文撰写时存在的功能集。

意见和技术随时间而变化。 本文会定期更新,以反映这些更改。

本文中讨论的Azure标识管理和access control安全最佳做法包括:

  • 将身份视为首要安全边界。
  • 集中标识管理。
  • 管理连接的租户。
  • 启用单一登录。
  • 打开条件访问。
  • 规划例行安全改进。
  • 启用密码管理。
  • 为用户强制实施多重验证。
  • 使用基于角色的访问控制。
  • 降低特权帐户的曝光率。
  • 控制资源所在的位置。
  • 使用Microsoft Entra ID进行存储身份验证。

将标识视为主要安全边界

许多人认为身份是主要的安全边界。 这一变化将关注点从传统的网络安全转移开。 网络边界变得越来越多孔,这种边界防御不可能像 BYOD 设备和云应用爆发前那样有效。

Microsoft Entra ID是提供标识和访问管理的Azure解决方案。 Microsoft Entra ID是来自Microsoft的多租户基于云的目录和标识管理服务。 它将核心目录服务、应用程序access管理和标识保护合并到一个解决方案中。

以下部分列出了使用Microsoft Entra ID标识和访问安全性的最佳做法。

  • 以用户和服务标识为中心集中安全控制和检测:使用 Microsoft Entra ID 将控制措施和标识集中管理。

集中化标识管理

在混合标识方案中,集成本地目录和云目录。 通过集成,IT 团队可以在一个位置集中管理帐户,而不管帐户是在哪里创建的。 集成还通过提供用于访问云和本地资源的通用标识,从而帮助用户提高工作效率。

  • 建立单个Microsoft Entra 实例。 一致性和单个权威源可提高清晰度,并降低人为错误和配置复杂性的安全风险:将单个Microsoft Entra 目录指定为企业和组织帐户的权威来源。

  • 将本地目录与Microsoft Entra ID集成:使用 Microsoft Entra Connect 将本地目录同步到云目录。

注意事项

几个因素会影响 Microsoft Entra Connect 的性能。 确保 Microsoft Entra Connect 有足够的容量来防止性能不佳的系统影响安全性和工作效率。 大型或复杂组织(如预配超过 100,000 个对象的组织)应遵循建议来优化其Microsoft Entra Connect 实现。

  • 不要将帐户同步到在现有Active Directory实例中具有高特权的Microsoft Entra ID:默认Microsoft Entra Connect 配置仅排除内置管理员帐户(RID 500)。 若要保护其他高特权帐户(例如域管理员和企业管理员),请使用 基于 OU 的筛选基于属性的筛选 将其从同步中排除。 此配置可降低攻击者从云环境横向移动到本地资产并从而引发重大事件的风险。

  • 启用密码哈希同步:密码哈希同步是一项功能,用于将用户密码哈希从本地 Active Directory实例同步到基于云的Microsoft Entra实例。 此同步有助于防止重放先前攻击中泄露的凭据。

    即使你决定使用与Active Directory 联合身份验证服务(AD FS)或其他标识提供者的联合,也可以选择将密码哈希同步设置为备份,以防本地服务器发生故障或暂时不可用。 此同步使用户能够使用用于登录到其本地 Active Directory实例的相同密码登录到服务。 它还允许 Identity Protection 通过将同步的密码哈希与已知已泄露的密码进行比较,来检测已泄露的凭据;前提是用户在其他未连接到 Microsoft Entra ID 的服务中使用了相同的电子邮件地址和密码。

    有关详细信息,请参阅使用 Microsoft Entra Connect Sync 实现密码哈希同步

  • 对于新的应用程序开发,请使用Microsoft Entra ID进行身份验证:使用以下功能来支持身份验证。

    • 面向员工的 Microsoft Entra ID。
    • Microsoft Entra B2B 适用于来宾用户和外部合作伙伴。
    • Microsoft Entra 外部 ID用于控制客户在使用您的应用程序时如何注册、登录和管理其个人资料。

不将其本地标识与其云标识集成的组织在管理帐户时可能会产生更多的开销。 这种开销增加了出错和安全漏洞的可能性。

注意事项

选择关键账户所在的目录,并确定是由新的云服务还是现有流程来管理管理员工作站。 现有的管理和标识预配过程可能会降低一些风险。 他们还可以造成攻击者入侵本地帐户并转向云的风险。 你可能想要对不同的角色使用不同的策略,例如 IT 管理员与业务部门管理员。 可以使用两个选项。 第一个选项是创建未与本地 Active Directory实例同步的Microsoft Entra帐户。 将管理员工作站加入Microsoft Entra ID,并使用Microsoft Intune对其进行管理和修补。 第二个选项是通过同步到本地 Active Directory实例来使用现有管理员帐户。 使用Active Directory domain中的现有工作站进行管理和安全性。

管理连接的租户

安全组织需要可见性来评估风险,并确定组织是否遵循其策略和法规要求。 确保安全组织能够查看连接到生产环境和网络的所有订阅(通过Azure ExpressRoute站点到站点 VPN)。 在 Microsoft Entra ID 中,全局管理员 可以将其访问权限提升到 用户访问管理员 角色,并查看与您的环境连接的所有订阅和托管组。

若要确保你和安全组可以查看连接到环境的所有订阅或管理组,请参阅“提升访问权限”来管理所有Azure订阅和管理组。 评估风险后,请删除此提升的访问权限。

启用单一登录

在移动优先的云优先世界中,从任意位置启用设备、应用和服务的单一登录(SSO),以便用户随时随地都能高效工作。 当您需要管理多个身份解决方案时,这种情况不仅对IT部门来说是管理难题,也会影响需要记住多个密码的用户。

通过对所有应用和资源使用相同的标识解决方案,可以实现 SSO。 无论资源位于本地还是云中,用户都可以使用相同的凭据集登录和访问所需的资源。

  • 启用 SSO:Microsoft Entra ID将本地 Active Directory扩展到云。 用户可以将其主要工作或学校帐户用于其已加入域的设备、公司资源以及他们需要完成作业的所有 Web 和 SaaS 应用程序。 用户不必记住多个用户名和密码集。 可以根据其组织组成员身份及其作为员工的状态自动预配或取消预配其应用程序访问权限。 你可以控制应用库中的应用的访问,也可以控制你自己开发并通过Microsoft Entra application proxy发布的本地部署应用的访问。

使用 SSO,允许用户基于他们在 Microsoft Entra ID 中的工作或学校帐户访问SaaS 应用程序。 可以配置您的应用程序使用 Microsoft Entra ID 作为 基于 SAML 的身份提供程序。 作为安全控制措施,Microsoft Entra ID 不会发放令牌,允许用户登录应用,除非 Microsoft Entra ID 授权访问。 可以直接或通过包含用户的组授予访问权限。

不为用户和应用程序创建通用标识以建立单点登录(SSO)的组织会更容易遇到用户拥有多个密码的风险。 这些方案增加了用户重用密码或使用弱密码的可能性。

打开条件访问

用户可以通过从任意位置使用各种设备和应用来access组织的资源。 作为 IT 管理员,请确保这些设备符合安全性和合规性标准。 仅关注谁可以访问资源是不够的。

若要平衡安全性和工作效率,请考虑用户在做出访问控制决策之前如何访问资源。 Microsoft Entra 条件访问满足此要求。 条件访问可以根据访问云应用的条件做出自动化访问控制决策。

  • 管理和控制对公司资源的访问:根据 SaaS 应用的组、位置和应用程序敏感度配置常见的Microsoft Entra条件访问策略,以及Microsoft Entra ID连接的应用。

  • 阻止旧式身份验证协议:攻击者每天都利用旧协议中的弱点,尤其是密码喷射攻击。 将条件Access配置为阻止旧协议

计划常规安全改进

安全性始终不断发展。 务必建立一种机制,定期展示持续改进成效,并探索将环境保护措施纳入云和身份管理框架的新方法。

标识安全分数是 Microsoft 发布的一组建议安全控制措施,可提供一个用于衡量你的安全态势的分数,并帮助你规划未来的安全改进。 你还可以查看你的分数与其他行业分数的比较,以及你自己的分数在一段时间内的趋势。

  • 根据行业最佳做法规划常规安全评审和改进:使用“标识安全评分”功能对改进进行一段时间内的排名。

启用密码管理

如果你有多个租户,或者想让用户重置 自己的密码,请使用适当的安全策略以防止滥用。

  • 为用户设置自助密码重置(SSPR):使用Microsoft Entra ID自助密码重置功能。

  • 监视 SSPR 的使用方式:使用 Microsoft Entra ID 密码重置注册活动报告监视正在注册的用户。 Microsoft Entra ID提供的报表功能可帮助你使用预生成报表回答问题。 如果有相应的授权,还可以创建自定义查询。

  • 将基于云的密码策略扩展到本地基础结构:通过执行与基于云的密码更改相同的检查来增强组织中的密码策略。 为本地 Windows Server Active Directory 代理安装 Microsoft Entra 密码保护,以将受禁密码列表扩展到现有基础结构。 更改、设置或重置本地密码的用户或管理员必须与仅限云的用户遵循相同的密码策略。

对用户强制执行多重身份验证

要求所有用户进行多重身份验证(MFA)。 这包括组织中的管理员和其他人,如果他们的帐户遭到入侵(例如财务官员),他们可能会产生重大影响。

重要

强制实施 MFA:从 2025 年 10 月 1 日起,Azure强制实施 MFA 实施阶段 2。 此阶段需要对所有Azure服务用户(包括命令行接口(CLI)、PowerShell、Azure移动应用、基础结构即代码(IaC)工具和用于创建、更新或删除操作的 REST API 终结点进行强身份验证。 此强制措施通过大规模消除被盗凭据来提高标识安全性。 Microsoft研究表明,MFA 可以阻止超过 99.2% 帐户泄露攻击。

确定防钓鱼 MFA 方法的优先级

防钓鱼身份验证方法(例如Windows Hello 企业版)和基于证书的身份验证,为复杂攻击提供最强大的保护。 这些方法使用硬件支持的加密密钥,攻击者无法拦截或重放。 Microsoft建议你部署抗钓鱼多重身份验证作为身份安全的基线。

存在多个用于要求多重身份验证的选项。 最佳选项取决于你的目标、正在运行的 Microsoft Entra 版本和你的许可计划。 若要确定最佳选项,请参阅 “如何要求对用户进行双重验证”。 有关许可证和定价详细信息,请参阅Microsoft Entra定价页

以下选项和优势可帮助你启用多重身份验证。

选项 1:使用Microsoft Entra安全默认值启用 MFA

使用Microsoft Entra安全默认值为所有用户和登录方法启用 MFA。

该选项通过严格的策略帮助您快速为环境中所有用户强制执行多重身份验证(MFA):

  • 挑战管理帐户和管理登录方法。
  • 要求所有用户通过 Microsoft Authenticator 进行 MFA 验证。
  • 限制旧身份验证协议。

这种方法适用于所有许可层级,但不能与现有的条件访问政策混合使用。 有关详细信息,请参阅Microsoft Entra安全默认值

选项 2:通过更改用户状态启用多重身份验证

通过更改用户状态启用多重身份验证 是需要双重验证的传统方法。 该方法适用于云端的 Microsoft Entra 多因素认证和 Azure 多因素认证服务器。 此方法要求用户在每次登录和替代条件访问策略时执行双重验证。

若要确定需要启用多重身份验证的位置,请参阅 哪些版本的 Microsoft Entra 多重身份验证适合我的组织?

选项 3:使用条件访问策略启用多重身份验证

使用条件访问策略启用多重身份验证 ,允许使用 条件访问在特定条件下提示进行双重验证。 特定条件可以是用户从不同位置、不受信任的设备或你认为存在风险的应用程序登录。 定义要求双重验证的特定条件可以避免不断提示用户这种令人不快的用户体验。

这是为用户启用两步验证的最灵活方式。 条件访问策略仅适用于云中的Microsoft Entra多重身份验证,是Microsoft Entra ID的高级功能。 有关此方法的详细信息,请参阅部署基于云的Microsoft Entra多重身份验证

注意事项

选项 2:通过更改用户状态启用多重身份验证,替代条件访问策略。 由于选项 3 和 4 使用条件访问策略,因此不能对它们使用选项 2。

将基于用户的服务帐户迁移到工作负载标识

一些组织在 Microsoft Entra ID 中使用用户账户作为服务账户进行自动化。 强制实施 MFA 时,迁移这些基于用户的服务帐户来保护 具有工作负荷标识的基于云的服务帐户至关重要。 工作负荷标识(包括托管标识和服务主体)专为自动化方案设计,不需要 MFA。 这些标识提供了更安全且更易于管理的解决方案。 有关迁移指南,请参阅 使用 Azure CLI 通过托管标识登录到 Azure在自动化方案中以非交互方式登录到 Azure PowerShell

不添加额外的标识保护层(例如多重身份验证)的组织更容易受到凭据盗窃攻击的影响。 凭据窃取攻击可能导致数据泄漏。

使用基于角色的访问控制

云资源的Access管理对于使用云的任何组织都至关重要。 Azure基于角色的访问控制(Azure RBAC)可帮助你管理谁有权访问Azure资源、他们可以对这些资源执行的操作以及可以访问哪些区域。

指定负责Azure中特定函数的组或单个角色有助于避免混淆,导致人为和自动化错误造成安全风险。 对于希望对数据访问强制执行安全策略的组织来说,根据知情原则和最低权限原则限制访问是至关重要的。

安全团队需要了解Azure资源来评估和修正风险。 如果安全团队有运营职责,他们需要更多的权限来完成工作。

可以使用 Azure RBAC 在特定范围内向用户、组和应用程序分配权限。 角色分配范围可以是订阅、资源组或单个资源。

  • 在团队中分离职责,并仅向用户授予执行作业所需的访问权限。 不要为Azure订阅或资源中的每个人提供不受限制的权限,而只允许特定范围内的某些操作在 Azure 中使用Azure 内置角色向用户分配权限。

注意事项

特定的权限会造成不必要的复杂性和混乱,进而积累为很难在不担心造成破坏的情况下进行修复的“旧”配置。 避免特定于资源的权限。 而是将管理组用于企业范围内的权限,并将资源组用于订阅中的权限。 避免用户特定的权限。 将访问权限分配给Microsoft Entra ID内的组。

  • 向具有Azure责任的安全团队授予访问权限,以查看Azure资源,以便他们可以评估和修正风险:向安全团队授予Azure RBAC 安全读取者角色。 可以使用根管理组或段管理组,具体取决于职责范围。

    • 适用于负责所有企业资源的团队的根管理组
    • 适用于范围受限团队(例如受监管边界或其他组织边界限制)的分段管理组
  • 向具有直接操作责任的安全团队授予适当的权限:查看Azure内置角色以获取适当的角色分配。 如果内置角色不符合组织的特定需求,则可以创建Azure自定义角色。 与内置角色一样,可以在订阅、资源组和资源范围内向用户、组和服务主体分配自定义角色。

  • 将 Microsoft Defender for Cloud 的访问权限授予需要它的安全角色。 Defender for Cloud 帮助安全团队快速识别并修复风险:将这些需求的安全团队添加到 Azure RBAC Security Admin 角色,以便他们可以查看安全策略、查看安全状态、编辑安全策略、查看警报和建议以及消除警报和建议。 根据职责范围,可以使用根管理组或段管理组。

不使用 Azure RBAC 等功能强制实施数据访问控制的组织可能会为用户提供比必要更多的权限。 这种访问可能导致数据泄露,因为用户可能访问了本不该访问的数据类型,比如高影响业务的数据。

降低特权帐户的泄露风险

保护特权访问是保护业务资产的首要步骤。 减少具有访问权限的人员数量可以降低恶意用户获取访问权限或者授权用户无意中影响敏感资源的机会。

特权帐户是指掌控和管理 IT 系统的帐户。 网络攻击者以这些帐户为目标,以获取组织数据和系统的access。 为了保障特权访问,应将账户和系统隔离,避免被恶意用户暴露的风险。

制定并遵循路线图,保护特权访问免受网络攻击者侵害。 有关创建详细路线图以保护在 Microsoft Entra ID、Microsoft Azure、Microsoft 365 和其他云服务中管理或报告的标识和访问的安全信息,请参阅 保护 Microsoft Entra ID 中混合部署和云部署的特权访问

下面总结了在Microsoft Entra ID中为混合和云部署保护特权访问的最佳做法:

  • 管理、控制和监视对特权帐户的访问:启用Microsoft Entra Privileged Identity Management。 开启 Privileged Identity Management 后,您将收到关于特权访问角色变更的通知邮件。 当您的目录中有更多用户被添加到高权限角色时,这些通知会提供预警。

  • 确保所有关键管理员帐户均由 Microsoft Entra 帐户管理:从关键管理员角色中移除任何消费者帐户,例如 hotmail.com、live.com 和 outlook.com 等 Microsoft 帐户。

  • 确保所有关键管理员角色都有单独的管理账户,以避免钓鱼和其他攻击泄露管理员权限:创建一个独立的管理员账户,分配执行管理任务所需的权限。 阻止将这些管理帐户用于日常生产力工具,例如Microsoft 365电子邮件或任意 Web 浏览。

  • 识别并分类具有高特权角色的帐户:启用Microsoft Entra Privileged Identity Management后,查看全局管理员、特权角色管理员和其他高特权角色中的用户。 删除这些职位中不再需要的任何帐户。 对分配给管理员角色的剩余帐户进行分类。

    • 单独分配给管理员用户,并可用于非管理用途,如个人邮箱。
    • 单独分配给管理员用户,且仅限管理用途。
    • 由多个用户共享。
    • 用于紧急访问场景。
    • 用于自动化脚本。
    • 适用于外部用户。
  • 实施“即时访问”(JIT),进一步缩短权限暴露时间,提升您对特权账户使用的可见性:Microsoft Entra Privileged Identity Management帮助您执行以下操作。

    • 限制用户只接受他们的权限 JIT。
    • 分配时限更短的角色,确信权限会自动撤消。
  • 定义至少两个紧急访问帐户:紧急访问帐户可帮助组织限制现有Microsoft Entra环境中的特权访问。 这些帐户具有很高的特权,不会分配给特定个人。 紧急访问账户仅限于不能使用普通管理账户的情况下。 组织必须将紧急帐户的使用限制在必要时间范围内。

评估已分配到全局管理员角色或有资格获得此角色的帐户。 如果使用*.partner.onmschina.cn这个用于紧急访问的域后仍看不到任何纯云帐户,请创建这些帐户。

对于所有永久分配到一个或多个 Microsoft Entra 管理员角色的个人用户(包括全局管理员、特权角色管理员、Exchange Online 管理员以及 SharePoint Online 管理员),需在登录时启用 Microsoft Entra 多重身份验证。 为 你的管理员账户启用多因素认证 ,并确保管理员账户用户注册。

如果不保护特权访问,你可能会发现有太多用户被分配了高度特权的角色,并且更容易受到攻击。 恶意参与者(包括网络攻击者)通常以管理员帐户和其他特权access元素为目标,以使用凭据盗窃获取对敏感数据和系统的access。

控制创建资源的位置

使云操作员能够执行任务,同时防止它们违反管理组织资源所需的约定,这一点很重要。 想要控制创建资源的位置的组织应对这些位置进行硬编码。

可以使用Azure 资源管理器创建安全策略,其定义描述其拒绝的操作或资源。 可以在所需范围(例如订阅、资源组或是单个资源)分配这些策略定义。

注意事项

安全策略与 Azure RBAC 不同。 安全策略使用 Azure RBAC 来授权用户创建这些资源。

无法控制资源创建的组织,更容易受到那些通过创建超出实际所需资源来滥用服务的用户的影响。 强化资源创建过程是保护多租户方案的重要步骤。

主动监视可疑活动

主动身份监视系统可以快速检测可疑行为并触发警报以进行进一步调查。 以下列表列出了 Microsoft Entra 的功能,这些功能可帮助组织监控其身份:

  • 用于识别可疑登录活动的方法:监视尝试进行不被跟踪的登录,暴力破解针对特定帐户的攻击,多次尝试从不同位置登录,从感染的设备进行的登录,以及可疑 IP 地址。 使用 Microsoft Entra ID P1 或 P2 的异常报告。 制定相应的流程和过程,使 IT 管理员每天或按需(通常在事件响应方案中)运行这些报告。

未主动监视其标识系统的组织面临用户凭据泄露的风险。 如果不知道通过这些凭据执行可疑活动,组织无法缓解此类威胁。

使用 Microsoft Entra ID 进行存储身份验证

Azure 存储支持使用 Microsoft Entra ID 对 Blob 存储和队列存储进行身份验证和授权。 通过使用Microsoft Entra身份验证,可以使用Azure基于角色的访问控制向用户、组和应用程序授予特定的权限,这些权限会缩小到单个 Blob 容器或队列的范围。

Microsoft Entra ID与托管标识一起使用,以尽可能授权请求Azure 存储

后续步骤