【待评审】REST接口delete操作整改

评审点2:安全管理接口整改

如下功能的REST接口的DELETE方法需要整改:

(1)删除用户:/UI/Rest/AccessMgnt/Accounts/:accountid删除原uri,将原有方法归并到/UI/Rest/AccessMgnt/AccountsPOST方法下
(2)删除证书:/UI/Rest/AccessMgnt/CertMgnt/DeleteCert变更方法 DELETE->POST)
(3)删除ssh公钥:/UI/Rest/AccessMgnt/Accounts/:accountid/DeleteSSHPublicKey变更方法 DELETE->POST)
(4)删除会话:/UI/Rest/Sessions/:id删除原uri,将原有方法新增/UI/Rest/SessionsPOST方法下
(5)删除用户角色:/UI/Rest/AccessMgnt/RightManagement/:id删除原uri,将原有方法归并到/UI/Rest/AccessMgnt/RightManagementPOST方法下

(1)新增用户接口添加属性

变化类型:在原有接口POST下新增属性,并变更原有一部分属性的可选项。

原有删除用户URI/UI/Rest/AccessMgnt/Accounts/:accountid
变更资源URI/UI/Rest/AccessMgnt/Accounts
操作类型:POST(DELETE->POST)

输入参数

属性 数据类型 属性说明 取值范围 POST约束 DELETE约束
RequestMethod string 用于标识创建用户还是删除用户,默认使用POST 枚举类型:“POST”,“DELETE” 可选 可选
ID integer 用户ID 取值范围:[2, 17] 可选 必选
UserName string 用户名称 字符串长度:[1, 16] 必选 不可选
RoleID string 用户角色ID 枚举类型:“NoAccess”,“CommonUser”, “Operator”,“Administrator”,“CustomRole1”,“CustomRole2”,“CustomRole3”,“CustomRole4”,“CustomRole5”,“CustomRole6”,“CustomRole7”,“CustomRole8”,“CustomRole9”,“CustomRole10”,“CustomRole11”,“CustomRole12”,“CustomRole13”,“CustomRole14”,“CustomRole15”,“CustomRole16” 必选 不可选
Password string 用户密码 字符串长度:[1, 20] 必选 不可选
LoginInterface string 用户能够使用的登录接口 枚举类型: “Web”,“SNMP”,“IPMI”,“SSH”,“SFTP”,“Local”,“Redfish” 可选 不可选
LoginRule array 用户登录规则 枚举类型:“Rule1”,“Rule2”, “Rule3” 可选 不可选
ReauthKey string 二次鉴权密码 字符串长度:[1, 128] 必选 必选
FirstLoginPolicy number 首次登录策略 枚举类型:1,2 必选 不可选

ReqBody请求体示例(POST):

{
        "RequestMethod":"POST",(可选)
        "UserName": "test",
        "RoleID":"Administrator",
        "Password":"XXXXXX",
        "ReauthKey":"xxxxx",
        "FirstLoginPolicy":1
}

ReqBody请求体示例(DELETE):

{
        "RequestMethod":"DELETE"
        "ID": 3,
        "ReauthKey":"QWR12taWwMDA"
}

(2)变更删除证书接口方法

变化类型:操作类型变更(DELETE → POST)
资源URI:/UI/Rest/AccessMgnt/CertMgnt/DeleteCert
操作类型:POST
输入参数

属性 数据类型 属性说明 取值范围 约束
CertificateType int 删除证书类型 取值范围:[0, 4] 必选
ID int 删除的证书的ID 取值长度:[0, 32] 必选

ReqBody请求体示例:

{
	"CertificateType":0,
	"ID": 1
}

(3)变更删除ssh公钥接口方法

变化类型:操作类型变更(DELETE → POST)

资源URI:/UI/Rest/AccessMgnt/Accounts/:accountid/DeleteSSHPublicKey
操作类型:POST
输入参数

属性 数据类型 属性说明 取值范围 约束
ReauthKey string 二次鉴权密码 字符串长度:[1, 128] 必选

ReqBody请求体示例:

{
	"ReauthKey":"QWR12taWwMDA",
}

(4)新增删除用户会话接口

变化类型:新增接口
原有删除用户URI/UI/Rest/Sessions/:id
变更资源URI/UI/Rest/Sessions
操作类型:POST

输入参数

属性 数据类型 属性说明 取值范围 约束
RequestMethod string 标识用于删除会话ID 枚举类型:“DELETE” 必选
SessionId string 用户会话ID 资源树校验 必选

ReqBody请求体示例:

{
     "RequestMethod": "DELETE",
     "SessionId": "c482ad820d6453424d1af86e",
}

(5)新增用户角色接口添加属性

变化类型:新增接口属性
变更资源URI/UI/Rest/AccessMgnt/RightManagement
原有删除用户角色URI/UI/Rest/AccessMgnt/RightManagement/:id

操作类型:POST

输入参数

属性 数据类型 属性说明 取值范围 约束
RequestMethod string 用于标识创建用户角色还是删除用户角色,默认使用POST 枚举类型:“DELETE”,“POST” 可选
ID integer 用户角色ID 取值范围:[8, 20] 必选
ReauthKey string 二次鉴权密码 字符串长度:[1, 128] 必选

ReqBody请求体示例(POST):

{
      "RequestMethod":"POST",(可选)
      "ID": 10,
      "ReauthKey":"QWR12taWwMDA",
}

ReqBody请求体示例(DELETE):

{
      "RequestMethod": "DELETE"
      "ID": 10,
      "ReauthKey":"QWR12taWwMDA",
}

评审点4:能效管理接口整改

1、如下功能的REST接口的DELETE方法需要整改:

(1)原有历史功率数据Uri:/UI/Rest/System/Power/History(删除DELETE方法,将删除方法归并到POST方法下)

(1)新增下载历史功率接口属性

变化类型:新增接口属性

资源URI:/UI/Rest/System/Power/History
操作类型:POST

输入参数

属性 数据类型 属性说明 取值范围 约束
DataType string 删除数据类型 枚举类型"System",“Fan”,“Cpu”,“Memory” 必选
SystemId int 系统ID 系统ID是否存在 可选
RequestMethod string 用于标识下载历史功率接口或者删除,默认使用POST 枚举类型:“DELETE”,“POST” 必选

ReqBody请求体示例(POST):

{
    "RequestMethod":"POST",(可选)
    "DataType": "System",
    "SystemId": 1
}

ReqBody请求体示例(DELETE):

{
    "RequestMethod": "DELETE"
    "DataType": "System",
    "SystemId": 1
}

评审结论

遗留问题