问题标签 [docker-secrets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
691 浏览

docker - 构建时的 Docker 秘密

在构建期间(不是 docker-compose 特定的 .yml 文件)在 Dockerfile 中使用https://docs.docker.com/engine/swarm/secrets/是否有任何可行的可能性?

0 投票
2 回答
988 浏览

configuration - 设计一个不可知的配置服务

只是为了好玩,我正在使用微服务架构设计一些 Web 应用程序。我正在尝试确定进行配置管理的最佳方法,并且我担心我的配置方法可能存在一些巨大的缺陷和/或存在更好的东西。

为了解决这个问题,假设我有一个用 c++ 编写的身份验证服务、一个用 rust 编写的身份服务、一个用 haskell 编写的分析服务、一些用 scala 编写的中间层和一个用 javascript 编写的前端。还会有相应的身份数据库、身份验证数据库、分析数据库(可能是用于会话的 redis 缓存)等……我正在使用 docker swarm 部署所有这些应用程序。

每当部署这些应用程序之一时,它必须发现所有其他应用程序。由于我使用 docker swarm,只要所有节点共享必要的覆盖网络,发现就不是问题。

但是,每个应用程序仍然需要上游服务 host_addr、可能是端口、某些 DB 或密封服务的凭据等......

我知道 dockersecrets可以让应用程序从容器中读取配置,但是我需要为每个服务用每种语言编写一些配置解析器。这看起来很乱。

我宁愿拥有一个configuration service,它保存有关如何配置所有其他服务的知识。因此,每个应用程序都会以一些 RPC 调用开始,该调用旨在在运行时获取应用程序的配置。就像是

AppConfig 将在 IDL 中定义,因此该类将立即可用并且与语言无关。

这似乎是一个很好的解决方案,但也许我真的错过了这里的重点。即使在规模上,数以万计的节点也可以通过一些配置服务轻松地提供服务,因此我认为不会出现任何扩展问题。同样,这只是一个爱好项目,但我喜欢考虑“假设”场景:)

微服务架构中如何处理配置方案?这看起来是一种合理的方法吗?Facebook、Google、LinkedIn、AWS 等主要参与者是做什么的?

0 投票
0 回答
155 浏览

docker - Docker:配置文件中需要的秘密

通常,应用程序在其配置文件中需要某种凭据。大多数应用程序不支持从配置文件本身以外的其他文件中读取这些凭据。使用 Docker 机密以安全的方式提供此配置需要整个配置都是机密。但是,我更愿意只将密码和密钥存储为秘密。

有没有办法向需要配置文件(包含机密)的应用程序提供 Docker 机密?

我正在考虑使用 Docker 机密文件的内容填充模板以在容器内生成配置文件(例如使用容器的入口点)。这种方法与安全相关的含义是什么?如果配置文件的权限设置得当,生成的配置文件是否会增加泄露机密的风险?

编辑:有问题的应用程序是第三方的,使用配置文件是必要的。

0 投票
0 回答
633 浏览

docker - 无法从 STDIN 创建 Docker 机密

我正在尝试根据 Docker 文档创建一个 Docker 机密:

$回声| 码头工人秘密创建 my_secret -

并获得以下信息:

这是在 ConEmu 的 Docker Toolbox 下运行的:

该行为仅针对 STDIN 选项表现出来,该命令适用于文件:

0 投票
1 回答
683 浏览

ansible - Ansible 的 docker_secret 模块不接受数据字段中的变量

我正在使用 Ansible 2.4

在剧本中,我从 Ansible 保险库文件中检索了一个秘密,并尝试使用docker_secret模块将此秘密作为一个群秘密注入:

调试输出正确的值,但 docker_secret 作业正在崩溃,告诉我没有“秘密”属性。

PLAY [经理]


任务[收集事实] ************************************************ ************ 好的:[测试1]

任务[秘密] ************************************************ ******************* 好的:[test1]

任务[调试] ********************************************** ********************* 好的:[test1] => {“msg”:“ secrets.gitJenkinsPassword=MY_SECRET_PASSWORD ”}

