默认情况下,ZooKeeper集群未强制进行身份认证,导致集群数据在网络中暴露,任何客户端都可访问其中的数据,存在较大安全隐患。MSE支持配置ZooKeeper的SASL认证信息和强制开关,以提升集群数据的安全性。目前,MSE ZooKeeper支持Digest-5机制的SASL身份认证,通过用户名和密码对客户端进行身份认证。您可以通过配置服务端客户端将要使用的身份信息,开启服务端对客户端的身份认证能力。
前提条件
创建ZooKeeper引擎且ZooKeeper引擎版本为3.8.0.7及以上。如需升级引擎版本,请参见升级引擎版本。
操作步骤
登录MSE注册中心控制台。
在左侧导航栏,选择注册配置中心 > 实例列表。单击目标实例名称。
在左侧导航栏,选择鉴权管理。
在鉴权管理页面,单击创建用户。在创建用户面板,输入用户名、密码和确认密码,然后单击确认并重启实例。
重启集群后,会应用新的用户身份信息配置。
单击对应用户操作列下的复制配置,密码需要手动在配置中补充,然后保存在客户端的任意文件。
对于Java使用ZooKeeper原生SDK或者CuratorFramework的应用需要进行以下操作:
假设之前已经保存的配置文件路径为/path,在Java应用启动的时候,指定系统属性。
-Djava.security.auth.login.config=/path // 等号后面填写配置保存的文件的路径
重启应用后,客户端会自动读取配置并进行认证。
说明Java客户端请确保依赖的ZooKeeper版本为3.4及以上。
其他语言客户端,请参考对应的SDK文档进行设置。
所有客户端配置完成之后,在控制台左侧导航栏,选择参数设置。在参数设置页面,设置AuthEnabled值为true,即可开启服务端强制校验客户端使用SASL身份认证。
说明将"AuthEnabled"设置为true将会导致未通过SASL身份认证的客户端无法请求Server。
文档内容是否对您有帮助?