跳到主要内容

POST – 创建帐户

通过 HTTP POST 方法为 Redfish 服务创建帐户资源。

请求 URL

在创建帐户之前,请确保新帐户名和密码遵循 AccountService 中的规则,例如长度、密码复杂性、更改间隔等。
POST https://<BMC_IPADDR>/redfish/v1/AccountService/Accounts

请求正文

字段

类型

描述

UserName

字符串

新帐户名称。

Enabled

布尔

指示是否启用此帐户。

Password

字符串

新帐户密码。

RoleId

字符串

新帐户的角色 ID。

PasswordChangeRequired

布尔

首次登录时是否需要更改密码。

AccountTypes

数组

允许新帐户访问的各种管理器服务。

 

AccountTypes[N]

字符串

“Redfish”、“SNMP”、“ManagerConsole”、“IPMI”、“WebUI”

如果帐户具有 IPMI 访问权限,则应将密码设置为等于或少于 20 个字符。如果帐户具有 SNMP 访问权限,则应将 EncryptionKey 设置为等于或少于 32 个字符。此外,如果 EncryptionProtocol 不是“none”,则 AuthenticationProtocol 也不应该是“none”。

SNMP

对象

展开

当 AccountTypes 不包含“SNMP”时,此设置不可用。
 

AuthenticationProtocol

字符串

此值指示认证符合认证协议。

 

EncryptionKey

字符串

SNMPv3 的机密认证密钥。

 

EncryptionProtocol

字符串

此值指示加密符合加密协议。

响应正文

响应返回的内容与 GET 操作相同,但更新了属性。

状态代码

HTTP 状态代码错误消息 ID
500InternalError
400

CreateFailedMissingReqProperties

PropertyValueTypeError

PropertyValueFormatError

ResourceChangeRequried

NotRecommandedOperation

ForbiddenOperation

ResourceAlreadyExists

PropertyMissing

PasswordChangeRequired

示例

以下示例是 POST 正文

{
"UserName": "TempUser",
"Password": "Passw0rd4U",
"RoleId": "Administrator",
"PasswordChangeRequired": true,
"AccountTypes": [
"WebUI",
"Redfish",
"SNMP",
"ManagerConsole"
],
"SNMP": {
"AuthenticationProtocol": "HMAC_SHA96",
"EncryptionKey": "snmpPassw0rd",
"EncryptionProtocol": "CFB128_AES128"
}
}

返回以下示例 JSON 响应:

{
"HostBootstrapAccount": false,
"AccountTypes@Redfish.AllowableValues": [
"WebUI",
"Redfish",
"ManagerConsole",
"IPMI",
"SNMP"
],
"@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount",
"UserName": "TempUser",
"Locked": false,
"RoleId": "Administrator",
"Name": "User2",
"PasswordChangeRequired": true,
"Password": null,
"@odata.etag": "\"0000000000000000000000000000000032a05d16\"",
"Oem": {

},
"Enabled": true,
"SNMP": {
"EncryptionProtocol": "CFB128_AES128",
"AuthenticationProtocol": "HMAC_SHA96",
"EncryptionKey": null,
"EncryptionKeySet": true
},
"@odata.id": "/redfish/v1/AccountService/Accounts/2",
"AccountTypes": [
"WebUI",
"Redfish",
"ManagerConsole",
"SNMP"
],
"Links": {
"Role": {
"@odata.id": "/redfish/v1/AccountService/Roles/Administrator"
}
},
"Id": "2",
"Description": "This resource is used to represent an account for the manager for a Redfish implementation.",
"@odata.type": "#ManagerAccount.v1_8_1.ManagerAccount",
"PasswordExpiration": "2022-08-12T05:56:08Z"
}