Windows容器中托管的应用程序的Windows身份验证

9
我想使用Windows身份验证访问托管在Windows Server 2016 TP4中的Windows容器中的ASP.NET应用程序。为此,我认为需要将容器添加到Active Directory域。是否有可能将Windows容器(或Hyper-V容器)添加到域中?微软没有提供明确的文档,我尝试使用PowerShell将容器添加到域中,但没有成功。
如果不支持将容器加入域中,是否有其他替代方法可以在托管在Windows或Hyper-V容器中的Web应用程序中启用Windows身份验证?
非常感谢您的任何意见。
2个回答

3

微软最近提供了一种解决方案,使容器可以使用域凭据访问资源: 组管理服务帐户

虽然Windows容器无法加入域,但它们也可以像设备加入域时一样利用Active Directory域标识。在Windows Server 2012 R2域控制器中,我们引入了一个称为组管理服务帐户(gMSA)的新域帐户,旨在由服务共享。

此外,这里有一份详细的指南,介绍了以下具体步骤:

使用模拟域标识部署容器很简单,并且基于使用Windows Server和Active Directory的现有工作流程。

部署此功能需要:

  • 现有的Active Directory域,在运行Windows Server 2012或更高功能级别
  • 安装了容器角色和Docker的Windows Server 2016。这将被称为容器主机。这些主机需要加入域。

此指南将详细介绍部署容器的以下步骤:

  1. 为每个应用程序/服务在Active Directory中创建组管理服务帐户
  2. 让每个容器主机可以使用组管理服务帐户
  3. 在每个容器主机上添加存储有关组管理服务帐户详细信息的配置文件。这将被称为凭据规范
  4. 使用参数启动容器,告诉它使用哪个凭据规范

这对于运行在容器内部的进程非常有效,但即使作为LocalService运行时,似乎对于运行在容器内部的服务并不起作用。有其他人也注意到了这一点吗? - nh43de
你可以尝试使用本地系统和网络服务吗?如文档所述:https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/manage-serviceaccounts,仅当服务以Local System或Network Service身份运行时才有效。 - codeKnight

1

摘自Windows容器 - 进展中

"容器无法加入Active Directory域,也无法以域用户、服务账户或机器账户的身份运行服务或应用程序。"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接