Docker Swarm 中分布式应用的部署、运行与密钥管理
1. 用 Docker 密钥保护敏感数据
1.1 密钥的安全性
Docker 密钥用于安全地处理机密数据,在静止和传输过程中都很安全。新密钥只能在管理节点创建,创建时其值会被加密并存储在 raft 共识存储中,因此静止时安全。当服务被分配密钥,管理节点会从存储中读取、解密并转发给请求该密钥的服务实例容器。由于 Docker Swarm 节点间通信使用 Mutual Transport Layer Security (mTLS),即使密钥被解密,传输时仍安全。管理节点仅将密钥转发到运行服务实例的工作节点,密钥以文件形式挂载到目标容器,每个密钥对应一个文件,密钥名是容器内文件名,密钥值是文件内容,且密钥不会存储在工作节点文件系统,而是通过 tmpFS 挂载到容器。默认挂载路径为 /run/secrets ,也可自定义。
需要注意的是,Windows 节点上的密钥不会加密,因为没有类似 tmpfs 的概念。为达到与 Linux 节点相同的安全级别,管理员应加密相应 Windows 节点的磁盘。
1.2 创建密钥
创建密钥有两种方式:
- 从标准输入创建 :
$ echo "sample secret value" | docker secret create sample-secret -
此命令创建名为 sample-secret 的密钥,值为
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



