ACL鉴权 - 玩转Kong插件

开启ACL建权插件

1、在服务上启用插件

$ curl -X POST http://kong:8001/services/{service}/plugins \
    --data "name=acl"  \
    --data "config.whitelist=group1, group2" \
    --data "config.hide_groups_header=true"

2、在路由上启用插件

$ curl -X POST http://kong:8001/routes/{route_id}/plugins \
    --data "name=acl"  \
    --data "config.whitelist=group1, group2" \
    --data "config.hide_groups_header=true"

3、在API上启用插件

$ curl -X POST http://kong:8001/apis/{api}/plugins \
    --data "name=acl"  \
    --data "config.whitelist=group1, group2" \
    --data "config.hide_groups_header=true"

所有插件都可以使用 http://kong:8001/plugins/ 进行通用配置。这是与任何服务、路由或消费者都无关的插件,它是“公共的”,并且将在每个请求上运行。下面是acl参数列表:

形式参数 默认值 描述
service_id 服务ID
route_id 路由ID
enabled true 是否可用.
api_id API ID
config.whitelist semi-optional 白名单,逗号分隔的任意组名的列表
config.blacklist semi-optional 黑名单,逗号分隔的任意组名的列表
config.hide_groups_header optional false 如果启用了标记(“true”),可以防止 请求将X-Consumer-Groups头部发送到上游服务的请求。

使用ACL鉴权插件

1、关联消费者

$ curl -X POST http://kong:8001/consumers/{consumer}/acls \
    --data "group=group1"

2、上游头部
如果验证通过,将会添加group到头部X-Consumer-Groups,这样你就可以识别与消费者相关的组。

3、ACL列表查询

$ curl -X GET http://kong:8001/acls

4、检索与ACL相关联的使用者

curl -X GET http://kong:8001/acls/{id}/consumer

{
   "created_at":1507936639000,
   "username":"foo",
   "id":"c0d92ba9-8306-482a-b60d-0cfdd2f0e880"
}

穿梭机:开源API网关系统(Kong教程)入门到精通

你可能感兴趣的:(ACL鉴权 - 玩转Kong插件)