【问题标题】:Apache Pulsar 未授权 validateTopicPolicyOperation 操作 [WRITE] 主题
【发布时间】:2022-01-22 05:50:07
【问题描述】:

我们一直在尝试在我们的 2.8.1 Apache Pulsar 集群上添加 JWT 身份验证,它似乎工作正常,除了权限。所以基本上,我们现在的状态是:

  • 没有令牌,客户端得到一个 401
  • 有了令牌,它可以访问,但生产或消费有问题,所以我们添加了这个:

./bin/pulsar-admin --admin-url https://pulsar-xxx-broker.pulsar-xx.svc.cluster.local:8443 --auth-plugin org.apache.pulsar.client.impl.auth.AuthenticationToken --auth-params file:///pulsar/tokens/代理/令牌命名空间授予权限“xxx-dev-FR/lol”--role pulsar-token---actions producer,consume

而且更好的是,命名空间上的权限似乎非常简单,并且只允许消费、生产查看代码。但后来我们遇到了这个错误:

org.apache.pulsar.client.admin.PulsarAdminException$NotAuthorizedException: 未授权 validateTopicPolicyOperation 用于主题 [persistent://xxx-dev-FR/ns-common-0.8.0/workflow-tag- 上的操作 [WRITE]新:com.xxx.xxx.commons.engine.workflow.xxxEngine] 策略 [PARTITION]

显然我们需要更多权限,因此我们考虑在创建租户时添加一个管理员角色,这就是我们所做的,但不幸的是,它并没有更好。

Pulsar permissions schema

我错过了什么吗?

非常感谢。

亲属

【问题讨论】:

  • 您是否使用超级角色令牌配置了 brokerClientAuthenticationPlugin 和 brokerClientAuthenticationParameters ?
  • Bonjour Christophe,我做到了,是的,掌舵图做到了:brokerClientAuthenticationPlugin=org.apache.pulsar.client.impl.auth.AuthenticationToken brokerClientAuthenticationParameters=file:///pulsar/tokens /broker/token 我确认,来自 pod 的那个与最初生成的那个相同。亲属

标签: apache-pulsar


【解决方案1】:

是的,这是真的,但这只是一个例子,抱歉。之后我确实在正确的命名空间上启动了查询授予权限命令。

我觉得 grant-permission 命令缺少一些权限,因为只有这两个可用:

  • 消费
  • 生产

但显然它不适用于更改主题或命名空间策略。有没有办法在没有完全管理员的情况下完成这项工作?

编辑:以防万一我在第一篇文章中不清楚,在 pulsar-manager 中创建租户时,我们使用了与此命令等效的命令:

./bin/pulsar-admin tenants create test --admin-roles <my_app_role>

【讨论】:

    【解决方案2】:

    @Kin,从您的示例来看,您似乎授予了对一个命名空间 xxx-dev-FR/lol 的权限,但随后尝试在另一个命名空间 xxx-dev-FR/ns-common-0.8.0 中使用主题。

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多