Barbican为openstack提供为任何环境提供密钥管理功能。
Barbican组件配置
说明:此处”{BARBICAN_DBPASS}” “{barbican_dbpass}”为barbican代替密码,不为真实密码。
“{port}”为barbican相关代替端口,”{user}”为barbican代替用户,此文档不透露真实用户、端口和密码。
“{host}”为代替主机地址,其余{***}均为代替信息,不存在真实信息;
1、主机Hosts配置
SDK Proxy、OpenStack Controller、OpenStack Neutron节点/etc/hosts均需要配置Barbican服务节点主机,主机名为barbican-server.cty.os,IP与keystone-server.cty.os节点一致。
2、数据库配置
以下配置均在某个OpenStack Controller节点进行。
以管理身份连接control数据库创建barbican用户并授权
GRANT ALL PRIVILEGES ON `{user}`.* TO '{user}'@'localhost' IDENTIFIED BY '{BARBICAN_DBPASS}';
GRANT ALL PRIVILEGES ON `{user}`.* TO '{user}'@'%' IDENTIFIED BY '{BARBICAN_DBPASS}';
3、Barbican用户配置
以下配置均在某个OpenStack Controller节点进行。
(3.1)数据库查看用户信息
mysql -P{port} -u{user} -p{barbican_dbpass} -e "select user,host from mysql.user;"
(3.2)Openstack创建
<1>创建barbican用户
source admin-openrc.sh
openstack user create --domain default--password {BARBICAN_PASS} barbican
openstack role add --project {service} --user {user} admin
<2>配置creator角色
openstack role create {role}
openstack role add --project {service} --user {user} {role}
<3>创建barbican服务实体
openstack service create --name {user} --description "Key Manager" key-manager
<4>创建证书管理API
openstack endpoint create --region RegionOne key-manager public http://{host}:{port}
openstack endpoint create --region RegionOne key-manager internal http://{host}:{port}
openstack endpoint create --region RegionOne key-manager admin http://{host}:{port}
- 主要配置文件
查看barbican配置文件barbican.conf
查看barbican主机名、服务端口、数据库用户及密码、barbican用户密码
host_href为Barbican组件默认的Endpoint,实际环境中主机名与端口号需要与Barbican安装前配置的Endpoint保持一致。
4、主要安装组件及服务
5、服务器防火墙配置
(5.1)在每个Neutron节点配置iptables,放开相关端口
iptables -I INPUT -p tcp -m multiport --dports {port} -j ACCEPT
iptables -I INPUT -p tcp -m multiport --dports {port} -j ACCEPT
iptables -I INPUT -p tcp -m multiport --dports {port} -j ACCEPT -s {OPENSTACK_CIDR}
iptables -I INPUT -p tcp -m multiport --dports {port} -j ACCEPT -s {OPENSTACK_CIDR}
OPENSTACK_CIDR为OpenStack各个节点的管理网段及掩码CIDR。
(5.2)保存iptables
service iptables save
- Haproxy配置
此为运行在control节点的haproxy
6、配置查看haproxy.cfg
NEUTRON_NODE为三个Neutron节点的IP。
7、neutron文件中barbican关联配置
查看相关配置文件neutron_lbaas.conf
常见问题
1、云管平台无法创建证书,F12查看400
Barbican相关运维
1、服务查看
查看control节点服务端口,control01/02节点存在haproxy监听端口和barbican服务端口,control03节点只有barbican的服务端口
{port1}为haproxy监控端口
{port2}为httpd提供barbican服务端口
ss -tanlp | grep -E '{port}'
- 配置文件查看
查看相关配置文件barbican.conf
sql_connection对应barbican数据库用户密码信息
下方域中用户密码为barbican用户密码
(2.1)登录对应数据库查看barbican数据库信息是否正确
mysql -u{user} -p{barbican_dbpass} -P{port} -h{host}
只有barbican一个授权的数据库即可
(2.2)查看barbican用户配置信息是否正确
source admin-openrc.sh
openstack secret store
查看返回确认是否有误报错
(2.3)token是否可以正常获取
修改相关admin-openstack为barbican-openrc.sh,将对应的用户名、密码和PROJECT修改正确
source barbican-openrc.sh
openstack token issue
输出结果获取token正常即可
(2.4)Barbican用户密码重置,适用于配置文件对应密码有误情况下
openstack user set {user} --password {password}
(2.5)数据库barbican用户密码重置操作
删除原先barbican用户,重新创建并授权
delete from mysql.user where user='{user}' and host='{host}'
GRANT ALL PRIVILEGES ON `{user}`.* TO '{user}'@'localhost' IDENTIFIED BY '{BARBICAN_DBPASS}';
GRANT ALL PRIVILEGES ON `{user}`.* TO '{user}'@'%' IDENTIFIED BY '{BARBICAN_DBPASS}';
BARBICAN_DBPASS为密码
- 数据库授权查看
mysql -u{user} -p{admin_dbpass} -P{port} -h{host} -e "select user,host from mysql.user;" | grep {user}
mysql -u{user} -p{admin_dbpass} -P{port} -h{host} -e "show grants for
mysql -u{user} -p{admin_dbpass} -P{port} -h{host} -e "show grants for '{user}'@'{host}';"
查看数据库中相关授权信息
- iptables规则查看
查看iptables规则中有误对应的规则,可以通过相关端口过滤出来
5、排查思路总结:
(1)端口是否监听
(2)barbican服务及数据库权限是否正常
(3)iptanles规则查看