新增CTCC密码策略接口 bmc.kepler.CTCC.PasswordPolicy

密码策略资源协作接口评审

需求: [需求]: 支持密码复杂度规格要求-account-AtomGit

背景

现有账号服务提供通用密码策略,定制场景还需要补充密码字符、连续字符、禁用字符串及历史密码特征检查。为支持这些规则,同时保留非定制场景的原有行为,将定制校验放在 CTCC 组件中,账号操作继续复用 account 的实现。

整体方案概述

本次在 mdb_interface 中新增资源协作路径定义 /bmc/kepler/CTCC 和接口定义 bmc.kepler.CTCC.PasswordPolicy,由 CTCC 组件提供密码复杂度校验及历史密码管理能力。

定制场景下,新建账号和设置密码的请求先由北向调用 CTCC,完成密码规则校验后,携带原调用者上下文调用 account 执行实际操作,再通过 CTCC 将结果返回北向。

接口提供 New、ChangePwd、SetAuthenticationProtocol、Delete 四个方法,分别用于新建账号、修改密码、设置 SNMP 认证配置和删除账号。密码设置成功后由 CTCC 记录加密历史,账号删除成功后清理对应历史。account 继续负责原有权限检查、基础密码校验及账号数据保存,非定制场景沿用原有调用流程。

本次方案涉及新增接口、方法和路径定义,不新增属性、信号或错误消息。

评审点1:新增资源协作接口 bmc.kepler.CTCC.PasswordPolicy

接口描述:归属账号安全管理功能域,用于实现定制密码复杂度校验和历史密码管理。新建账号、修改密码及设置 SNMP 认证密码时,先由 CTCC 校验,校验通过后调用 account 完成操作并记录密码历史;删除账号成功后清理对应历史。

接口定义文件:mdb_interface/json/intf/mdb/bmc/kepler/CTCC/PasswordPolicy.json。

新增属性

无。

新增方法

以下请求签名不含调用者上下文。四个方法均配置 initiator: true,实际请求在业务参数前携带 a{ss} 类型的调用者上下文,并传递给 account。

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
New ysayiaii AccountId:账号 ID,0 表示自动分配;UserName:用户名;Password:初始密码,字节数组;RoleId:角色编号;LoginInterface:允许登录的接口编号数组;FirstLoginPolicy:首次登录策略编号 y AccountId:实际创建的账号 ID 校验初始密码后调用 account 创建账号,成功后记录密码历史 UserMgmt
ChangePwd yay AccountId:目标账号 ID;Password:新密码,字节数组 无 无 校验新密码后调用 account 修改密码,成功后记录密码历史 ConfigureSelf
SetAuthenticationProtocol yyss AccountId:目标账号 ID;AuthenticationProtocol:SNMP 认证算法编号;Password:认证密码,字符串;PrivacyPassword:SNMP 加密密码,字符串 无 无 校验认证密码后调用 account 设置认证配置,成功后记录密码历史;PrivacyPassword 透传给 account 处理 ConfigureSelf
Delete y AccountId:目标账号 ID 无 无 调用 account 删除账号,成功后清理该账号的密码历史 UserMgmt

角色、登录接口、首次登录策略和认证算法的编号沿用 account 定义。访问权限取自 CTCC 的 MDS 模型,account 继续执行原有权限检查。失败通过现有错误机制返回,不新增错误消息。

新增信号

无。

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/CTCC 提供上述四个方法,实现密码校验及历史管理 不涉及 接口无持久化属性;业务使用 CTCC 本地初始化标记表和历史密码表,历史密码加密保存 定制的 Web、Redfish、CLI、SNMP 对应操作改为调用 CTCC;非定制场景沿用原有入口

评审点2:新增资源协作路径定义 /bmc/kepler/CTCC

路径描述:用于提供当前 BMC 的定制密码策略能力,不按系统、管理器或机框分别创建实例,目标账号通过 AccountId 指定。

本次新增该路径的 MDB 定义,并关联密码策略接口。该路径与框架的 CTCC 应用对象路径一致,保留原有应用接口。account 的 AccountService 和账号对象路径不变。

路径定义文件:mdb_interface/json/path/mdb/bmc/kepler/CTCC/CTCC.json。

实现接口

实现接口 实现接口描述 CSR配置影响 持久化影响 其他影响
bmc.kepler.CTCC.PasswordPolicy 实现 New、ChangePwd、SetAuthenticationProtocol、Delete 四个方法 不涉及 使用本地 PasswordPolicyInitialization 初始化标记表及 CTCCPasswordHistory 历史密码表,均为掉电持久化 由 CTCC 组件实现,MDB 定义、CTCC 模型及北向映射需同步更新