Windows 容器内的 Active Directory 帐户(服务器 2016 TP5)

2024-04-09

我有 Windows Server 2016 TP5,并且正在使用容器。我能够很好地完成基本的 docker 任务。我正在尝试弄清楚如何对一些 IIS 托管的 Web 应用程序进行容器化。

事实是,我们通常对数据库使用集成身份验证,对应用程序池使用域服务帐户。我目前没有测试虚拟机(位于域中),因此我无法测试这是否可以在容器内运行。

如果主机加入 AD 域,它的容器也是该域的一部分吗?我仍然可以使用域帐户运行进程吗?

编辑: 另外,如果我在 dockerfile 中指定“USER”,这是否意味着我的应用程序池将使用它(而不是应用程序池标识)运行?


Docker 容器中的 AD 集成至少在某些场景中实际有效:

  1. You need to access network resources with AD credentials.
    1. 运行 cmdkey /add:<network-resource-uri>[:port] /user:<ad-user> /pass:<pass>在需要此访问权限的本地身份下
    2. 要将相同的技巧应用于 IIS 应用程序而不修改 AppPoolIdentity,您需要一个最简单的 cmdkey 周围的 .ashx 包装器(注意:您必须在运行时调用此包装器,例如:在 ENTRYPOINT 期间,否则网络凭据将映射到不同的本地身份)
  2. You need to run code under AD user
    1. 使用 ADVAPI32 函数模拟登录用户 with LOGON32_LOGON_NEW_CREDENTIALS and LOGON32_PROVIDER_DEFAULT as 建议 https://stackoverflow.com/a/35328305/5582254
  3. You need transport layer network security, like when making RPC calls (e.g.: MSDTC) to an AD-based resources.
    1. 使用任何设置 gMSAguide https://github.com/artisticcheese/artisticcheesecontainer/wiki/Using-Group-Managed-Service-Account-(GMSA)-to-connect-to-AD-resources最适合您的。但请注意,gMSArequiresDocker 主机位于域中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 容器内的 Active Directory 帐户(服务器 2016 TP5) 的相关文章

随机推荐