English日本語

文档 · 1.0

账号、令牌与权限

这一章讲谁能登录 keelOS、能做什么:管理员密码、API 令牌、网页登录、审计日志,以及用办公室账号(keelAuth)登录 keelOS。办公室统一账号的部署也在这里(账号 菜单)。

1. 谁能进来

keelOS 的网页和 API 有三种进门方式:

方式 用在哪 在哪管
管理员密码 网页登录页的密码登录 系统 → 令牌,见 §2
API 令牌 脚本、监控、kRDPclient、管理端 系统 → 令牌,见 §3
keelAuth 账号 办公室的人用自己的账号登录网页 系统 → keelAuth 登录,见 §6

每种方式进来之后都带着一组权限,页面上只显示这组权限允许的东西。没有权限看的标签不出现;只读账户只能看,不能改。

注意:下面的 系统 标签按权限出现:令牌、网页登录、keelAuth 登录 要有 token:admin;审计日志 要有 log:read;其余见各章。一个标签都看不到时页面写"这一页需要管理员令牌"。

2. 管理员密码

管理员密码就是这台主机 root 的密码:网页的密码登录、主机控制台和 ssh 都用它。已有的登录和令牌不受影响。

  1. 打开 系统 → 令牌。
  2. 点 设置管理员密码(已有密码时是 修改管理员密码,要先输 当前密码)。
  3. 输 新密码 和 再输一次新密码,点 保存。密码至少 8 个字符。

注意:不管 keelAuth 怎样,管理员密码一直能用。keelAuth 出了问题、或者忘了某个令牌,都可以用它进来。

3. 令牌

令牌是给程序用的钥匙:脚本、监控、kRDPclient、keel 管理端都用令牌连主机。系统 → 令牌 列出所有令牌:ID、名字、权限、生成(时间和由谁生成)、最后使用(时间和来源地址)、到期。

生成令牌

  1. 点 新令牌。
  2. 名字:不填就用 token-日期-时间。
  3. 用途:选一个,下面的说明和权限随之变化:
用途 能做什么
远程桌面客户端(kRDPclient、mstsc) 列出虚拟机、打开画面、电源按钮、共享 USB 设备。
管理端(keel manager) 除令牌和主机 shell 以外的全部。在 管理端 标签里把主机交给管理端时会自动生成这种令牌。
监控、脚本(只读) 只看:虚拟机、镜像、主机和它的日志。
管理员(全部权限) 全部权限,和管理员登录一样。
其他(自己勾选权限) 自己勾这个令牌能做的事。
  1. 选 其他 时,勾 权限(至少一项):
权限 允许
vm:read 列出、查看虚拟机
vm:power 开机、关机、复位
vm:console 画面和控制台
vm:input 经 API 在虚拟机里打字、点鼠标(自动化)
vm:snapshot 快照和克隆
vm:usb 往虚拟机里插 USB 设备
vm:write 新建、修改虚拟机
vm:delete 删除虚拟机
image:read 查看镜像
image:write 上传、删除镜像
host:read 查看主机
log:read 主机日志和诊断包
host:write 主机设置、升级、重启
token:admin 令牌和网页登录
  1. 只允许这些地址(可选,CIDR):填 192.168.1.0/24 这样的网段(可以多个),令牌只在这些地址上有效。不填就不限。
  2. 到期:不过期,或 1d、7d、30d、365d。
  3. 点 生成令牌。

新令牌 只显示这一次:请现在点 复制。keel 只保存它的哈希,丢了只能吊销重建。用途选 kRDPclient 时,还会给出 kRDPclient 连接串(地址、证书和令牌合在一起),粘贴到 kRDPclient 的添加主机对话框,或点 用 kRDPclient 打开;它也只显示这一次。

只管部分虚拟机或标签的令牌,网页上还没有,在主机上用命令 keel token create --vm … 或 --tag …,见命令行 keel。

吊销令牌

点令牌那一行的 吊销,确认。令牌立刻失效,用它登录的网页登录也一起结束。

4. 网页登录

系统 → 网页登录 列出现在有效的网页登录:令牌(用哪个令牌或账号登录的)、来源(地址)、浏览器、登录时间、最后使用。你现在这一个标着 本浏览器。点别的行的 结束,那个浏览器马上要重新登录。

怀疑密码或令牌泄露时:先吊销令牌或改密码,再到这里结束可疑的登录。

5. 审计日志

系统 → 审计日志 记录谁在什么时候做了什么:改设置、开关机、建删虚拟机、生成和吊销令牌、显示 keelAuth 恢复密钥……每一条有 时间、令牌(谁)、来源(地址)、操作、对象、结果;失败的结果标成醒目的颜色。要 log:read 权限。

  • 最新的在最上面,一页 100 条,用 较新 / 较早 翻页。
  • 搜索框(搜索(令牌、地址、操作、对象、结果))按文字找。
  • 从 / 到 选时间范围,今天、最近 7 天 一键填好;只看失败的 只留失败的;清除 去掉所有条件。
  • 时间按主机设置的时区显示,见系统:维护、时间与主机终端。

6. 用 keelAuth 账号登录 keelOS

办公室有 keelAuth(见 §7)时,办公室的人可以用自己的账号登录 keelOS,不用另发密码或令牌。

  1. 先在 账号 菜单部署一台 keelAuth。keel 会自己在 keelAuth 里登记,登录页上就多了 用 … 登录。
  2. 打开 系统 → keelAuth 登录。状态 显示 已开启:登录页提供 …。想暂时不让人用 keelAuth 登录,点 关闭(再点 开启)。
  3. 在 谁能做什么 里设置 keelAuth 的组对应 keelOS 里的哪一级权限。点 修改,在 组和权限 对话框里 加一个组,写组名,选权限,保存:
