Kubernetes内部运行Docker私有注册表的多用户身份验证
我正在kubernetes集群中使用标准的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
注册表: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身份验证注释解决了这个问题。