【kong系列七】之ACL策略插件
ACL策略插件
策略分组规则:
1).为用户分配授权策略组
2).为api添加授权策略分组插件。
3).只有拥有api授权策略分组的用户才可以调用该api。
4).授权策略分组,必须建立在认证机制上,该策略生效的前提,api至少要开启任意一个auth认证插件。
使用教程:
1.创建一个ACL插件
如图,创建的分组,设置白名单open,黑名单dev-test,同时将这个插件应用到testACL这个api上。
2.反向验证
由于ACL必须和认证插件配合生效,我们选用基本认证basic-auth + ACL组合进行验证。
上一节基本认证 已经创建了basic-auth用户和秘钥:username=csOfBasic,password=testkongpwd。
我们使用上一节basic-auth创建的consumer进行访问:
basic-auth用户和秘钥:username=csOfBasic,password=testkongpwd
返回消息:{"message":"You cannot consume this service"}
用户是合法用户(已经通过了basic-auth认证),但没有权限访问 testBasicAuth(http://10.110.2.3:8000/test)这个api。
kong的认证和权限是独立的。
3.给用户分配open分组
上一节的用户,因为不属于ACL=open的策略分组,所以不能访问。
现在,我们为该basic-auth用户创建ACL分组,如下图:
也可直接使用curl方式为用户增加ACL策略
curl -X POST http://*.*.*.*:8001/consumers/consumerOfBasic/acls --data "group=open" //注意此处的 consumerOfBasic 和 basic-auth用户:username=csOfBasic的区别。
4.正向验证合法用户
再次执行,验证通过。返回结果如下: