背景
BMC的客户配置恢复操作步骤多,方式不统一,繁琐且容易遗漏,需要支持现网场景BMC更换后的配置一键恢复能力。补齐部分仅装备定制化可配置的能力,提供配置导入导出能力
关联ISSUE
整体方案
新增配置导入导出项,补全原有部分定制能力
评审点
- 新增配置导入导出项支持导入/导出用户信息可变更状态
- 新增配置导入导出项支持导入/导出OEM用户信息
- 新增配置导入导出项支持导入/导出Redfish、Web最大会话数限制以及KVM、VNC会话超时时间
- 新增配置导入导出项支持导入/导出TLS协议支持状态
详细描述
评审点一:新增配置导入导出项支持导入/导出用户信息可变更状态
| 配置项名称 | 配置项类别 | 配置项 | 归属组件 | 取值类型 | 取值说明 | 默认值 | 导入导出类型 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 用户名可变更状态 | User | UserNameWritable | account | Boolean | true:用户名可修改 false: 用户名不可修改 |
true | ImportAndExport | 用户名是否可修改 |
| 用户登录接口可变更状态 | User | LoginInterfaceWritable | account | Boolean | true:用户登录接口可修改 false: 用户登录不可修改 |
true | ImportAndExport | 用户登录接口是否可修改 |
| 用户角色可变更状态 | User | RoleIdWritable | account | Boolean | true:用户角色可修改 false: 用户角色不可修改 |
true | ImportAndExport | 用户角色是否可修改 |
| 用户使能可变更状态 | User | EnabledWritable | account | Boolean | true:用户使能可修改 false: 用户使能不可修改 |
true | ImportAndExport | 用户使能是否可修改 |
| 用户登录规则可变更状态 | User | LoginRuleIdsWritable | account | Boolean | true:用户登录规则可修改 false: 用户登录规则不可修改 |
true | ImportAndExport | 用户登录规则是否可修改 |
配置项详情
{
"ConfigData": {
"type": "object",
"properties": {
"User": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Id": {
"type": "number",
"AttributeType": "ImportAndExport"
},
"UserName": {
"type": "string",
"AttributeType": "ImportAndExport",
"maxLength": 16,
"minLength": 0
},
"UserNameWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"LoginInterfaceWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"RoleIdWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"EnabledWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"LoginRuleIdsWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
......(其它用户配置)
},
"required": [
"Id",
"UserName"
]
}
}
}
}
}
评审点二:新增配置导入导出项支持导入/导出OEM用户信息
| 配置项名称 | 配置项类别 | 配置项 | 归属组件 | 取值类型 | 取值说明 | 默认值 | 导入导出类型 | 说明 |
|---|---|---|---|---|---|---|---|---|
| OEM用户ID | OEMUser | Id | account | integer | 101-115 | 必选项 | ImportAndExport | OEM用户ID |
| OEM用户名 | OEMUser | UserName | account | string | 长度在0-16之间 | 必选项 | ImportAndExport | OEM用户名 |
| OEM用户角色 | OEMUser | UserRoleId | account | string | 枚举类型 “NoAccess” “CommonUser” “Operator” “Administrator” “CustomRole1” “CustomRole2” “CustomRole3” “CustomRole4” “CustomRole5” “CustomRole6” “CustomRole7” “CustomRole8” “CustomRole9” “CustomRole10” “CustomRole11” “CustomRole12” “CustomRole13” “CustomRole14” “CustomRole15” “CustomRole16” |
NoAccess | ImportAndExport | OEM用户角色 |
| OEM用户权限 | OEMUser | Privilege | account | string | 与UserRoleId一致 | NoAccess | ExportOnly | OEM用户权限 |
| OEM用户使能状态 | OEMUser | IsUserEnable | account | Boolean | true:用户使能开 false:用户使能关 |
false | ExportOnly | OEM用户使能 |
| OEM用户锁定状态 | OEMUser | IsUserLocked | account | Boolean | true:用户锁定 false:用户未锁定 |
false | ExportOnly | OEM用户锁定状态 |
| OEM用户首次登录策略 | OEMUser | FirstLoginPolicy | account | string | PromptPasswordReset:提示修改密码 ForcePasswordReset:强制修改密码 |
ForcePasswordReset | ImportAndExport | 提示修改密码:用户使用初始密码首次登录时,仅提示进行修改密码,可跳过 强制修改密码:用户使用初始密码首次登录时,强制要求修改密码,并使用初始密码二次认证 |
| OEM用户登录接口 | OEMUser | LoginInterface | account | array | 数组可选值为枚举类型 “SSH” “SNMP” “Local” “Redfish” “SFTP” “Web” “IPMI” |
[“SSH”,“SNMP”,“Local”,“Redfish”,“SFTP”,“Web”,“IPMI”] | ImportAndExport | OEM用户登录接口 |
| OEM用户登录规则 | OEMUser | PermitRuleIds | account | array | 数组可选值为枚举类型 “Rule1” “Rule2” “Rule3” |
[“” ] | ImportAndExport | OEM用户登录规则 |
| OEM用户名可变更状态 | OEMUser | UserNameWritable | account | Boolean | true:用户名可修改 false: 用户名不可修改 |
true | ImportAndExport | OEM用户名是否可修改 |
| OEM用户登录接口可变更状态 | OEMUser | LoginInterfaceWritable | account | Boolean | true:用户登录接口可修改 false: 用户登录不可修改 |
true | ImportAndExport | OEM用户登录接口是否可修改 |
| OEM用户角色可变更状态 | OEMUser | RoleIdWritable | account | Boolean | true:用户角色可修改 false: 用户角色不可修改 |
true | ImportAndExport | OEM用户角色是否可修改 |
| OEM用户使能可变更状态 | OEMUser | EnabledWritable | account | Boolean | true:用户使能可修改 false: 用户使能不可修改 |
true | ImportAndExport | OEM用户使能是否可修改 |
| OEM用户登录规则可变更状态 | OEMUser | LoginRuleIdsWritable | account | Boolean | true:用户登录规则可修改 false: 用户登录规则不可修改 |
true | ImportAndExport | OEM用户登录规则是否可修改 |
配置项详情
{
"ConfigData": {
"type": "object",
"properties": {
"OEMUser": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Id": {
"type": "integer",
"AttributeType": "ImportAndExport"
},
"UserName": {
"type": "string",
"AttributeType": "ImportAndExport",
"maxLength": 16,
"minLength": 0
},
"UserRoleId": {
"type": "string",
"AttributeType": "ImportAndExport",
"enum": [
"NoAccess",
"CommonUser",
"Operator",
"Administrator",
"CustomRole1",
"CustomRole2",
"CustomRole3",
"CustomRole4",
"CustomRole5",
"CustomRole6",
"CustomRole7",
"CustomRole8",
"CustomRole9",
"CustomRole10",
"CustomRole11",
"CustomRole12",
"CustomRole13",
"CustomRole14",
"CustomRole15",
"CustomRole16"
]
},
"FirstLoginPolicy": {
"type": "string",
"AttributeType": "ImportAndExport",
"enum": [
"PromptPasswordReset",
"ForcePasswordReset"
]
},
"LoginInterface": {
"type": "array",
"AttributeType": "ImportAndExport",
"items": {
"type": "string",
"enum": [
"SSH",
"SNMP",
"Local",
"Redfish",
"SFTP",
"Web",
"IPMI"
]
}
},
"UserNameWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"LoginInterfaceWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"RoleIdWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"EnabledWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"LoginRuleIdsWritable": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
},
"required": [
"Id",
"UserName"
]
}
}
}
}
}
评审点三:新增配置导入导出项支持导入/导出Redfish、Web最大会话数限制以及KVM、VNC会话超时时间
| 配置项名称 | 配置项类别 | 配置项 | 归属组件 | 取值类型 | 取值说明 | 默认值 | 导入导出类型 | 说明 |
|---|---|---|---|---|---|---|---|---|
| Redfish最大会话数限制 | Session | RedfishSessionMaxCount | iam | integer | Redfish支持最大会话数限制 | 10 | ImportAndExport | |
| Web最大会话数限制 | Session | WebSessionMaxCount | iam | integer | Web支持最大会话数限制 | 4 | ImportAndExport | |
| KVM会话超时时间 | Session | KVMSessionTimeout | iam | integer | KVM会话超时时间 | 3600(秒) | ImportAndExport | |
| VNC会话超时时间 | Session | VNCSessionTimeout | iam | integer | VNC会话超时时间 | 3600(秒) | ImportAndExport |
配置项详情
{
"ConfigData": {
"type": "object",
"properties": {
"Session": {
"type": "object",
"properties": {
"RedfishSessionMaxCount": {
"type": "integer",
"AttributeType": "ImportAndExport"
},
"WebSessionMaxCount": {
"type": "integer",
"AttributeType": "ImportAndExport"
},
"KVMSessionTimeout": {
"type": "integer",
"AttributeType": "ImportAndExport"
},
"VNCSessionTimeout": {
"type": "integer",
"AttributeType": "ImportAndExport"
}
......(其它配置)
}
},
}
}
}
评审点四:新增配置导入导出项支持导入/导出TLS协议支持状态
历史TLS协议使能配置导入导出有SecurityEnhance.TLSVersion 配置项支持
①TLSVersion 等于0xfff8(65528) ,TLS1.2 使能关
②TLSVersion 等于0xfffc(65532) ,TLS1.2 使能开
不支持设置TLS1.2的协议支持状态,计划新增配置导入导出项TLS1_2ProtocolEnabled 收编原有的TLSVersion 配置项,当同时导入 TLS1_2ProtocolEnabled 和 TLSVersion 时,仅以 TLS1_2ProtocolEnabled 的取值生效
| 配置项名称 | 配置项类别 | 配置项 | 归属组件 | 取值类型 | 取值说明 | 默认值 | 导入导出类型 | 说明 |
|---|---|---|---|---|---|---|---|---|
| TLS1.0协议支持状态 | SecurityEnhance | TLS1_0ProtocolSupported | certificate | Boolean | true:支持TLS1.0协议 false: 不支持TLS1.0协议 |
false | ImportAndExport | TLS1.0协议支持状态 |
| TLS1.0协议使能状态 | SecurityEnhance | TLS1_0ProtocolEnabled | certificate | Boolean | true:TLS1.0协议使能开 false: TLS1.0协议使能关 |
false | ImportAndExport | TLS1.0协议使能状态 |
| TLS1.1协议支持状态 | SecurityEnhance | TLS1_1ProtocolSupported | certificate | Boolean | true:支持TLS1.1协议 false: 不支持TLS1.1协议 |
false | ImportAndExport | TLS1.1协议支持状态 |
| TLS1.1协议使能状态 | SecurityEnhance | TLS1_1ProtocolEnabled | certificate | Boolean | true:TLS1.1协议使能开 false: TLS1.1协议使能关 |
false | ImportAndExport | TLS1.1协议使能状态 |
| TLS1.2协议支持状态 | SecurityEnhance | TLS1_2ProtocolSupported | certificate | Boolean | true:支持TLS1.2协议 false: 不支持TLS1.2协议 |
true | ExportOnly | TLS1.2协议强制支持 |
| TLS1.2协议使能状态 | SecurityEnhance | TLS1_2ProtocolEnabled | certificate | Boolean | true:TLS1.2协议使能开 false: TLS1.2协议使能关 |
true | ImportAndExport | TLS1.2协议使能状态 |
| TLS1.3协议支持状态 | SecurityEnhance | TLS1_3ProtocolSupported | certificate | Boolean | true:支持TLS1.3协议 false: 不支持TLS1.3协议 |
true | ExportOnly | TLS1.3协议强制支持 |
| TLS1.3协议使能状态 | SecurityEnhance | TLS1_3ProtocolEnabled | certificate | Boolean | true:TLS1.3协议使能开 false: TLS1.3协议使能关 |
true | ExportOnly | TLS1.3协议使能强制开启 |
| GMTLS协议支持状态 | SecurityEnhance | TLS_GM_ProtocolSupported | certificate | Boolean | true:支持GMTLS协议 false: 不支持GMTLS协议 |
false | ImportAndExport | GMTLS协议支持状态 |
| GMTLS协议使能状态 | SecurityEnhance | TLS_GM_ProtocolEnabled | certificate | Boolean | true:GMTLS协议使能开 false: GMTLS协议使能关 |
false | ImportAndExport | GMTLS协议使能状态 |
配置项详情
{
"ConfigData": {
"type": "object",
"properties": {
"SecurityEnhance": {
"type": "object",
"properties": {
"TLSVersion": {
"type": "number",
"AttributeType": "ImportAndExport"
},
"TLS1_0ProtocolSupported": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS1_1ProtocolSupported": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS1_0ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS1_1ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS1_2ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ExportOnly"
},
"TLS1_2ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS1_3ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ExportOnly"
},
"TLS1_3ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ExportOnly"
},
"TLS_GM_ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ImportAndExport"
},
"TLS_GM_ProtocolEnabled": {
"type": "boolean",
"AttributeType": "ImportAndExport"
}
...... (其它配置)
}
},
}
}
}
是否准备好AI预审
是
评审结论
- 同意新增配置导入导出项 User.UserNameWritable、User.LoginInterfaceWritable 、User.RoleIdWritable、User.EnabledWritable、User.LoginRuleIdsWritable,用于配置用户属性是否可变更,取值类型为 boolean,支持导入和导出
- 同意新增配置导入导出项 OEMUser.Id、OEMUser.UserName、OEMUser.UserRoleId、OEMUser.Privilege、OEMUser.IsUserEnable、OEMUser.IsUserLocked、OEMUser.FirstLoginPolicy、OEMUser.LoginInterface、OEMUser.PermitRuleIds、OEMUser.UserNameWritable、OEMUser.LoginInterfaceWritable、OEMUser.RoleIdWritable、OEMUser.EnabledWritable、OEMUser.LoginRuleIdsWritable 用于查询和设置OEM用户信息,其中IsUserEnable和IsUserLocked仅支持导出
- 同意新增配置导入导出项 Session.RedfishSessionMaxCount、Session.WebSessionMaxCount 、Session.KVMSessionTimeout、Session.VNCSessionTimeout 用于查询和设置Redfish、Web最大会话数限制以及KVM、VNC会话超时时间,取值类型为integer,支持导入和导出
- 同意新增配置导入导出项SecurityEnhance.TLS1_0ProtocolSupported、SecurityEnhance.TLS1_0ProtocolEnabled、SecurityEnhance.TLS1_1ProtocolSupported、SecurityEnhance.TLS1_1ProtocolEnabled、SecurityEnhance.TLS1_2ProtocolSupported、 SecurityEnhance.TLS1_2ProtocolEnabled、SecurityEnhance.TLS1_3ProtocolSupported、
SecurityEnhance.TLS1_3ProtocolEnabled、SecurityEnhance.TLS_GM_ProtocolSupported、SecurityEnhance.TLS_GM_ProtocolEnabled 用于查询和设置TLS协议支持状态,取值类型为boolean,其中TLS1_3ProtocolSupported、TLS1_3ProtocolEnabled与TLS1_2ProtocolSupported仅支持导出
遗留问题
- 最大会话数配置项名称与产业对齐
结论:
RedfishMaxConcurrentSessions变更为RedfishSessionMaxCount
WebMaxConcurrentSessions变更为WebSessionMaxCount