Pulsar开启权限认证

2022-10-27 14:41:17 浏览数 (1)

生成密钥

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

代码语言:javascript复制
bin/pulsar tokens create-secret-key --output  /data/my-secret.key --base64

创建用户token

在其中一个节点上执行

代码语言:javascript复制
bin/pulsar tokens create --secret-key file:///data/my-secret.key --subject pulsar-user(用户名)

	token:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItdXNlciJ9.pQObSlvRguNjOdHy-Vzrfx5DY8iacqq4Y9HP_gbXVYU

给命名空间添加认证权限

在其中一个节点上执行

代码语言:javascript复制
bin/pulsar-admin namespaces grant-permission public/functions --role pulsar-user --actions produce,consume
bin/pulsar-admin namespaces grant-permission capital/cloud --role pulsar-user(用户名) --actions produce,consume
bin/pulsar-admin namespaces grant-permission capital/enterprise --role pulsar-user(用户名) --actions produce,consume

修改配置文件

在所有节点上执行

代码语言:javascript复制
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.eyJzdWIiOiJwdWxzYXItdXNlciJ9.pQObSlvRguNjOdHy-Vzrfx5DY8iacqq4Y9HP_gbXVYU			# 第二步生成的token
代码语言:javascript复制
vim conf/client.conf

authPlugin=org.apache.pulsar.client.impl.auth.AuthenticationToken
authParams=token:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItdXNlciJ9.pQObSlvRguNjOdHy-Vzrfx5DY8iacqq4Y9HP_gbXVYU	# 第二步生成的token

重启broker集群

所有节点都执行

代码语言:javascript复制
bin/pulsar-daemon stop broker
bin/pulsar-daemon start broker

0 人点赞