级别 能做什么
管理员(全部) 全部。
管理(令牌、登录和主机控制台以外的全部) 除令牌、网页登录、主机控制台以外的全部。
操作(开关机、控制台、快照) 开关机、控制台、快照。
监看(查看、日志) 只看,加日志。
只读(查看) 只看。
  1. 组还没在 keelAuth 里建时,表里 keelAuth 里 一列写 没有,点 建好缺的组。
  2. 在 keelAuth 里把人放进这些组。他们在 keelOS 登录页点 用 … 登录,在 keelAuth 的登录页输自己的账号。

要点:

  • 在几个组里的人取最高的权限;一个组都不在的人不能登录。
  • 权限 15 分钟内跟上 keelAuth:移出组、停用或删除账号,登录就结束。
  • keelAuth 登录页在 keelOS 自己的地址上打开,不需要为它加 DNS 记录或证书。
  • keelAuth 没有应答时,登录页提示用管理员密码登录。
  • 有多台 keelAuth 时用 用哪个 keelAuth 选一台。keel 在 keelAuth 里的客户端 一行显示登记状态;写 未登记 时点 重新登记。

注意:用 keelAuth 登录的人退出时,keelOS 会问只退出 keelOS(退出 keel),还是连 keelAuth 一起退出(连 keelAuth 一起退出)。公用电脑选后者。

7. 账号菜单:keelAuth

左边菜单的 账号 是 keelAuth:办公室的账号服务器,跑在这台主机的一台虚拟机里。用户和组只在一处管理;设备和程序经 LDAP、网页应用经单点登录(OIDC)、Wi-Fi 和 VPN 经 RADIUS 来用这些账号;keelNAS 也用它的用户。

部署

没有 keelAuth 时,页面写"这台主机上没有 keelAuth"。

  1. 需要 keelAuth 的软件包。主机上没有时,按钮是 到市场里获取 keelAuth,到市场装好后回来。
  2. 点 部署一台 keelAuth,填: - 名字。 - keelAuth 版本。 - 网络,和 网络上的地址:固定地址(推荐:设备要填这个地址)(再填 地址和前缀 如 192.168.1.30/24、网关、DNS 服务器),或 DHCP(在路由器上给它保留地址)。设备要填 keelAuth 的地址,所以应当固定。固定地址时浏览器和应用直接用 IP 访问,不需要 DNS,但 passkey 不可用;用 DHCP 时域名必须能解析。 - 名字(DNS):keelAuth 用这个名字应答,证书上也是它;请在办公室的 DNS 里加上。以后不容易改。 - 内存(不填用默认的 0.5 GiB)。
  3. 点 部署并启动。keel 生成第一个管理员,弹出 keelAuth 的第一个管理员,列出 用户名、密码、它的页面。密码只显示这一次,请记下,点 已记下。

虚拟机一般不到一分钟就起来,页面会写 keelAuth 正在启动,好了自己出现。

日常使用

keelAuth 起来后,账号 页面里显示的就是 keelAuth 自己的管理页面:加、删、停用用户,设组,登记 LDAP 设备、单点登录应用和 RADIUS 客户端(Wi-Fi 的接入点、VPN),上传办公室自己的证书。keelOS 在进入时已经替你登录了,不用再输密码;直接在办公室里打开 keelAuth 自己的页面时才要用第一个管理员的账号。想要大一点的窗口点 在新窗口打开。

有多台 keelAuth 时,先看到列表,点一台进去,用 全部 keelAuth 回来。

页头上还有(要主机写权限):

  • 恢复密钥:keelAuth 把 Wi-Fi 和共享用的密码哈希用一把只有这台主机能打开的密钥加密。要在另一台主机上(或这台重装以后)恢复 keelAuth 的备份,需要这个恢复密钥。点 显示恢复密钥(这会记进审计日志),复制 或 下载,和备份一起保管但不要放在同一个地方:两样都拿到的人能读出密码哈希。
  • 重命名、删除。删除 会连虚拟机和所有磁盘一起删掉,所有账号也没了,不能恢复。
  • keelAuth 不应答时,页面按原因写:keelAuth 已关机(点 启动 keelAuth)、keelAuth 已挂起(恢复 keelAuth)、虚拟机已被删除、或 keelAuth 没有应答(重试,或到 虚拟机 里看它)。忘掉这台 keelAuth 只让这个页面不再管它,虚拟机和账号都留着。

升级 keelAuth

有新版本时卡片上显示 可以升级,页头有 升级… 按钮。keel 把 keelAuth 关机,把系统盘换成新版本的,再启动;账号、组、密码、证书和地址都在它的数据盘上,不变。登录(LDAP、RADIUS、单点登录)大约一分钟用不了。新版本起来后不正常的话,keel 自己换回旧版本并说明原因。

旧版本保留 7 天:点 回退 回去(升级以后改的用户、组和密码会丢失),或点 保留这个版本 删掉旧版本。

8. 1.0 的限制

  • 令牌只能按权限和来源网段限制;只管部分虚拟机的令牌要用命令行。
  • 没有 keelOS 自己的用户列表:多人使用靠 keelAuth 的组,或者每人一个令牌。