подключиться к Zookeeper через kazoo lib с учетными данными

Я пытаюсь защитить своего смотрителя зоопарка учетными данными.

До сих пор я использовал следующий код для подключения к zookeeper:

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

Теперь, чтобы добавить учетные данные, я добавил аутентификацию с помощью команды addauth digest username:password и установил ACL для znode с помощью setAcl /znode auth:username:password:crdwa.

теперь, когда я пытаюсь подключиться к серверу zookeeper через zkCli, я получаю

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.

Как мне аутентифицировать сервер zookeeper через клиент kazoo?

Спасибо


person Ami Hollander    schedule 01.02.2018    source источник


Ответы (1)


auth_data следует передавать как дайджест, например:

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

person Ami Hollander    schedule 14.04.2018