云原生应用中的身份验证和授权

小窍门

此内容摘自电子书《为 Azure 架构云原生 .NET 应用程序》,可在 .NET 文档 查阅或下载免费的 PDF 离线阅读。

Azure 平台的云原生 .NET 应用电子书封面缩略图。

身份验证 是确定安全主体标识的过程。 授权 是授予经过身份验证的主体权限来执行作或访问资源的行为。 有时“身份验证”会缩写为 AuthN ,而“授权”会缩写为 AuthZ 。 云原生应用程序需要依靠基于 HTTP 的开放协议对安全主体进行身份验证,因为客户端和应用程序都可以在任何平台或设备上在世界各地运行。 唯一的常见因素是 HTTP。

许多组织仍然依赖于本地身份验证服务,例如 Active Directory 联合身份验证服务(ADFS)。 虽然此方法传统上为组织提供良好的本地身份验证需求,但云原生应用程序受益于专为云设计的系统。 最近一项 2019 年英国国家网络安全中心(NCSC)发布的咨询报告指出,“以 Azure AD 为主要身份验证源的组织实际上会比使用 ADFS 的组织降低其风险。” 此分析中概述的一些原因包括:

  • 访问完整的Microsoft凭据保护技术集。
  • 大多数组织已经在某种程度上依赖于 Azure AD。
  • NTLM 哈希的双重哈希确保了即使泄露,也无法使用在本地 Active Directory 中工作的凭据。

参考文献