Redfish服务权限配置

用户通过redfish设置服务器的时候,每个url都会设定支持的Http方法(GET、PATCH、POST等),但是实际上这个是不够。有的设置选项是比较重要,不同的用户对应的权限也是不一样,能够确保权限较低的用户无法操作与权限不一致的选项。

Redfish定义了一组标准角色,允许服务自定义角色,也允许客户端自定义角色。

Role name Assigned privileges
Administrator LoginConfigureManagerConfigureUsersConfigureComponentsConfigureSelf
Operator LoginConfigureComponentsConfigureSelf
ReadOnly LoginConfigureSelf

上面表格定义的角色以及角色对应的权限是固定的,不可以修改的。

权限 控制范围
Login 系统的访问基础,允许用户可以登陆到管理界面,并查看基本信息。无此权限则无法访问系统
ConfigureManager 管理器级别的高阶管理,包括配置网络设置、管理固件更新、访问系统日志等底层平台操作
ConfigureUsers 用户账户的生命周期管理,允许创建、修改、删除用户账户以及分配或修改用户角色
ConfigureComponents 服务器硬件资源的配置,允许对系统、处理器、内存等组件进行配置操作,例如调整BIOS设置或启动设置
ConfigureSelf 个人账户的自我管理,允许已登录的用户修改自己的账户信息,最典型的就是更改自己的密码

以下示例定义了在 Manager 资源上执行各种操作所需的权限。除非实现为 OperationMap 数组定义了映射覆盖,否则该操作到权限的映射将表示该服务实现中所有 Manager 资源的行为:

{
   "Entity": "Manager",
   "OperationMap": {
      "GET": [{
         "Privilege": ["Login"]
      }],
      "HEAD": [{
         "Privilege": ["Login"]
      }],
      "PATCH": [{
         "Privilege": ["ConfigureManager"]
      }],
      "POST": [{
         "Privilege": ["ConfigureManager"]
      }],
      "PUT": [{
         "Privilege": ["ConfigureManager"]
      }],
      "DELETE": [{
         "Privilege": ["ConfigureManager"]
      }]
   }
}

Reference

1 https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#privilege-model

posted @ 2026-03-02 20:17  cockpunctual  阅读(17)  评论(0)    收藏  举报