将 Pod 作为服务帐户运行以连接到具有集成安全性的数据库



我有一个.NET Core服务运行在Azure Kubernetes Service和一个Linux Docker镜像上。它需要连接到具有集成安全性的本地数据库。我的本地 AD 中的一个服务帐户有权访问此数据库。

我的问题是 - 是否可以在特定服务帐户下运行 pod,以便服务可以连接到数据库?(我采取的另一种方法是用WindowsIdentity.RunImpersonated模拟调用,但是这需要DLL"advapi32.dll",我找不到将其部署到Linux容器并使其运行的方法。

如果在群集中安装并实现 AAD Pod 标识组件,则可以使用 Azure Active Directory 服务帐户的权限运行 Pod 。

您需要在集群中设置AzureIdentityAzureIdentityBinding资源,然后向将使用与服务帐户关联的权限的 Pod 添加标签。

请注意,此方法依赖于与群集关联的托管标识或服务主体,该群集具有针对用于访问 SQL Server 的服务帐户授予的角色"托管标识操作员"(服务帐户必须存在于 Azure Active Directory(。

我怀疑您可能要求 Pod 采用仅存在于本地 AD 中的"组托管服务帐户"的身份。我不认为这在Linux容器中是支持的(最近,Windows节点支持GMSA作为GA功能(。

相关内容

最新更新