gpt4 book ai didi

sql-server - 如何安全地向SQLServer2017 Linux Docker容器提供SA密码?

转载 作者:行者123 更新时间:2023-12-02 19:55:53 26 4
gpt4 key购买 nike

Docker的常见设置:两个linux容器,一个是使用EntityFramework的.NET Core WebServer,另一个是MS-SQLServer2017。永久性数据保存在Docker卷中。使用docker-compose,它不是一群。

启动SQLServer容器时,必须将SA密码作为环境变量提供给容器。无论您提供了什么,以后都可以使用docker container inspect从容器外部读取此env。这显然损害了安全性。

这使我想到两个问题:

  • 有什么更好的方法可以将SA密码提供给SQLServer?
  • (在another thread中讨论)Microsoft帮助指出,最好在启动容器后立即更改SA密码。当我在WebServer代码中执行此操作时,EntityFramework已经使用默认的SA密码(我以env提供的密码)连接了。我可以轻松更改密码。但是如何告诉EntityFramework重置它的ConnectionString? (有关链接线程的更多信息)
  • 最佳答案

    1. What better ways are there to provide the SA password to the SQLServer?


    为此,您需要使用单个容器群。完成后,您可以使用 Docker Secrets传递您的凭据。

    1. The Microsoft help states that it's best to change the SA password directly after starting the container. When I do that in my WebServer code, EntityFramework is already connected with the default SA password (the one I provided as env). I can change the password easily. But how can I tell EntityFramework to reset it's ConnectionString?


    单容器群集可自动解决此问题。每次更新 secret时,docker都会终止使用修改后的 secret 的所有容器,并使用新的 secret 重新初始化它们。此外, docker 会自动执行。肯定会有停机时间,为防止这种情况发生,您可以放置​​两个容器并启动 rolling upgrade of your service

    编辑:使用群模式时,您不必担心更改 docker-compose文件,因为具有某些添加字段的同一文件可以用作 docker-stack文件。

    关于sql-server - 如何安全地向SQLServer2017 Linux Docker容器提供SA密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57968574/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com