使用凭据通过 kazoo lib 连接到 Zookeeper
connect to Zookeeper via kazoo lib with credentials
我正在尝试使用凭据保护我的动物园管理员。
到目前为止,我使用以下代码连接到 zookeeper:
zk = KazooClient(hosts=HOSTS)
zk.start()
现在,为了添加凭据,我使用 addauth digest username:password
命令添加了一个身份验证,并使用 setAcl /znode auth:username:password:crdwa
.
将 ACL 设置为 znode
现在,当我尝试通过 zkCli 连接到 zookeeper 服务器时,我得到
kazoo.exceptions.NoAuthError
例外。
但是我如何将身份验证凭据传递给 KazooClient
?
我可以使用
创建 ACL 凭据
ACL = make_digest_acl("username", "password", all=True)
CRED = make_digest_acl_credential("username", "password")
并添加 default_acl
、auth_data
,如
zk = KazooClient(hosts=HOSTS, default_acl=ACL, auth_data=[CRED])
但我仍然无法通过 python 连接。
我应该如何通过 kazoo 客户端验证 zookeeper 服务器?
谢谢
auth_data
应该作为摘要传递,例如:
KazooClient(hosts=HOSTS, auth_data=[("digest", "user:pass")])
我正在尝试使用凭据保护我的动物园管理员。
到目前为止,我使用以下代码连接到 zookeeper:
zk = KazooClient(hosts=HOSTS)
zk.start()
现在,为了添加凭据,我使用 addauth digest username:password
命令添加了一个身份验证,并使用 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_acl
、auth_data
,如
zk = KazooClient(hosts=HOSTS, default_acl=ACL, auth_data=[CRED])
但我仍然无法通过 python 连接。
我应该如何通过 kazoo 客户端验证 zookeeper 服务器?
谢谢
auth_data
应该作为摘要传递,例如:
KazooClient(hosts=HOSTS, auth_data=[("digest", "user:pass")])