由于发现 schema registry 相关资料较少,主要在此介绍其口令认证配置方式。
欢迎光临 我的博客。
1. 安装包
在 schema registry安装包下载 下载需要的版本,并解压。
2. 配置
配置文件位于 etc/schema-registry 目录下,口令认证的话首先需要创建文件记录账号用户名密码及对应的角色。
文件 schema-registry-password-file:
然后需要创建 jaas 文件 schema-registry-jaas-config.conf,读取用户名密码配置:
SchemaRegistry-Props {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
file="{addr}/schema-registry-password-file"
debug="false";
};
复制代码
最后就是 schema-registry.properties 的配置。
listeners=http://{ip}:8081
复制代码
配置 url 和 port。
# basic auth
authentication.method=BASIC
authentication.roles=admin,user
authentication.realm=SchemaRegistry-Props
basic.auth.credentials.source=USER_INFO
basic.auth.user.info=user:password
mode.mutability=true
复制代码
如果 kafka 有口令认证的话,要注意加上对应的配置:
kafkastore.bootstrap.servers=SASL_PLAINTEXT://{ip}:9092
# kafka auth
kafkastore.security.protocol=SASL_PLAINTEXT
kafkastore.sasl.mechanism=PLAIN
kafkastore.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="user" password="password";
复制代码
3. 启动
启动脚本在 bin 目录下。
由于需要导入参数和后台启动,建议写个脚本。
export SCHEMA_REGISTRY_OPTS=-Djava.security.auth.login.config={addr}/schema-registry-jaas-config.conf
/usr/local/schema-registry/bin/schema-registry-start /usr/local/schema-registry/etc/schema-registry/schema-registry.properties >> {log file} 2>&1 &
复制代码
将{log file}替换为实际输出日志的位置。
4. 验证
curl http://{ip}:8081/subjects
复制代码
会响应
{"error_code":401,"message":"Unauthorized"}
复制代码
因为需要加上用户名密码:
curl -u user:password http://{ip}:8081/subjects
复制代码
得到的响应是一个列表就证明成功啦!
评论