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
challenge: true
login: true
mappingMethod: claim
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /etc/origin/master/htpasswd