企业功能概览
API7 网关基于 Apache APISIX 构建并运行相同的代理引擎,因此路由、上游、消费者和插件的行为相同。API7 网关在此基础上增加了网关外围的管理层:用于同时治理多个网关实例的控制面、面向运维人员和系统的身份与权限模型、记录每次配置变更的审计日志,以及用于向消费者发布 API 的开发者门户。
本页先列出该管理层提供的功能,再对两个产品进行逐项比较,帮助你判断哪一个更符合需求。
网关组
网关组将一个或多个网关实例组合成共享配置的逻辑单元,使一个控制面能够治理多个环境和地域。
组织和 RBAC
组织用于管理用户、角色和许可证,RBAC 则控制谁可以操作哪些网关组和资源。
权限策略和权限边界
权限策略定义允许的操作和资源,权限边界则限制用户无论持有何种角色都不能超过的权限上限。
控制台单点登录
通过 OIDC、SAML、LDAP 或 CAS 使用企业身份提供商登录控制台,并映射身份提供商中的角色。
审计日志
记录每项控制台、Admin API 和 ADC 操作,包括操作人、时间、资源和源 IP,且记录不可更改。
高可用性
控制面不可访问时,网关实例仍可继续处理流量,配置也可以回退到对象存储。
自定义插件
从控制台上传和管理自定义 Lua 插件,再将其分配给指定网关组和服务。
凭证
凭证将身份认证与消费者解耦,使一个消费者可以持有多个凭证,并在不中断服务的情况下轮换凭证。
匿名消费者
允许未通过身份认证的调用方以具名消费者身份访问受保护路由,通常使用低于已认证层级的限流配置。
密钥提供者
可在任意插件字段中引用 HashiCorp Vault 或 AWS Secrets Manager 中的密钥,或将密钥加密存储在 API7 网关中。
告警和联系人
超过 20 种内置事件(例如实例不健康或证书即将过期)可通过电子邮件或 Webhook 通知团队。
安全加固
敏感字段使用每个网关组独立的密钥环进行静态加密,审计日志会被脱敏,控制面到数据面的流量使用 mTLS。
合规
通过经过 FIPS 验证的 OpenSSL 3.0 实现 FIPS 140-2 Level 1,并以数据脱敏和 WAF 集成支持法规要求。
API 门户
将 API 作为产品发布,并允许开发者注册应用、订阅以及管理自己的凭证。
Apache APISIX 与 API7 网关对比
Apache APISIX 会在每个版本中持续增加功能,请查看你所运行版本的 Apache APISIX 文档。
流量处理
两个产品运行相同的数据面引擎和插件集,因此代理、负载均衡、身份认 证、转换和可观测性的行为相同。
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 协议 | HTTP、HTTPS、gRPC、TCP/UDP | 相同 |
| 内置插件 | 完整的插件集,可在插件中心浏览 | 相同 |
| 自定义插件开发 | Lua、适用于 Java、Go 和 Python 的外部插件运行器,以及 Wasm | Lua;可从控制台上传并分配给网关组。自定义插件可访问完整的网关运行时,且不在沙箱中运行 |
| 流量身份认证 | key-auth、jwt-auth、basic-auth、hmac-auth、ldap-auth、openid-connect、forward-auth 等 | 相同 |
| 凭证 | credential 资源,允许一个消费者持有多个凭证 | 相同,并可通过控制台管理 |
| 灰度发布 | traffic-split 插件,支持基于权重或条件的发布 | 相同的插件,可通过控制台配置 |
大规模管理网关
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| Admin API | 支持 | 支持,与 APISIX 兼容,并限定到网关组作用域 |
| Web 界面 | 内置控制台,通过 :9180/ui/ 提供且默认启用。它使用 Admin API Key 进行身份认证,因此任何能调用 Admin API 的人员都可以使用 | 提供用户账户、角色和 SSO 的控制台,每项操作均可追溯并记录审计日志 |
| 声明式 CLI | ADC 是由 API7 维护的 Apache-2.0 工具,可将 Apache APISIX 作为后端;控制台路线图也将其用于 GitOps 工作流。内置 apisix CLI 用于控制进程,而不是配置。独立模式还支持从磁盘加载声明式 YAML | 使用相同的 ADC 连接 API7 网关后端,并增加服务端验证、应用前差异预览,以及用于在网关组之间迁移配置的导出功能 |
| 配置存储 | 需要自行部署和运维的 etcd 集群 | PostgreSQL、MySQL 或 SQL Server。DP Manager 通过嵌入式 kine 提供兼容 etcd v3 的 API,因此无需运维 etcd 集群 |
| 部署角色 | traditional、解耦的控制面和数据面,或无 etcd 的 standalone | 解耦的控制面和数据面,支持 Helm Chart、OpenShift、AMD64 和 ARM64 上的 Docker,以及离线安装 |
| 多集群和多环境 | 面向单个集群设计。控制台路线图明确表示没有管理多个网关环境的计划 | 通过网关组让一个控制面管理多个组,每个实例只属于一个组 |
治理谁可以更改什么
这是两个产品差异最大的部分。Apache APISIX 保护其代理的流量,但不对配置网关的运维人员建模。Apache APISIX 控制台路线图明确表示,没有增加控制台登录、用户管理或按用户划分权限的计划。
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 管理员身份 | 静态 X-API-KEY,具有 admin 和 viewer 两个内置角色,其中 viewer 仅能执行读取方法 | 用户账户以及可自定义的角色 |
| 管理员单点登录 | 不提供 | OIDC、SAML、LDAP 和 CAS,并可映射身份提供商中的角色;已提供 Keycloak、Microsoft Entra ID、Google 和 Okta 的文档 |
| 用户预配 | 不提供 | SCIM,已提供 Okta 和 Microsoft Entra ID 的文档 |
| 细粒度授权 | 上述两个静态角色 | 权限策略可限定操作和资源的作用域,权限边界则限制用户无论持有何种角色都不能超过的有效权限;拒绝规则优先于允许规则 |
| 配置变更审计 | 不提供。内置日志插件记录的是代理请求,而不是 Admin API 调用 | 记录每项控制台、Admin API 和 ADC 操作,包括操作人、时间、事件类型、资源和源 IP。记录不可更改且会脱敏,保留 180 天,并可导出为 JSON 或 CSV |
密钥
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 密钥后端 | 环境变量、HashiCorp Vault、AWS Secrets Manager 和 GCP Secret Manager | 环境变量、HashiCorp Vault 和 AWS Secrets Manager;GCP Secret Manager 仍在规划中 |
| 内置密钥存储 | 不适用,密钥存储在上述后端中 | 也可将密钥存储在 API7 网关中,并按照 FIPS 140-2 标准加密 |
| 运维保护措施 | 不提供 | 控制台会列出每个密钥提供者的引用位置,并阻止会产生悬空引用的编辑或删除操作;对提供者的变更会被审计 |
弹性与运维
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 高可用性 | 在负载均衡器后部署无状态网关实例,并自行保障 etcd 集群的高可用性 | 使用相同的无状态实例;控制面通过数据库复制和多个控制台实例实现高可用,并提供多可用区与多地域部署文档 |
| 控制面中断时继续服务 | 不适用 | 实例继续使用最后已知配置提供服务;备用控制面可将配置导出到 AWS S3、兼容 S3 的存储或 Azure Blob Storage,供实例加载 |
| 告警 | 通过 prometheus 提供指标、通过 opentelemetry 提供链路追踪,并为 Kafka、Elasticsearch、Splunk 等提供日志插件;告警规则需自行构建 | 提供相同的遥测能力,并内置不健康实例数量、5xx 比率、证书将在 30 天内过期等事件,可发送到电子邮件或 Webhook 联系人 |
向开发者发布 API
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 开发者门户 | 不提供。控制台路线图明确表 示没有充当开发者门户的计划 | 提供用于发布 API 产品和审核订阅的 Provider Portal,以及供开发者注册应用、订阅、管理凭证和试用 API 的开发者门户;支持 SSO、SCIM 和动态客户端注册,并可作为内部、合作伙伴或公开门户运行 |
安全与支持
| 功能 | Apache APISIX | API7 网关 |
|---|---|---|
| 静态加密 | data_encryption 使用 AES 加密标记为 encrypt_fields 的插件字段;默认启用并带有内置密钥环,配置存储到 etcd 时生效 | 使用 AES256 加密标记为 encrypted_fields 的字段且默认启用,每个网关组使用独立密钥环;用户凭证使用 PBKDF2 加盐哈希 |
| FIPS | 不提供 | 通过经过 FIPS 验证的 OpenSSL 3.0 实现 FIPS 140-2 Level 1 |
| 合规认证 | 不适用于开源项目 | API7.ai 已通过 SOC 2 Type II、ISO/IEC 27001:2022、HIPAA 和 GDPR;请参阅合规性 |
| 安全响应 | 遵循 Apache Security Team 流程,提供 CVE 和公开的威胁模型 | 在上述基础上,提供专门的安全团队,并将安全补丁 向后移植到受支持版本 |
| 支持 | 社区邮件列表、Slack 和 GitHub Issue | 提供有明确 SLA 的专属支持团队、版本升级协助和架构评审 |
如何选择
如果一个团队运行一个集群,且所有能够访问 Admin API 的人员都可以被信任去更改任何配置,那么 Apache APISIX 已经足够。
当需求超出这一范围时,API7 网关可解决随之出现的问题:多个团队共享一套网关基础设施、不同环境需要不同权限、审计人员需要知道谁在何时更改了某条路由、身份信息来自企业目录,以及外部开发者需要订阅 API。这些需求侧重于治理而非代理,因此两个产品共享数据面,但在数据面之上的管理能力有所不同。
后续步骤
- 安装 API7 网关:开始在你的环境中部署 API7 网关。
- 安全与合规:了解身份认证、授权和合规特性。
- 核心概念:了解 API7 网关的核心抽象,例如服务、路由和插件。