跳到主要内容

许可

按功能模块和受管主机数分四档。默认离线激活,一张 .lic 绑定一台 IPA 服务器;未激活时管理台只读。

档位

许可按功能模块和受管主机数两条轴分档,不按用户数计费。

项目专业版企业版试用
定位纯 Linux,全功能Windows AD 与 Linux 统一身份POC
受管主机上限1001000,可按需上调20
IPA 服务器数1不限1
有效期1 年1 年14 天
主机访问控制、密码策略、用户 SSH 公钥、证书签发含含含
内置 DNS、自动挂载、证书身份映射、Kerberos 票据策略含含含
AD 域信任不含含含

所有档位都包含且不受许可影响的功能:用户、主机、组、Sudo、RBAC、OTP、多 master 复制、备份恢复。

受管主机指加入域的主机数(ipa host-add 创建的对象),不含 AD 侧的机器。IPA 服务器数指安装了 IDMatrix 管理台的 FreeIPA 服务器,每台各需一张 .lic;不安装管理台的纯 FreeIPA replica 不占名额。

未激活与越界时的行为

状态管理台API 与命令行已加入域的主机
未激活、过期、指纹不符、被吊销红色横幅。所有页面可查看,不可修改写操作返回 403,错误码 4300 LicenseReadOnly登录、sudo、SSH 全部正常
已激活但操作的模块不在许可内该模块的导航项隐藏写操作返回 403,错误码 4301 LicenseModuleLocked正常
受管主机数达到上限ipa host-add 报错服务端拒绝新增主机正常
30 天内到期黄色横幅提示剩余天数正常正常

许可只控制管理员能修改的内容。已下发到主机的策略、已签发的 Kerberos 票据、已签的证书不受影响,域本身不因许可过期停止服务。证书自动续期同样不受影响(1.0.2 起;更早版本在缺少证书签发模块时续期失败)。

三层如何配合

许可三层

层位置作用
校验idmatrix-license.timer 每日执行本地验签 .lic(签名、到期、主机指纹),写入 /var/lib/idmatrix-license/status.json
闸门httpd 中 /ipa 的 WSGI 入口每个 JSON-RPC 请求先读取 status.json:只读态拒绝所有写操作,模块态拒绝未授权模块的写操作。FreeIPA 自身的服务主体(certmonger 续证、replica 通信)不经过闸门
硬顶FreeIPA 服务端插件host_add 时统计受管主机,超过 max_managed_hosts 直接拒绝

三层都以 status.json 为准。手动刷新状态不需要等每日 timer:sudo systemctl start idmatrix-license.service。

激活

默认离线,IPA 服务器不需要联网。

在管理台的 IPA Server 下打开 License Activation,复制主机指纹(64 位十六进制),发送给 Reallysec。

收到 .lic 文件后在同一页上传。服务端先验签再落盘:损坏的文件、其他机器的文件、无效内容都不会覆盖现有许可。

执行 cat /var/lib/idmatrix-license/status.json 确认 valid 为 true,mods 为购买的模块,expiry 为到期日。

激活后管理台横幅消失,此前隐藏的导航项出现,不需要刷新。命令行等价操作:

curl -sk -X POST https://<FQDN>/ipa/modern-ui/license/install --data-binary @<客户>.lic
# {"ok":true,"status":{...}}

指纹由 /etc/machine-id 派生。重装系统、更换机器、克隆虚拟机、把备份恢复到另一台机器都会改变指纹,许可失效,需用新指纹重新签发。备份恢复到同一台机器不受影响。

续期、扩容、升档

三者是同一个动作:Reallysec 对同一个指纹重签一张 .lic,修改到期日、主机上限或模块,在 License Activation 页上传覆盖。指纹不变,不需要重装或重启。管理台的门控在上传后立即重算。

在线模式

默认离线模式没有心跳、没有远程吊销、没有宽限期,到期即只读。需要远程吊销或心跳监控的客户可切换到在线模式,前提是 IPA 服务器能访问 license.reallysec.com:443,且由 Reallysec 签发在线 token 而不是 .lic。

编辑 /etc/systemd/system/idmatrix-license.service:

Environment=IDMATRIX_LICENSE_SERVER=https://license.reallysec.com
Environment=IDMATRIX_LICENSE_TOKEN=<在线 token>
Environment=IDMATRIX_LICENSE_GRACE_DAYS=3
sudo systemctl daemon-reload && sudo systemctl start idmatrix-license.service
cat /var/lib/idmatrix-license/status.json

IDMATRIX_LICENSE_GRACE_DAYS 是无法连接许可服务器后继续有效的天数,默认 3,网络不稳定的环境设为 7。只在在线模式生效。

排障

横幅或现象原因与处理
未激活未上传 .lic,或 /var/lib/idmatrix-license/ 下没有该文件
未授权在此服务器指纹不符,机器更换过或 machine-id 变化。重新签发
已到期续期
上传返回 许可证文件为空或过大curl --data-binary @ 的路径错误,读到了空文件
激活后某个页面仍不显示该模块不在 mods 中。查看 status.json,不是缓存问题
日志中查不到 LicenseModuleLocked闸门拒绝时不写 httpd 日志。判断是否被拦截只看 status.json 的 valid 和 mods
修改 service 的 env 不生效缺少 daemon-reload 与 systemctl start;timer 每天只执行一次

本页内容