gpt4 book ai didi

java - 在 Apache Pulsar 中授予命名空间权限

转载 作者:行者123 更新时间:2023-12-01 16:38:19 25 4
gpt4 key购买 nike

我已经研究 Apache Pulsar 的功能一段时间了,我很高兴。然而,我刚刚进入身份验证/授权阶段,在 Java 管理客户端中遇到了一个奇怪的错误。

虽然我能够执行各种操作,例如创建/删除租户、创建/删除命名空间、创建/删除分区主题、向租户添加管理员角色等,但在尝试使用向角色授予命名空间权限时

org.apache.pulsar.client.admin.Namespaces.grantPermissionOnNamespace()

我收到此错误:

org.apache.pulsar.client.admin.PulsarAdminException$ServerSideErrorException:HTTP 501 未实现

我不敢相信如此重要的功能不会被实现,所以我猜测这个错误只是掩盖了其他东西。

我使用新的命名空间创建了一个新租户(没有任何管理员角色)。我尝试添加的角色只是编造的,我不确定它是否必须首先在某个地方注册(但我没有找到任何可以做到这一点的东西)。我尝试分别授予消耗或生产操作并同时授予这两个操作,但没有任何效果。

代理上没有配置 super 用户,但考虑到我可以在没有 super 用户的情况下执行所有其他操作,似乎只有 super 用户才能执行此操作似乎有些牵强。目前,所有调用均未经过身份验证。这会是一个问题吗?但这会引发同样的问题:为什么我可以做其他所有事情,只是不授予权限?

那么我错过了什么?

我们正在运行 Pulsar 版本 2.5.0 以及 Java pulsar-client-admin Maven 工件版本 2.5.0。

最佳答案

好的,因此在尝试执行相同操作时,使用 pulsar admin CLI 会显示更多信息:

Authorization is not enabled

Reason: HTTP 501 Not Implemented

显然我错过了在代理配置中实际启用授权。由于我很好奇第一行来自哪里(因为我在实现中没有得到这一点),所以我运行了 CLI 源代码,结果发现 CLI 从 PulsarAdminException 中打印了 2 行:

System.err.println(e.getHttpError());
System.err.println();
System.err.println("Reason: " + e.getMessage());

好吧,对我来说似乎相反, getHttpError() 返回“未启用授权”和 getMessage()“HTTP 501 未实现”,但至少我现在知道发生了什么......

关于java - 在 Apache Pulsar 中授予命名空间权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61913550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com