身份与访问
在 WingGate 中,访问是显式授予的,不是默认隐含的。本文说明用户如何认证、身份凭据如何与资产凭据隔离,以及每个操作如何被授权链约束。
登录:密码 + MFA、SSH 公钥与外部身份
每个账号在正式使用前都要完成 MFA 引导:注册首个 MFA 因子,可选 TOTP 认证器或 passkey(WebAuthn)。本地密码登录要求 password 加上任一 active MFA 因子;配置了 passkey 时登录默认先走 passkey,TOTP 作为回退。注册 passkey 时会签发一次性恢复码,作为设备丢失时的登录兜底。从你自己的客户端发起 SSH 访问时,是对 WingGate 的 SSH 端点做公钥认证,WingGate 从不持有你的私钥。也支持通过外部身份提供方(OAuth)登录,提供方回调在服务上完成,全程不接触资产凭据。
身份凭据与资产凭据相互隔离
你的登录凭据(密码、TOTP 或 passkey、外部身份)只用于向 WingGate 认证你自己。访问目标资产所用的凭据(SSH 密钥、密码)是另一类:SSH 主机上它们保存在该资产的连接配置里,SMB / WebDAV / S3 文件后端则保存在资产引用的独立凭据记录里;两者都与你的登录会话完全分开。任何一类凭据泄露,都不会暴露另一类。
授权链:组织、项目与 Grant
组织把资产和成员组织在一起;项目圈定成员在持有 coarse 项目访问授权后可以使用的资产。授权是 (project, user) 的全数据面访问——Web 终端、SSH 客户端、文件工具与 MCP——不能按操作拆分。更细的 MCP 限制来自项目/资产 MCP 配置,不是 grant 字段。管理面动作使用固定的 Owner/Admin/Member 角色矩阵,不存在可配置的授权规则引擎。撤销授权在下一次鉴权检查时立即生效。
每种访问方式能做什么
每种访问方式的权限集是固定的。coarse grant 覆盖该项目内的全部访问方式,无法发明更宽的权限。
| 访问方式 | 能力 | 如何接入 |
|---|---|---|
| Web 终端 | 交互式终端,可配合文件工具 | 浏览器内,经服务接入 |
| SSH 客户端 | 交互式 shell,按授权范围 | 你的 SSH 客户端连 SSH 端点 |
| SSH Direct | 交互式 shell,按授权范围 | 你的 SSH 客户端连连接器的本地 SSH listener |
| MCP — 文件 | 文件工具:ls、read、fetch、upload、write、edit、mkdir、rename、delete(SSH / host 与 SMB / WebDAV / S3 共用),外加 SSH / host 上的 find、grep | MCP 客户端连连接器的 MCP ingress |
| MCP — 命令 | 一次性、非 PTY 的 shell 命令 | MCP 客户端连连接器的 MCP ingress |
| MCP — 浏览器 | 浏览器资产上的会话、标签页与页面控制,以及页面级 WebMCP 工具的发现与调用 | MCP 客户端连连接器的 MCP ingress |
| MCP — 通知 | browser.notify:向本地用户推单向系统横幅 |
MCP 客户端连连接器的 MCP ingress |
会话生命周期
每一次交互式连接都是一个有明确生命周期的会话:创建、使用中、结束。会话可以被撤销,底层连接随之断开。审计轨迹对会话及其它事件的记录方式见 审计与证据。