Azure 身份管理和访问控制安全最佳实践

在本文中,我们将讨论一份关于Azure身份管理和访问控制的最佳安全做法集合。 这些最佳实践来自我们与Microsoft Entra ID的经验,以及像您这样的客户的经验。

本文与 Microsoft 的 Zero Trust 安全模型保持一致,该模型将标识视为主要安全外围,并要求对每个access请求进行显式验证。 有关强制实施Azure Policy的规范性安全控制,请参阅 Microsoft Cloud Security Benchmark v2 - Identity Management

此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 Federation Services(AD FS)或其他标识提供者的联合,也可以选择将密码哈希同步设置为备份,以防本地服务器发生故障或暂时不可用。 此同步使用户能够使用用于登录到其on-premises Active Directory实例的相同密码登录到服务。 它还允许标识保护通过将同步的密码哈希与已知泄露的密码进行比较来检测是否存在被泄露的凭据,这种情况下,如果用户在不连接到 Microsoft Entra ID 的其他服务上使用了相同的电子邮件地址和密码组合,就可以实现检测。

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

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

未将其本地标识与云标识集成的组织在管理帐户方面可能开销更大。 这种开销增加了出错和安全漏洞的可能性。

注意事项

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

管理连接的租户

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

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

启用单一登录

在移动优先的云优先世界中,你希望从任何位置启用设备、应用和服务的单一登录(SSO),以便用户随时随地都能高效工作。 如果有多个标识解决方案要管理,这不仅对 IT,而且对于必须记住多个密码的用户,这将成为一个管理问题。

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

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

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

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

打开条件访问

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

为了平衡安全性和工作效率,您需要先考虑如何访问资源,然后才能决定访问控制。 使用 Microsoft Entra 条件访问,可以实现该需求。 使用条件访问,您可以根据条件来做出访问云应用的自动化访问控制决策。

  • 管理和控制对企业资源的访问。:根据组、位置和应用程序敏感性,为 SaaS 应用和 Microsoft Entra ID 连接的应用配置 Microsoft Entra 条件访问策略。

  • 阻止旧式身份验证协议。:攻击者每天都利用旧版协议中的弱点,尤其是密码喷射攻击。 将条件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内部遥测显示,此实现阻止了超过 99% 帐户泄露尝试。

  • 优先考虑具有防钓鱼功能的 MFA 方法,例如 FIDO2 安全密钥、通行密钥、适用于企业的 Windows Hello 以及基于证书的身份验证。:防钓鱼身份验证方法为抵御复杂攻击提供最强大的保护。 这些方法使用硬件支持的加密密钥,攻击者无法截获或重播这些密钥。 微软建议将防钓鱼 MFA 部署为标识安全的基线。

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

以下是启用多重身份验证的选项和优势:

选项 1:使用 Microsoft Entra 安全默认值为所有用户和登录方法启用 MFA
优势:使用此选项,可以轻松、快速地为环境中的所有用户强制执行 MFA,同时采用严格的策略来执行以下操作:

  • 质疑管理帐户和管理登录认证机制
  • 要求所有用户使用 Microsoft Authenticator 进行 MFA 认证挑战
  • 限制旧身份验证协议。

此方法适用于所有许可层,但无法与现有条件Access策略混合使用。 若要了解详细信息,可参阅 Microsoft Entra 安全默认值

选项 2通过更改用户状态启用多重身份验证
优势:这是要求进行双重验证的传统方法。 它适用于云中的 Microsoft Entra 多重身份验证和 Azure 多重身份验证服务器。 使用此方法要求用户在每次登录时执行双重验证,并覆盖条件访问策略。

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

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

这是为用户启用双重验证最灵活的方式。 启用条件Access策略仅适用于云中的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) Security Reader 角色。 可以使用根管理组或段管理组,具体视职责范围而定:
  • 根管理组适用于管理所有企业资源的团队
  • 分段管理组:用于范围有限的团队(通常是由于法规或其他组织边界所致)
  • 对具有直接操作责任的安全团队授予适当的权限。:查看 Azure 内置角色以进行适当的角色分配。 如果内置角色不符合组织的特定需求,则可以创建Azure自定义角色。 与内置角色一样,可以在订阅、资源组和资源范围内向用户、组和服务主体分配自定义角色。

  • 将 Microsoft Defender for Cloud 的访问权限授予需要它的安全角色。 使用 Defender for Cloud,安全团队可以快速发现和修正风险。:将这些需求的安全团队添加到 Azure RBAC Security Admin 角色,以便他们可以查看安全策略、查看安全状态、编辑安全策略、查看警报和建议以及消除警报和建议。 你可以使用根管理组或段管理组来执行此操作,具体取决于职责范围。

