代码之家  ›  专栏  ›  技术社区  ›  Ami Hollander

使用凭据通过kazoo lib连接到Zookeeper

  •  1
  • Ami Hollander  · 技术社区  · 7 年前

    我想用证书保护我的动物园管理员。

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

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

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

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

    卡祖。例外情况。无授权错误

    除非如此。

    但是如何将身份验证凭据传递给 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服务器?

    非常感谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ami Hollander    7 年前

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

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