Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes内部运行Docker私有注册表的多用户身份验证_Docker_Authentication_Kubernetes_Kubernetes Ingress_Docker Registry - Fatal编程技术网

Kubernetes内部运行Docker私有注册表的多用户身份验证

Kubernetes内部运行Docker私有注册表的多用户身份验证,docker,authentication,kubernetes,kubernetes-ingress,docker-registry,Docker,Authentication,Kubernetes,Kubernetes Ingress,Docker Registry,我正在kubernetes集群中使用标准的注册表:2图像运行docker私有注册表。该映像具有使用apachehtpasswd实用程序提供用户身份验证的基本功能。 在我的例子中,多个用户需要访问存储库,因此需要为多个不同的用户设置用户名密码。实现这一点的最佳方法是什么 我使用了基于单用户htpsswd的身份验证,但似乎没有找到为多个用户启用身份验证的方法,即具有适当的访问控制 注册表已启用SSL。(入口级别的TLS)有多种方法可以做到这一点。首先,在htpasswd文件中可能有多个用户。它与do

我正在kubernetes集群中使用标准的
注册表:2
图像运行docker私有注册表。该映像具有使用apachehtpasswd实用程序提供用户身份验证的基本功能。 在我的例子中,多个用户需要访问存储库,因此需要为多个不同的用户设置用户名密码。实现这一点的最佳方法是什么

我使用了基于单用户htpsswd的身份验证,但似乎没有找到为多个用户启用身份验证的方法,即具有适当的访问控制


注册表已启用SSL。(入口级别的TLS)

有多种方法可以做到这一点。首先,在htpasswd文件中可能有多个用户。它与docker不起作用,因为docker要求使用bcrypt算法对密码进行散列

创建htpasswd文件时使用
-B
标志

sudo htpasswd -c -B /etc/apache2/.htpasswd <username1>
sudo htpasswd-c-B/etc/apache2/.htpasswd
另一种方法是使用nginx身份验证注释

nginx.ingres.kubernetes.io/auth-url:“验证服务的url”


如果服务返回200,nginx将转发请求,否则返回身份验证错误响应。有了它,您可以在创建和管理身份验证服务器时拥有许多自定义逻辑。

我想您正在寻找类似的东西?他们使用那里对注册表进行身份验证,并作为后端管理用户和身份验证。让我知道这是否是你想要的。至少对于我的用例来说,这似乎是一种过度的杀伤力。我使用nginx身份验证注释解决了这个问题。