13.3.5. HTPasswd
在 identityProviders
小节中设置 HTPasswdPasswordIdentityProvider
,针对使用 htpasswd
生成的文件验证用户名和密码。
htpasswd
工具程序位于 httpd-tools
软件包中:
# yum install httpd-tools
OpenShift Container Platform 支持 Bcrypt、SHA-1 和 MD5 加密哈希功能,而 MD5 是 htpasswd
的默认值。目前不支持明文、加密文本和其他散列功能。
如果修改时间更改,则无格式文件重新读取,无需重新启动服务器。
由于 OpenShift Container Platform master API 现在作为静态 pod 运行,因此您必须在 /etc/origin/master/ 中创建 HTPasswdPasswordIdentityProvider
htpasswd 文件,使其可以被容器读取。
使用 htpasswd 命令:
要创建带有用户名和散列密码的平面文件,请运行:
$ htpasswd -c /etc/origin/master/htpasswd <user_name>
然后,输入 并确认该用户的明文密码。该命令将生成散列版本的密码。
例如:
htpasswd -c /etc/origin/master/htpasswd user1 New password: Re-type new password: Adding password for user user1
注意您可以包含
-b
选项,用于在命令行中提供密码:$ htpasswd -c -b <user_name> <password>
例如:
$ htpasswd -c -b file user1 MyPassword! Adding password for user user1
要在文件中添加或更新登录,请运行:
$ htpasswd /etc/origin/master/htpasswd <user_name>
要从文件中删除登录,请运行:
$ htpasswd -D /etc/origin/master/htpasswd <user_name>
例 13.4. 使用 HTPasswdPasswordIdentityProvider
的 master 配置
oauthConfig: ... identityProviders: - name: my_htpasswd_provider 1 challenge: true 2 login: true 3 mappingMethod: claim 4 provider: apiVersion: v1 kind: HTPasswdPasswordIdentityProvider file: /etc/origin/master/htpasswd 5