1

我正在尝试使用凭据保护我的动物园管理员。

到目前为止,我已经使用以下代码连接到 zookeeper:

zk = KazooClient(hosts=HOSTS)
zk.start()

现在,为了添加凭据,我添加了一个带有addauth digest username:password命令的身份验证并将 ACL 设置为带有setAcl /znode auth:username:password:crdwa.

现在,当我尝试通过 zkCli 连接到 Zookeeper 服务器时,我得到了

kazoo.exceptions.NoAuthError

作为例外。

但是我如何将身份验证凭据传递给KazooClient

我可以使用创建 ACL 凭据

ACL = make_digest_acl("username", "password", all=True) 
CRED = make_digest_acl_credential("username", "password")

并添加default_aclauth_data例如

zk = KazooClient(hosts=HOSTS, default_acl=ACL, auth_data=[CRED])

但我仍然无法通过 python 连接。

我应该如何通过 kazoo 客户端对 zookeeper 服务器进行身份验证?

谢谢

4

1 回答 1

1

应该作为摘要auth_data传递,例如:

KazooClient(hosts=HOSTS, auth_data=[("digest", "user:pass")])

于 2018-04-14T16:52:04.470 回答