安全控制

zbus通信层面支持SSL/TLS安全通道,访问控制采用基于Token的功能与数据权限控制,功能控制到zbus支持的每一个命令,数据支持到队列、消费分组各种细粒度。 安全控制为zbus开放到互联网提供了基础保障,同时zbus在不断增加其他层面的控制,诸如IP黑白名单,流量控制等等。

SSL/TLS 安全通道

zbus配置安全通道非常简单

<zbus compatible="false">   <!-- Enable compatible to zbus7 -->  

    <serverHost>0.0.0.0</serverHost>  
    <serverPort>15555</serverPort>  
    <serverName></serverName> <!-- Public IP/Domain name -->   

    <!-- 指定证书和密钥文件位置,绝对地址或者在classpath内 -->
    <sslEnabled certFile="ssl/zbus.crt" keyFile="ssl/zbus.key">true</sslEnabled> 
    .....
</zbus>

基于Token的权限控制

Token权限控制使用简洁,易于扩展,token可以非常方便的发出,收回。

模型比RBAC要稍微简洁一些,Token码可以个性化各种级别控制。操作权限中有一个特殊的操作 admin, 具备了admin,则可以支持任意operation+任意Topic、ConsumeGroup

控制示例(参考zbus.xml)

<auth enabled="true" class="">  <!--enabled需要设置为true打开权限控制>  
        <token value="admin" operation="admin"/>  <!--超级权限,慎用-->

        <token value="MyTopic_Group1" operation="declare,produce,consume,track_sub">  <!--指定操作命令-->
            <topic value="MyTopic">     <!--指定队列-->
                <consumeGroup>Group1</consumeGroup>  <!--消费分组-->
            </topic>
        </token>   

        <token value="produce_all" operation="produce,track_sub">
            <topic value="*"/>  <!-- 支持*通配符, operation也支持 -->
        </token> 
</auth>