当前位置: 首页 > 工具软件 > Pulsar Manger > 使用案例 >

Pulsar/Pulsar manager/Pulsar sql添加认证

苏星宇
2023-12-01

Pulsar开启权限认证

参考:Pulsar集群和PulsarManager添加JWT认证_pulsar 管理界面_酱紫很帅的博客-CSDN博客

生成密钥

在其中一个节点上执行,并把生成的my-secret.key拷贝到其他节点上

bin/pulsar tokens create-secret-key --output  /data/my-secret.key --base64

创建用户token

在其中一个节点上执行

pulsar tokens create --secret-key file:///data/my-secret.key --subject pulsar-admin
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItYWRtaW4ifQ.7qOOul4v82J_r-r06uWkIGwgr_y5e_dJ2zPgAAZvvIg

可通过--expiry-time设置token的有效期

pulsar tokens create --secret-key file:///data/my-secret.key --subject test --expiry-time 1y  #有效期为1年

修改配置文件

在所有节点上执行

修改broker.conf文件

vim conf/broker.conf
​
authenticationEnabled=true
superUserRoles=pulsar-user          # 用户名
authorizationEnabled=true
authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderToken
authenticateOriginalAuthData=true
tokenSecretKey=file:///data/my-secret.key   # my-secret.key的绝对路径
brokerClientAuthenticationPlugin=org.apache.pulsar.client.impl.auth.AuthenticationToken
brokerClientAuthenticationParameters=token:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItYWRtaW4ifQ.7qOOul4v82J_r-r06uWkIGwgr_y5e_dJ2zPgAAZvvIg          # 第二步生成的token

在broker.conf文件配置完成后重启pulsar-broker即可开启认证,此时在客户端进行远程访问或者在服务集群命令行操作都需要进行认证才能进行相关操作。

修改client.conf文件

vim conf/client.conf
​
authPlugin=org.apache.pulsar.client.impl.auth.AuthenticationToken
authParams=token:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItYWRtaW4ifQ.7qOOul4v82J_r-r06uWkIGwgr_y5e_dJ2zPgAAZvvIg    # 第二步生成的token

在client.conf配置完成后重启pulsar-broker,此时在客户端进行远程访问需要进行认证才能进行相关操作,但在集群服务器进行命令行操作不需要进行认证。

重启broker集群

所有节点都执行

bin/pulsar-daemon stop broker
bin/pulsar-daemon start broker

Pulsar Manager添加认证信息

在给Pulsar添加了认证相关的配置后,发现pulsar-manger的管理页面是无法使用的,需要我们也进行token相关的配置。 修改pulsar-manager目录下的application.properties文件中jwt相关的配置。

backend.jwt.token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiJ9.NMwO2z_xzpH7EydXbMs59Ct394Nr8-X3zc41hDY6dss
jwt.broker.token.mode=SECRET #我这里使用的是对称密钥,根据自己生成密钥的实际情况选择
jwt.broker.secret.key=file:///data/my-secret.key
jwt.broker.public.key=file:///path/pulsar/broker-public.key
jwt.broker.private.key=file:///path/broker-private.key

修改完配置后,重启pulsar-manger即可。

Pulsar sql添加认证信息

Pulsar sql相关配置可以参考:pulsar集成presto_presto pulsar_0TXY0的博客-CSDN博客

修改 pulsar.properties 中的内容

#用来验证 Pulsar 集群的认证插件
pulsar.auth-plugin=org.apache.pulsar.client.impl.auth.AuthenticationToken
​
# 用来向 Pulsar 集群认证的认证参数,格式为字符串,例如:“key1:vall,key2:val2”。
pulsar.auth-params=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItYWRtaW4ifQ.7qOOul4v82J_r-r06uWkIGwgr_y5e_dJ2zPgAAZvvIg

 类似资料: