Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 保护动物园管理员,从哪里开始?_Security_Apache Zookeeper - Fatal编程技术网

Security 保护动物园管理员,从哪里开始?

Security 保护动物园管理员,从哪里开始?,security,apache-zookeeper,Security,Apache Zookeeper,我想弄清楚我的选择是什么,我觉得很迷茫。Apache的程序员指南和管理员指南没有详细说明任何实质性内容。我的O'Reilly动物园管理员手册几乎没有提到安全性。。。我错过什么了吗?我希望能通过谷歌找到有关验证客户端连接、授权操作以及加密动物园管理员和客户端之间发送的消息的教程。我遇到了很多麻烦,但我找到了答案,底部的链接对我帮助很大 这个代码(使用策展人)很难理解: List<ACL> myAclList = new ArrayList<ACL>(); aclList.a

我想弄清楚我的选择是什么,我觉得很迷茫。Apache的程序员指南和管理员指南没有详细说明任何实质性内容。我的O'Reilly动物园管理员手册几乎没有提到安全性。。。我错过什么了吗?我希望能通过谷歌找到有关验证客户端连接、授权操作以及加密动物园管理员和客户端之间发送的消息的教程。

我遇到了很多麻烦,但我找到了答案,底部的链接对我帮助很大

这个代码(使用策展人)很难理解:

List<ACL> myAclList = new ArrayList<ACL>();
aclList.add(new ACL(ZooDefs.Perms.ALL, ZooDefs.Ids.AUTH_IDS));
client.create(withACL(myAclList)).forPath(myPath);

列表,

自zookeeper版本3.5.4-beta以来,您可以启用使用客户端证书来保护与远程zookeeper服务器的通信:

客户端

ZooKeeper客户端可以通过设置Java系统属性来使用Netty:

zookeeper.clientCnxnSocket="org.apache.zookeeper.ClientCnxnSocketNetty"
zookeeper.client.secure=true
为了在客户端上进行安全通信,请设置以下Java系统属性:

zookeeper.clientCnxnSocket="org.apache.zookeeper.ClientCnxnSocketNetty"
zookeeper.client.secure=true
请注意,设置了“secure”属性后,客户端可以而且应该只连接到服务器的“secureClientPort”,稍后将对其进行描述

然后通过设置以下Java系统属性来设置密钥库和信任库环境:

zookeeper.ssl.keyStore.location="/path/to/your/keystore"
zookeeper.ssl.keyStore.password="keystore_password"
zookeeper.ssl.trustStore.location="/path/to/your/truststore"
zookeeper.ssl.trustStore.password="truststore_password"
服务器

ZooKeeper服务器可以通过设置以下Java系统属性来使用Netty:

zookeeper.serverCnxnFactory="org.apache.zookeeper.server.NettyServerCnxnFactory"
ZooKeeper服务器还需要提供侦听端口以接受安全的客户端连接。此端口不同于已知的“clientPort”,并与之并行运行。应在“zoo.cfg”中添加:

secureClientPort=2281
所有安全客户端(如上所述)都应连接到此端口

然后像客户端那样设置密钥库和信任库环境

更多信息请点击此处:

您是否在zk中启用了身份验证?你能告诉我更多的细节吗?它在windows服务器上工作吗?我按照你的描述做了,我得到了错误:2019-12-26 13:57:16381[myid:]-错误[main:ZooKeeperServerMain@66]-无效参数,异常退出java.lang.NumberFormatException:对于输入字符串:“E:\apache-zookeeper-3.5.6-bin\bin\..\conf\zoo.cfg”,位于java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)在java.lang.Integer.parseInt(Integer.java:580)处