Skip to content

colinleefish/s2s-api-auth-with-kong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kong API 网关原生访问控制

使用 Kong 网关原生插件进行 API 保护的完整示例。

概述

本项目演示了以下 API 保护功能:

  1. API 密钥认证 - 基于密钥的简单认证
  2. 基于路由的访问控制 - 消费者特定的端点访问权限
  3. 基于 IP 的限制 - 每个消费者的 IP 白名单
  4. 请求日志 - 带有消费者身份的完整审计跟踪

架构

客户端 ──▶ Kong 网关 ──▶ 演示服务器 (FastAPI)
           │                 │
           ▼                 ▼
         Redis            6个API端点
    (速率限制)

快速开始

# 启动服务
docker compose up -d

# 测试客户端
cd demo-client
python client.py order-inventory.yaml --test
python client.py reports-analytics.yaml --test
python client.py user-admin.yaml --test

消费者访问权限矩阵

消费者 API 允许的IP
order-inventory 订单、库存 192.168.0.0/16, 10.0.0.0/8
report-analytics 报表、分析 192.168.0.0/16, 203.0.113.0/24
user-admin 用户、管理 192.168.0.0/16, 172.16.0.0/16

服务

  • Kong 代理: 18000 (API 网关)
  • Kong 管理: 18001 (管理 API)
  • 演示服务器: 13000 (FastAPI 后端)
  • Redis: 16379 (速率限制)

主要优势

简单: 仅使用 Kong 原生插件
快速: 无外部授权调用
安全: API 密钥 + IP + 路由级访问控制
可扩展: 无数据库 Kong + Redis 速率限制

使用 Kong 原生访问控制的生产就绪 API 网关!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors