云原生标识

小窍门

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

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

大多数软件应用程序都需要了解调用它们的用户或进程。 与应用程序交互的用户或进程称为安全主体,身份验证和授权这些主体的过程称为标识管理,或只是 标识。 简单应用程序可能包括应用程序中的所有标识管理,但此方法不适用于许多应用程序和多种安全主体。 Windows 支持使用 Active Directory 提供集中式身份验证和授权。

虽然此解决方案在企业网络中有效,但它并非专为 AD 域外部的用户或应用程序而设计。 随着基于 Internet 的应用程序的增长和云原生应用的兴起,安全模型不断发展。

在当今的云原生标识模型中,假设体系结构是分布式的。 可以在任意位置部署应用,并且可以与任何位置的其他应用通信。 客户端可以从任意位置与这些应用通信,事实上,客户端可能包含平台和设备的任何组合。 云原生标识解决方案使用开放标准来实现客户端的安全应用程序访问。 这些客户端从电脑或手机上的人类用户,到在线托管的其他应用,到运行世界上任何软件平台的顶盒和 IOT 设备。

现代云原生身份解决方案通常使用由安全令牌服务/服务器 (STS) 在其身份被确定后向安全主体颁发的访问令牌。 访问令牌(通常是 JSON Web 令牌 (JWT),包含关于安全主体的相关声明)。 这些声明至少包括用户的标识,但也可能包括其他声明,应用程序可以使用这些声明来确定授予用户的访问权限级别。

通常,STS 仅负责对主体进行身份验证。 确定对资源的访问权限级别将留给应用程序的其他部分。

参考文献