kong gateway 授权插件配置

简介: kong gateway 授权插件配置 auth

授权就是对是否可以访问某一类资源的一个认证。Kong Gateway有一个插件库 methods of API gateway 支持大部分的授权功能的使用。

  • Key Authentication
  • Basic Authentication
  • OAuth 2.0 Authentication
  • LDAP Authentication Advanced
  • OpenID Connect

1、启用授权插件

​ API 密钥身份验证是强制执行 API 身份验证的常用方法。在密钥认证中,Kong网关用于生成API密钥并将其与消费者关联。该密钥是客户端在发出后续请求时提供的身份验证机密。Kong Gateway根据所提供密钥的有效性批准或拒绝请求。此过程可以应用于全局或单个服务和路由

翻译是个好东西,虽然我能读懂,但是自己翻译水平不行!
  • 设置消费者和key

    Kong 网关中的密钥身份验证通过使用使用者对象来工作。密钥分配给使用者,客户端应用程序在它们发出的请求中提供密钥。

    • 创建一个消费者

      curl -i -X POST http://localhost:8001/consumers/ \
        --data username=luka
    • 给消费者设置一个key

      curl -i -X POST http://localhost:8001/consumers/luka/key-auth \
        --data key=top-secret-key
    • 全局授权

      • 启用key授权

        curl -X POST http://localhost:8001/plugins/ \
            --data "name=key-auth"  \
            --data "config.key_names=apikey"
        
      • 发送一个未授权的请求

        curl -i http://localhost:8000/mock/request

        这时候返回401错误

        HTTP/1.1 401 Unauthorized
        ...
        {
            "message": "No API key found in request"
        }
        
      • 发送一个错误的key

        curl -i http://localhost:8000/mock/request \
          -H 'apikey:bad-key'

        返回401错误码

        HTTP/1.1 401 Unauthorized
        ...
        {
          "message":"Invalid authentication credentials"
        }
      • 发送一个正确的key
      curl -i http://localhost:8000/mock/request \
        -H 'apikey:top-secret-key'
  • 基于service服务的授权

       curl -X POST http://localhost:8001/services/example-service/plugins \
         --data name=key-auth
  • 基于route路由的授权
   curl -X POST http://localhost:8001/routes/example-route/plugins \
     --data name=key-auth
  • 停用插件

    • 查看所有插件,找到auth的插件id

      curl -X GET http://localhost:8001/plugins/
    • 禁用插件

      curl -X PATCH http://localhost:8001/plugins/a4995735-01cd-4f0f-a2c4-e4a2fcae5401\
        --data enabled=false
    • 验证禁用是否成功

      curl -i http://localhost:8000/mock/request
相关文章
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
1月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
37 0
|
3月前
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
4月前
|
负载均衡 应用服务中间件 API
深入理解 Nginx 与 Kong 的配置与实践
在微服务架构中,Nginx 用于配置负载均衡,如示例所示,定义上游`pay-service`包含不同权重的服务节点。Kong API 网关则通过service和route进行服务管理和路由,与Nginx的upstream和location类似。通过Kong的命令行接口,可以创建upstream、target、service和route,实现对后端服务的负载均衡和请求管理。Nginx和Kong协同工作,提供高效、灵活的API管理和流量控制。
128 1
深入理解 Nginx 与 Kong 的配置与实践
|
4月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
111 3
|
3月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
5月前
|
Java API 网络架构
Spring Cloud Gateway的高级配置与实践
Spring Cloud Gateway的高级配置与实践
|
4月前
|
Kubernetes 监控 Java
有了k8s还需要gateway网关,nacos配置中心吗
在Kubernetes环境中,服务网关(如Spring Cloud Gateway)和Nacos配置中心补充了k8s的不足。Nacos提供灵活服务路由和动态配置更新,超越k8s基础服务发现。它还支持更复杂的配置管理和实时推送,以及环境隔离和版本控制。作为服务注册中心,Nacos增强k8s服务治理能力,保持技术一致性,并提供额外的安全层及监控功能。
226 0
|
6月前
|
负载均衡 Java 网络安全
gateway基本配置
gateway基本配置
2461 4
|
5月前
|
Java Nacos Maven
Sentinel1.8.6更改配置同步到nacos(项目是Gateway)
Sentinel1.8.6 nacos springcloud springcloud-alibaba gateway
265 0