【已评审】支持BIOS启动过程禁止KVM/VNC键盘输入

关联issue支持BIOS启动过程禁止KVM/VNC键盘输入

支持BIOS启动过程禁止KVM/VNC键盘输入

背景:当前现状下,客户在交付裸金属服务时,存在BIOS启动过程中可能被修改bmc密码的隐患。
1、裸金属场景,服务器上电,此时用户可以使用客户提供包装了的VNC客户端访问物理主机资源
2、客户端可以和OS进行交互,如果在BIOS启动过程中按F11可以进入启动的BIOS菜单,可以设置BMC的密码。

因此需要提供功能标志,支持客户在BIOS启动过程禁止KVM/VNC键盘输入。用以停止KVM的热键功能。(近端的场景不考虑)

评审点1:是否同意新增资源树属性
KVM资源树path:/bmc/kepler/Managers/:Id/GraphicalConsole
KVM资源树interface:bmc.kepler.Managers.GraphicalConsole
拟新增属性:DisableKeyboardDuringBiosStartup

VNC资源树path:/bmc/kepler/Managers/:Id/VncService
VNC资源树interface:bmc.kepler.Managers.VncService
拟新增属性:DisableKeyboardDuringBiosStartup

评审点2:是否同意新增web-rest接口属性
KVM web-rest接口:https://device_ip/UI/Rest/Services/KVM
拟新增属性:DisableKeyboardDuringBiosStartup
操作类型:GET/PATCH
VNC web-rest接口:https://device_ip/UI/Rest/Services/VNC
拟新增属性:DisableKeyboardDuringBiosStartup
操作类型:GET/PATCH

评审结论

同意在资源树path:/bmc/kepler/Managers/:Id/GraphicalConsole的interface:bmc.kepler.Managers.GraphicalConsole下新增属性:DisableKeyboardDuringBiosStartup

同意在资源树path:/bmc/kepler/Managers/:Id/VncService的interface:bmc.kepler.Managers.VncService下新增属性:DisableKeyboardDuringBiosStartup

同意在web-rest接口:https://device_ip/UI/Rest/Services/KVM 新增属性:DisableKeyboardDuringBiosStartup 支持的操作类型为:GET/PATCH

同意在web-rest接口:https://device_ip/UI/Rest/Services/VNC 新增属性:DisableKeyboardDuringBiosStartup 支持的操作类型为:GET/PATCH

属性统一为:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 说明
DisableKeyboardDuringBiosStartup 新增属性 b R:ReadOnly W:KVMMgmt 掉电 false True:BIOS启动过程中不允许键盘输入False:BIOS启动过程中允许键盘输入【默认】

裸金属场景下,租户是有硬件的控制权限的,包括BIOS配置和OS安装,但是不具有BMC的访问权限(除KVM/VNC外),因此要限制的是不能通过KVM/VNC进入BIOS Setup菜单修改BMC的用户和密码,而不是完全禁止键盘输入

当前并未完全禁止键盘输入,而是在BIOS启动阶段禁止通过热键进入setup菜单