Kong保护Admin API接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kong保护Admin API接口相关的知识,希望对你有一定的参考价值。

参考技术A Kong Admin API 提供了 restful 风格的接口管理和配置服务、路由、插件、消费者和凭证,由于此 API 允许完全控制Kong,因此要保护此API防止不必要的访问,本文档介绍了一些保护 Admin API 的可能的方法

自0.12.0版本开始,默认情况下,Kong仅接受来自本地端口的请求, admin_listen 配置项的默认值

如果更改此值,确保将监听范围保持在最低限度,以避免将 Admin API 暴露给第三方,这将严重损害整个集群的安全性,例如,避免使用诸如 0.0.0.0:8001 这类的值,以免将Kong绑定到所有接口

如果 Admin API 必须在 localhost 接口之外公开,那么根据网络安全最佳实践,需要尽可能的限制网络层的访问,考虑到Kong只监听一些私有网络接口,所以可以将访问权限控制在小的 IP 集合内,这种情况下,基于主机的防火墙(iptables)在限制范围性的流入流量很有帮助,例如:

同时还鼓励使用其他控件,例如在网络设备级别应用的 ACLs,但这个不在这篇文档的讨论范围之内

Kong的路由设计允许它作为 Admin API 本身的代理,通过这种方式,Kong本身可用于为 Admin API 提供细粒度的访问控制,如此配置需要引入一个新的服务,该服务将 admin_listen 的地址定位服务的 url ,例如:

从这里开始,只需向往常一样添加安全控件即可(例如basic或者key验证,ip限制,访问控制列表)

Kong与nginx紧密结合,可以集成到自定义 Nginx 配置的环境中,通过这种方式,可以使用Nginx/OpenResty的强大功能来构建 server/location 块来实现复杂的安全/访问控制,此外还可以利用原生的 Nginx 授权和身份验证机制,ACL 模块等
有关将Kong集成到自定义Nginx配置的详细信息,可以参考Kong配置项向导中的章节

企业用户可以配置基于角色的访问控制,保护对 Admin API 的访问,RBAC 允许基于用户角色和权限模型对资源访问进行细粒度控制,用户分配一个或多个角色,每个角色有一个或多个权限,然后授予特定资源的访问权限,通过这种方式,可以强制执行对特定 Admin API 资源的细粒度控制,同时支持扩展以允许更加复杂的场景使用

以上是关于Kong保护Admin API接口的主要内容,如果未能解决你的问题,请参考以下文章

开源API网关Kong基本介绍和安装验证

怎么保护API接口只给特定的客户端使用?

Kong入门指南 - 保护您的服务

Kong入门指南 - 保护您的服务

Kong网关之负载均衡、动态路由配置

微服务Kong——添加插件