如何为`docker exec`命令添加凭证

问题描述 投票:1回答:1

我从ubuntu图像创建了一个docker容器。其他用户可以通过docker exec -it CONTAINER_ID bash附加到此容器。有没有办法为此命令添加用户名和密码?我不希望其他用户访问我的容器。我想当用户执行docker exec命令附加到我的容器时,它会提示询问用户名和密码。用户只能在输入正确的用户名和密码后附加到它。就像ssh那样。

docker
1个回答
1
投票

对Docker套接字(由docker命令行使用)的访问应被视为对主机的sysadmin级别访问以及在该主机上运行的所有容器。

您可以将docker守护程序配置为侦听具有TLS凭据和客户端证书验证的端口。但是,一旦用户可以访问任何docker API调用,他们就可以访问所有这些,并且没有任何登录提示。

您可以尝试使用Twistlock提供的第三方插件来实现docker的authz插件。这将允许您限制对特定TLS客户端证书的exec调用的访问。但是,它不会限制它们可以执行的容器。

可能最接近您想要的是Docker的EE产品,特别是UCP。它是一个商业工具,但它们提供了一个不同的API入口点,可以执行自己的身份验证,包括用户/密码和基于Web的请求的选项,以及RBAC安全性,可以限制对exec等特定用户和特定集合的访问。容器。

如果你想从容器方面这样做,我担心这样做不行。 Exec作为Linux exec系统调用直接在容器命名空间内运行,因此容器内部没有任何东西可以阻止这种访问。最好的选择是从图像中删除您不希望任何人能够在容器中运行的任何命令。

© www.soinside.com 2019 - 2024. All rights reserved.