将应用程序从基于机密的身份验证迁移走

使用客户端密码的应用程序可能会将它们存储在配置文件中,在脚本中对其进行硬编码,或者以其他方式使他们冒着暴露的风险。 机密管理复杂性使机密容易遭到泄漏,对攻击者具有吸引力。 客户端密码一旦暴露,就会为攻击者提供合法凭证,以将其活动与合法操作混合在一起,从而更容易绕过安全控制。 如果攻击者破坏了应用程序的客户端密码,他们可以在系统内升级自己的特权,从而根据应用程序的权限获得更广泛的访问和控制。 替换已泄露的证书可能非常耗时且具有破坏性。 出于这些原因,Microsoft建议所有客户都从基于密码或基于证书的身份验证转移到基于令牌的身份验证。

本文重点介绍资源和最佳做法,帮助你将应用程序从基于机密的身份验证迁移到更安全且用户友好的身份验证方法。

为什么将应用程序从基于机密的身份验证迁移走?

将应用程序从基于机密的身份验证迁移走可提供以下几个优势:

  • 提高了安全性:基于机密的身份验证容易受到泄漏和攻击的影响。 迁移到更安全的身份验证方法(例如托管标识)可提高安全性。

  • 降低了复杂性:管理机密可能复杂且容易出错。 迁移到更安全的身份验证方法可降低复杂性并提高安全性。

  • 可伸缩性:迁移到更安全的身份验证方法有助于安全地缩放应用程序。

  • 符合性:迁移到更安全的身份验证方法有助于满足合规性要求和安全最佳做法。

将应用程序从基于机密的身份验证迁移的最佳做法

若要将应用程序从基于机密的身份验证迁移走,请考虑以下最佳做法:

Azure 资源托管标识

托管标识是一种安全的方式,无需管理凭证或在代码中拥有凭证即可向云服务对应用程序进行身份验证。 Azure 服务使用此标识向支持 Microsoft Entra 身份验证的服务证明身份。 要了解更多信息,请参阅为应用程序角色分配托管标识访问权限

对于短期内无法迁移的应用程序,请轮换机密并确保它们使用安全的做法,例如使用 Azure Key Vault。 Azure Key Vault 帮助保护云应用程序和服务使用的加密密钥和机密。 密钥、机密和证书受到保护,无需自行编写代码,并且可以轻松地从应用程序使用它们。 要了解更多信息,请参阅 Azure Key Vault

实现机密扫描

存储库的机密扫描会检查历史记录中可能已经存在的任何机密,推送保护可防止源代码中公开任何新机密。 若要了解详细信息,请参阅机密扫描

部署应用程序身份验证策略以强制实施安全身份验证做法

应用程序管理策略使 IT 管理员能够强制实施有关如何配置组织中应用的最佳做法。 例如,管理员可以配置策略来阻止使用或限制密码密钥的生命周期。 若要了解详细信息,请参阅教程:使用应用程序管理策略和Microsoft Entra 应用程序管理策略 API 概述强制实施机密和证书标准。

重要

实施应用程序身份验证策略管理需要高级许可证,有关详细信息,请参阅 Microsoft Entra 许可。  

对服务帐户使用联合标识

通过标识联合,你可以通过配置联合标识凭证在外部标识提供者 (IdP) 与 Microsoft Entra ID 中的应用之间创建信任关系,从而访问 Microsoft Entra 保护的资源,而无需管理机密(对于受支持的应用场景)。 若要了解详细信息,请参阅 Microsoft Entra ID 中的联合标识凭证概述

创建最低特权自定义角色以轮换应用程序凭证

可通过 Microsoft Entra 角色向管理员授予精细的权限,遵循最低权限原则。 可以创建自定义角色来轮换应用程序凭证,从而确保仅授予完成任务所需的权限。 若要了解详细信息,请参阅在 Microsoft Entra ID 中创建自定义角色

确保有一个会审和监视应用程序的过程

此过程应包括定期安全评估、漏洞扫描和事件响应过程。 了解应用程序的安全状况对于维护安全环境至关重要。