微软发布用于K8s的Azure AD工作负载身份识别

微软对外开源一个称为Azure AD工作负载身份识别(Workload Identity)的项目,这个项目可让开发人员,使用Kubernetes原语以及Azure AD中的资源和身份识别,与Pod相关联,也就是说通过这个项目,开发者可以使用服务账户和联合(Federation)原生Kubernetes的概念,在不需要机密的情况下,访问受Azure AD保护的资源,诸如Azure和Microsoft Graph。

目前使用Azure AD Pod身份识别项目也能满足这一个需求,但是Azure AD工作负载身份识别方法更容易使用和部署,而且克服了Azure AD Pod身份识别中的限制。官方提到,过去的方法存在规模和性能问题,而新的方法性能更好,更能应用在大规模场景中,而且支持托管在任意云计算的Kubernetes集群,还可用于Linux和Windows工作负载,方法较简单,能避免集群角色分配等复杂且容易出错的安装步骤。

Azure AD工作负载身份识别的运行方式,是让Kubernetes集群成为令牌发行者,向Kubernetes服务账户发行令牌,这些令牌可以配置在Azure AD应用程序上,使其能够被信任,接着使用Azure Identity SDK或是MSAL(Microsoft Authentication Library)交换这些令牌为Azure AD访问令牌。

适用Kubernetes的Azure AD工作负载身份识别联合功能,目前仅支持Azure AD应用程序,微软打算要扩展相同的模型至Azure受控身份识别。微软提到,在接下来几个月,他们计划逐渐将Azure AD Pod身份识别替换成Azure AD工作负载身份识别,会提供用户以最少的变更,进行搬迁的方法。