使用客户端密码的应用程序可能会将它们存储在配置文件中,在脚本中对其进行硬编码,或者以其他方式使他们冒着暴露的风险。 机密管理复杂性使机密容易遭到泄漏,对攻击者具有吸引力。 客户端密码一旦暴露,就会为攻击者提供合法凭证,以将其活动与合法操作混合在一起,从而更容易绕过安全控制。 如果攻击者破坏了应用程序的客户端密码,他们可以在系统内升级自己的特权,从而根据应用程序的权限获得更广泛的访问和控制。 替换已泄露的证书可能非常耗时且具有破坏性。 出于这些原因,Microsoft 建议所有客户将基于密码或基于证书的身份验证转移为基于令牌的身份验证。
在本文中,我们将重点介绍资源和最佳做法,以帮助你将应用程序从基于机密的身份验证迁移到更安全且用户友好的身份验证方法。
将应用程序从基于机密的身份验证迁移走可提供以下几个优势:
提高了安全性:基于机密的身份验证容易受到泄漏和攻击的影响。 迁移到更安全的身份验证方法(如托管标识)可以帮助提高安全性。
降低了复杂性:管理机密可能复杂且容易出错。 迁移到更安全的身份验证方法有助于降低复杂性并提高安全性。
可伸缩性:迁移到更安全的身份验证方法有助于安全地缩放应用程序。
合规性:迁移到更安全的身份验证方法有助于满足合规性要求和安全最佳做法。
若要将应用程序从基于机密的身份验证迁移走,请考虑以下最佳做法:
托管标识是一种安全的方式,无需管理凭证或在代码中拥有凭证即可向云服务对应用程序进行身份验证。 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 中创建自定义角色。
此过程应包括定期安全评估、漏洞扫描和事件响应过程。 了解应用程序的安全状况对于维护安全环境至关重要。