Skip to content

部署形态

GenAuth 有两种部署形态,能力与 API 完全一致:SaaS 托管,和私有化同域旁挂。选哪个,本质上只取决于一个问题:你的委托数据、审计日志和凭证,允许离开你的环境吗?

SaaS 托管

开箱即用:接入 api.eak.eazo.ai,控制台在 dashboard.qoni.ai,零运维。

你的环境Eazo 托管(api.eak.eazo.ai)HTTPS + AK/SK:发起委托HTTPS:令牌兑换携访问令牌调用(不出你的环境)权限评估(只读集成)App你的应用与资源服务AgentHuman IAMGenAuth

关键性质一句话:GenAuth 只在授权路径上,不在数据路径上。 Agent 访问资源是 Agent → 你的 API 直连,业务数据(Agent 实际读写的资源内容)从不经过 GenAuth。出你环境的,只有完成委托与审计所需的元数据——哪个 Agent、什么范围、多长时间、哪个用户标识。

私有化同域旁挂

GenAuth 作为组件增量部署进你的 Kubernetes 环境,与既有 Human IAM(human identity and access management,你已经在用的企业身份系统)同域运行。"旁挂"三个字划清了边界:

  • 不替换:你现有的 IdP 继续作为人的身份与权限的权威源;
  • 不迁移:用户目录留在原地,GenAuth 只做只读的权限评估;
  • 不改造:既有登录、SSO、权限模型一概不动(接入路径见 接入你已有的认证体系)。
你的 Kubernetes 环境(单一信任域)授权确认(Consent)企业账号登录(OIDC 联邦)集群内调用:AK/SK(可加 mTLS)令牌兑换携访问令牌调用只读账号 + 固定视图 + 审计User(员工/终端用户)App你的应用与资源服务AgentGenAuth部署于客户环境Human IAM客户既有身份系统

两形态的业务时序只差一跳:私有化多出跳⑧——授权确认前,用户先以企业账号完成 OIDC 联邦登录,确认"张三就是你目录里的张三"。完整时序与各环节现状标注见 端到端业务时序

评审私有化方案,架构师必问三件事。逐个回答。

必答一:数据边界矩阵

先给结论:**私有化形态下,委托数据、审计日志、凭证全部留在你的环境,GenAuth 不向外回传任何业务数据。**逐类数据过一遍:

数据类别SaaS 托管私有化同域旁挂
Agent 台账(注册信息、责任人)存于托管服务留在你的环境
委托记录(授权范围、期限、Consent 记录)存于托管服务留在你的环境
令牌(委托令牌 / 访问令牌)由托管服务签发,流转于你的调用链在你的环境内签发与流转,不出域
审计日志存于托管服务,控制台可查可导出全部驻留你的环境(data residency)
用户身份与权限数据(Human IAM 侧)不迁移:GenAuth 只做评估性读取不出域:同域内只读访问
AK/SK 等服务端凭证SK 由你的服务端保管签发与保管全程在你的环境

两形态共同的底线再强调一次:业务数据永远不经过 GenAuth——它不在 Agent 与你资源服务之间的数据路径上。

必答二:服务间调用认证矩阵

私有化形态里,每一条服务间调用都要回答"凭什么认证、凭证放哪":

调用方向认证方式凭证形态与管理
App → GenAuthAK/SK 服务端认证,TLS;集群内可启用 mTLSSecret 交由你的 Secret 管理体系(Kubernetes Secret 或外部 secrets manager),支持轮换与即时吊销
Agent → GenAuth委托令牌(Delegate Token,兑换时出示)短时、缩权、可回收;Agent 侧不落任何长期凭证
Agent → 你的资源服务访问令牌:签名验证 + aud 绑定 + sub/act/scope 校验资源侧验签即可,无共享密钥(校验清单见 保护你的 API
GenAuth → Human IAM专用只读集成账号见下方"只读访问三条军规"
GenAuth 组件间同 namespace 内 mTLS(service mesh 或集群平台能力)证书由集群 PKI 统一签发与轮换

对 Human IAM 的只读访问:三条军规

架构师最警惕的一条边界:"这个新组件能不能反向掏我的身份系统?"回答是三条硬约束:

  1. 专用只读账号——GenAuth 使用独立的、最小权限的只读账号访问 Human IAM,与任何管理凭证隔离;
  2. 固定视图——只授权预先划定的只读视图或只读接口,绝不授予全库、全目录访问;优先走 API 集成,仅当你的 Human IAM 没有可用接口时才考虑数据库直读,且同样只开固定只读视图;
  3. 全程审计——每一次读取都进审计日志,读了谁的权限、什么时间、为了哪次委托,事后可查。

写入?没有这个选项。GenAuth 对 Human IAM 的访问在架构上就是单向只读。

必答三:air-gapped 离线模式

对物理隔离、零出网的环境(air-gapped),私有化形态支持完全离线运行:

  • 运行时零外部依赖:授权确认、令牌签发与兑换、验签(本地 JWKS)、审计与控制台,全部在集群内闭环,不需要任何出站连接;
  • 离线交付与升级:组件镜像与版本升级以离线包交付,导入你的私有镜像仓库后滚动更新;
  • 数据全量驻留:上一节数据边界矩阵的私有化列在 air-gapped 模式下自然成立——没有出站通道,也就没有例外。

air-gapped 的代价要说清

零出网意味着放弃托管侧的自动更新与远程支持,安全补丁的时效由你的离线升级节奏决定。把升级窗口纳入运维计划,而不是装完就忘。

怎么选

你的情况建议形态
想最快跑通、没有数据驻留(data residency)要求SaaS 托管
审计日志、委托数据、凭证必须留在自己环境私有化同域旁挂
深度复用既有 Human IAM 的身份与权限体系私有化同域旁挂
物理隔离、零出网私有化 + air-gapped 模式
运维投入最小化SaaS 托管

两形态代码零差异

API 与 SDK 完全一致,切换形态只改一处:SDK 初始化的 hosthttps://api.eak.eazo.ai 换成你集群内的 GenAuth 地址。业务代码、scope、令牌处理逻辑原样不动。

下一步