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
相关文章
|
6月前
|
Kubernetes 负载均衡 网络协议
【Kubernetes中Gateway和ServiceEntry使用、SDS认证授权等使用】
【Kubernetes中Gateway和ServiceEntry使用、SDS认证授权等使用】
|
7月前
|
负载均衡 Java Maven
Spring Cloud Gateway 源码剖析之配置初始化
Spring Cloud Gateway 源码剖析之配置初始化
106 0
|
7月前
|
存储 Java 网络安全
SpringCloud GateWay配置(TLS 和 SSL、Http超时配置)—官方原版
SpringCloud GateWay配置(TLS 和 SSL、Http超时配置)—官方原版
216 0
|
3月前
|
前端开发 jenkins 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-3
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
63 0
|
3月前
|
jenkins Java 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-2
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0
|
3月前
|
前端开发 Java jenkins
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-1
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0
|
5月前
gateway简单配置
gateway简单配置
41 0
|
5月前
|
前端开发 jenkins 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-3
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
73 0
|
5月前
|
jenkins Java 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-2
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
58 0
|
5月前
|
前端开发 Java jenkins
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-1
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0