未使用诸如 Azure RBAC 之类的功能强制实施数据访问控制的组织可能会向其用户提供过多的权限。 这可能会导致数据泄露,因为它允许用户访问他们不应该访问的某些类型的数据(例如,具有高业务影响的数据)。

降低特权帐户的泄露风险

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

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

建议制定并遵循路线图来保护特权访问免受网络攻击者的侵害。 若要了解如何创建详细的路线图,以保护在 Microsoft Entra ID、Azure、Microsoft 365 和其他云服务中管理或报告的标识和访问,请查看 在 Microsoft Entra ID 中为混合和云部署保护特权访问

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

  • 管理、控制和监视特权帐户访问。:打开 Microsoft Entra Privileged Identity Management。 打开特权身份管理后,您将收到特权访问角色更改的通知邮件。 这些通知在向目录中的高特权角色添加额外用户时提供早期警告。

  • 确保所有关键管理员帐户均为 Microsoft Entra 帐户。:从关键管理员角色中删除任何消费者帐户(例如,类似 hotmail.com、live.com 和 outlook.com 的 Microsoft 帐户)。

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

  • 识别和分类属于高特权角色的帐户。:启用 Microsoft Entra 特权身份管理后,查看处于全局管理员、特权角色管理员和其他高特权角色的用户。 请删除在这些角色中不再需要的任何帐户,并对剩余的分配给管理员角色的帐户分类:

    • 单独分配给管理用户,可用于非管理目的(例如个人电子邮件)
    • 单独分配给管理用户,按规定只能用于管理目的
    • 被多个用户共享
    • 对于紧急访问情况
    • 适用于自动化脚本
    • 适用于外部用户
  • 实施“恰当时机”访问(JIT),以进一步降低特权暴露时间并增加您对特权账户使用的可见性。:Microsoft Entra Privileged Identity Management可以让您:

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

评估已分配到全局管理员角色或有资格获得此角色的帐户。 如果使用 *.partner.onmschina.cn 域(适用于紧急访问)时未看到任何仅限云的帐户,请创建它们。

  • 在紧急情况下执行“破玻璃”过程:请按照 Microsoft Entra ID 中“保护混合和云部署特权访问”的步骤进行操作。

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

  • 对于关键管理员帐户,应使用专门的管理员工作站,在该工作站上禁止执行生产任务(例如浏览和电子邮件)。 这会保护你的管理员帐户免受使用浏览和电子邮件的攻击途径的侵害,并大大降低发生重大事件的风险。:使用管理工作站。 选择工作站安全级别:

  • 高度安全的效率提升设备为浏览和其他效率提升任务提供高级安全性。

  • 特权访问工作站(PAWs)提供一个专用的操作系统,使其免受互联网攻击和威胁途径的影响,保护敏感任务。

  • 当员工离开组织时取消管理员帐户的预置。:建立一个流程以确保在员工离开组织时禁用或删除管理员帐户。

  • 定期使用当前攻击技术测试管理员帐户。:使用 Microsoft 365 攻击模拟器或第三方产品/服务在组织中模拟真实攻击方案。 这样有助于在真正攻击发生之前发现易受攻击的用户。

  • 采取步骤来缓解最常用的受攻击技术。识别需要切换为工作或学校帐户的管理角色中的微软帐户

确保为全局管理员帐户设置单独的用户帐户,并开启邮件转发

确保管理帐户的密码最近已更改

启用密码哈希同步

为所有特权角色的用户以及公开的用户执行多重身份验证

获取 Microsoft 365 安全评分(如果使用 Microsoft 365)

查看Microsoft 365安全指南(如果使用 Microsoft 365)

配置Microsoft 365活动监视(如果使用Microsoft 365)

确定事件/紧急响应计划负责人

保护本地特权管理帐户

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

控制创建资源的位置

非常重要的一点是,既要允许云操作员执行任务,同时又要防止他们违反管理组织资源所需的惯例。 想要控制创建资源的位置的组织应该对这些位置进行硬编码。

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

注意事项

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

无法控制资源创建方式的组织更容易因用户创建的资源超过所需数目,而产生滥用服务的情况。 强化资源创建过程是保护多租户方案的重要步骤。

主动监视可疑活动

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

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

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

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

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

建议使用 Microsoft Entra ID 来验证对存储访问的身份。

后续步骤