1,配置 systemd 启动参数
https://docs.confluent.io/5.5.5/control-center/security/authentication.html#ui-authentication
systemd配置文件添加启动参数:
CONTROL_CENTER_OPTS=-Djava.security.auth.login.config=/path/to/xx.jass
[root@c7-docker ~]# cat /usr/lib/systemd/system/confluent-control-center.service
[Unit]
Description=Confluent Control Center
Documentation=http://docs.confluent.io/
After=network.target confluent-kafka.target
[Service]
Type=simple
#User=cp-control-center
#Group=confluent
Environment="LOG_DIR=/opt/confluent/logs/control-center" "CONTROL_CENTER_LOG4J_OPTS=-Dlog4j.configuration=file:/opt/confluent/etc/confluent-control-center/log4j-rolling.properties" "CONTROL_CENTER_OPTS=-Djava.security.auth.login.config=/opt/confluent/lib/profiles/control-center-c3.jass"
ExecStart=/opt/confluent/bin/control-center-start /opt/confluent/lib/profiles/control-center.properties
TimeoutStopSec=180
Restart=always
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
2,配置密码策略
[root@c7-docker ~]# tail /opt/confluent/lib/profiles/control-center.properties
...
confluent.controlcenter.rest.authentication.method=BASIC
confluent.controlcenter.rest.authentication.realm=c3
confluent.controlcenter.rest.authentication.roles=Administrators,Restricted
confluent.controlcenter.auth.restricted.roles=Restricted
confluent.controlcenter.auth.session.expiration.ms=600000
[root@c7-docker ~]# cat /opt/confluent/lib/profiles/control-center-c3.jass
c3 {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
debug="true"
file="/opt/confluent/lib/profiles/control-center-passwd.properties";
};
[root@c7-docker ~]# cat /opt/confluent/lib/profiles/control-center-passwd.properties
admin:confluent,Administrators
test:test,Restricted
3,启动并测试服务
[root@c7-docker ~]# jps
30512 SupportedKafka
31541 ControlCenter
32344 SchemaRegistryMain
31625 Jps
30555 KafkaRestMain
30509 QuorumPeerMain
30510 ConnectDistributed
30543 KsqlServerMain
[root@c7-docker ~]# ps -ww 31541
PID TTY STAT TIME COMMAND
31541 ? Ssl 0:11 java -cp /data-docker/confluent-5.5.5/share/java/acl/*
:/data-docker/confluent-5.5.5/share/java/confluent-control-center/*
:/data-docker/confluent-5.5.5/share/java/monitoring-interceptors/*
:/data-docker/confluent-5.5.5/share/java/rest-utils/*:/data-docker/confluent-5.5.5/share/java/confluent-common/*:
-Xmx6g -server -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC
-Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false -Dconfluent.controlcenter.log.dir=/opt/confluent/logs/control-center
-Dlog4j.configuration=file:/opt/confluent/etc/confluent-control-center/log4j-rolling.properties
-Djava.security.auth.login.config=/opt/confluent/lib/profiles/control-center-c3.jass
io.confluent.controlcenter.ControlCenter /opt/confluent/lib/profiles/control-center.properties