任务 [在 SWARM 中设置 Docker 机密] ****************************************** *** 致命:[test1]:失败!=> {"changed": false, "failed": true, "module_stderr": "与 node1.mycompany.com 的共享连接已关闭。\r\n", "module_stdout": "回溯(最近一次通话):\ r\n 文件 \"/tmp/ansible_9JUi1H/ansible_module_docker_secret.py\",第 283 行,在 \r\n main()\r\n 文件 \"/tmp/ansible_9JUi1H/ansible_module_docker_secret.py\",第 278 行,在main\r\n SecretManager(client, results)()\r\n File \"/tmp/ansible_9JUi1H/ansible_module_docker_secret.py\",第 170 行, 调用中\r\n self.present()\r\n 文件 \"/tmp/ansible_9JUi1H/ansible_module_docker_secret.py\",第 209 行,当前\r\n secret = self.get_secret()\r\n 文件 \" /tmp/ansible_9JUi1H/ansible_module_docker_secret.py\",第 177 行,在 get_secret\r\n secrets = self.client.secrets(filters={'name': self.name})\r\nAttributeError: 'AnsibleDockerClient' object has没有属性 'secrets'\r\n", "msg": "MODULE FAILURE", "rc": 0} 重试,使用:--limit @/var/jenkins_home/workspace/deploy/ansible/playbooks/swarm。重试

0 投票
0 回答
220 浏览

docker - 在 .NET Core 应用程序中存储用户机密的最安全方法是什么?

在阅读文档时,我看到了两种方法的红色警告消息:环境变量和用户机密。那么最安全的方法是什么?使用 docker 时,最安全(也是最实用的)方法是什么?

0 投票
0 回答
713 浏览

docker - Docker-compose 工具箱机密文件未正确安装

我正在尝试使用开发的秘密组成一个堆栈,我在 docker/secrets/FILE_NAME 中使用本地文件我在 Windows 10 中使用了这个文件,但我很难让它在 win7 工具箱下工作。我收到一个错误:

我试图设置 COMPOSE_CONVERT_WINDOWS_PATH 但不幸的是,这并没有改变任何东西。我会得到与真或假相同的输出。设置绝对路径也无济于事。

Docker compose 版本 1.16.1 构建 6d1ac219 Docker 版本 17.10.0-ce,构建 f4ffd25

我的 docker-compose.yml

0 投票
1 回答
1696 浏览

kubernetes - Kubernetes 机密在环境变量中有尾随空格

我在 GKE 上运行的 Kubernetes 1.9 中创建了一个部署,该部署利用了放入环境变量中的秘密。我使用带有 base64 编码的 yaml 文件将机密上传到 GKE。

我在容器中看到的是环境变量在那里,但值包括尾随空格。如果我设置一个值为“bar”的环境变量 FOO,这就是它的样子,其中我放入秘密 yaml 的 base64 将是“YmFyCg==”:

对于从环境变量中读取的应用程序来说,这会造成无穷无尽的困难,这些应用程序期望值在没有额外空白的情况下被编码,例如,POSTGRES_PASSWORDPOSTGRES_USER图像中postgres:9.6。环境中的其他变量(包括那些从我的部署 yaml 中设置的没有秘密的变量)不包括尾随空格;只有秘密有问题。

0 投票
2 回答
1009 浏览

docker - 在容器中使用 Docker Secret

我正在使用 Docker CE 17.09-1。我正在利用 Docker Swarm 并部署了一个包含多个服务的堆栈。

我决定将 Docker Secrets 用于各种凭据。我正在运行的一项服务要求我在配置文件中输入数据库用户名和密码。/run/secrets/我为每个所需的凭据创建了两个秘密,并且在容器中看到了只读文件。如何将这些文件的内容插入到我的配置文件中?我的配置文件是一个.ini文件,包含许多值。

提前感谢您的任何建议。

0 投票
5 回答
15696 浏览

docker-compose - docker stack:从秘密设置环境变量

我试图从秘密中设置密码,但没有成功。Docker 服务器版本是 17.06.2-ce。我使用以下命令设置秘密:

我的 docker compose yml 文件看起来像这样

我也有根秘密标签:

当我在环境中对密码进行硬编码时,它可以工作,但是当我通过秘密尝试时,它不会被接收。我试图将撰写版本更改为 3.2,但没有运气。任何指针都非常感谢!