gpt4 book ai didi

python-3.x - 在 Docker 镜像中安全地存储哈希

转载 作者:行者123 更新时间:2023-12-02 21:15:28 25 4
gpt4 key购买 nike

我正在使用 Docker 构建一系列应用程序,并希望安全地存储我的 api key 、数据库访问 key 等。为了使我的应用程序更安全,我将我的配置文件存储在密码保护、压缩、卷设置为只读。我可以使用 ZipFile python 包来访问它以读取配置,包括使用密码。

但是,出于显而易见的原因,我不想将密码显式存储在图像中。我玩过passlib为密码生成哈希值并进行比较。虽然我可以将散列存储在图像中的文件中,但生成我想做的散列而不将值存储在图像的图层中。

这样做是个好习惯吗? Dockerfile我想到的是如下所示:

FROM my_custom_python_image:3.6

WORKDIR /app

COPY . /app

RUN python -m pip install -r requirements.txt

RUN python create_hash.py --token 'mysecret' >> myhash.txt

# The rest of the file here

create_hash.py看起来像:
from passlib.hash import pbkdf2_sha256
import argparse

# Logic to get my argparse token flag

hash = pbkdf2_sha256.encrypt(args.token, rounds=200000, salt_size=16)
print(hash)

如果我的 Dockerfile不存储在图像中并且文件系统是只读的,是我放入 --token的值存储?如果是的话,这里有什么好的解决方法?同样,最终目标是使用 context.verify(user_token, hash)通过 user_tokenZipFile并且不在任何地方明确存储密码

最佳答案

您应该将这些值作为运行时部署的一部分传递,而不是构建时间。

它使您的应用程序更灵活(因为它可以在不同的环境中使用,只需更改参数)并且更安全,因为 key 根本不存在。

在部署期间安全地传递值更多地取决于部署的环境和功能

关于python-3.x - 在 Docker 镜像中安全地存储哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215343/

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