我正在使用 gMSA 在 docker 中运行一个 aspnet 核心应用程序。我创建了一个安全组,创建了一个 gMSA,并使用这篇文章创建了一个凭据规范文件 - https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/gmsa-run-container
我正在使用 SQL Server 的集成安全性。对此别无选择。
我用这个命令启动我的容器:
docker run --security-opt "credentialspec=file://mydomain_mygmsa.json" --hostname mygmsa -e ASPNETCORE_ENVIRONMENT=Development -p 5000:80 -d --user "NT AUTHORITY\NETWORK SERVICE" my-image
这是我的 docker 构建文件:
WORKDIR /app
WORKDIR /src
COPY . .
WORKDIR /src/MyProject/
RUN dotnet publish -c Release -o /app
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 as final
WORKDIR /app
COPY --from=base /app .
ENTRYPOINT ["dotnet", "MyProject.dll"]
当我尝试访问 sql server 时,出现以下错误:
登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。
有任何想法吗?