背景
支持Manager下的NetworkProtocol资源中新增标准属性:HideCommunityStrings,用于指示在响应体中是否隐藏SNMP团体名信息。
关联ISSUE
[需求]: 支持Manager下的NetworkProtocol资源SNMP对象相关属性-rackmount-GitCode
整体方案
在资源协作接口bmc.kepler.Managers.NetworkProtocol.SNMP下新增属性HideCommunityStrings。用户调用NetworkProtocol资源的redfish接口时,根据该属性确定在响应体中是否隐藏SNMP团体名信息
标准资源:HideCommunityStrings
所在文件:json-schema\ManagerNetworkProtocol.v1_5_0.json
"HideCommunityStrings": {
"description": "Indicates if the community strings should be hidden.",
"longDescription": "This property shall indicate if the community strings should be hidden in responses.",
"readonly": false,
"type": [
"boolean",
"null"
],
"versionAdded": "v1_5_0"
}
评审点
在资源协作接口bmc.kepler.Managers.NetworkProtocol.SNMP下新增属性HideCommunityStrings,用于指示在NetworkProtocol资源的响应体中是否隐藏SNMP团体名信息(/redfish/v1/Managers/1/NetworkProtocol接口下SNMP.CommunityStrings属性)
详细描述
资源path:“/bmc/kepler/Managers/${ManagerId}/NetworkProtocol/SNMP”
资源interface:“bmc.kepler.Managers.NetworkProtocol.SNMP”
变化类型:新增属性
应用场景:用于指示在NetworkProtocol资源的响应体中是否隐藏SNMP团体名信息
| 属性名称 | 变化类型 | 签名 | 读写权限 | 持久化 | 变化通知 | 属性说明 | 备注 |
|---|---|---|---|---|---|---|---|
| HideCommunityStrings | 新增属性 | b | R:ReadOnly, W:UserMgmt | 掉电持久化 | true | 默认值为false,用于指示在NetworkProtocol资源的响应体中是否隐藏SNMP团体名信息 | 该属性的展示数据还与用户有关,见下表 |
说明:
1、HideCommunityStrings默认值为false,与/redfish/v1/Managers/1/SnmpService接口默认不隐藏团体名行为保持一致。
2、控制仅管理员用户可以设置HideCommunityStrings属性,避免团体名不受控的扩散。
在HideCommunityStrings对应不同取值以及不同用户角色下,HideCommunityStrings 处理策略如下:
| 属性名称 | 取值 | 用户角色 | 响应说明 |
|---|---|---|---|
| HideCommunityStrings | false | 管理员 | HideCommunityStrings返回false 可以查询到真实团体名 |
| HideCommunityStrings | false | 非管理员 | HideCommunityStrings返回null 查询到团体名为null |
| HideCommunityStrings | true | 管理员 | HideCommunityStrings返回true 查询到的团体名为null(已隐藏) |
| HideCommunityStrings | true | 非管理员 | HideCommunityStrings返回null 查询到团体名为null |
评审结论
同意资源协作接口bmc.kepler.Managers.NetworkProtocol.SNMP新增属性HideCommunityStrings,签名为b,表示是否隐藏SNMP团体名(无法通过接口查询), true表示隐藏,false表不隐藏,需要发送变化通知事件。此属性仅管理员用户可以修改,避免团体名不受控的扩散。该属性不同取值,在不同角色的用户查询时的处理策略参见详细描述。