7.5. 创建和管理角色
Satellite 提供了一组对标准任务具有足够权限的预定义角色,如 第 7.6 节 “Satellite 中可用的预定义角色” 中列出的。也可以配置自定义角色,并为它们分配一个或多个权限过滤器。权限过滤器定义允许进行某些资源类型的操作。某些 Satellite 插件会自动创建角色。
7.5.1. 创建角色
使用此流程创建角色。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 点 Create Role。
- 为角色提供一个 Name。
- 单击 Submit 以保存您的新角色。
CLI 过程
运行以下命令来创建角色:
# hammer role create --name My_Role_Name
为满足其目的,角色必须包含权限。创建角色后,进入 第 7.5.3 节 “为角色添加权限”。
7.5.2. 克隆角色
使用卫星 Web UI 克隆角色。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles,然后从所需角色右侧的下拉菜单中选择 Clone。
- 为角色提供一个 Name。
- 单击 Submit 以克隆角色。
- 点击克隆角色的名称并导航到 过滤器。
- 根据需要编辑权限。
- 单击 Submit 以保存您的新角色。
7.5.3. 为角色添加权限
使用这个流程为角色添加权限。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 从所需角色右侧的下拉列表中选择 Add Filter。
- 从下拉列表中选择 Resource type。(Miscellaneous) 组收集不与任何资源组关联的权限。
- 点击您要从 Permission 列表中选择的权限。
- 根据所选的 资源类型,您可以选择或取消选择 无限 和 覆盖 复选框。默认选择 无限 复选框,这表示在所选类型的所有资源中应用该权限。当您禁用 无限 复选框时,搜索字段 将激活。在此字段中,您可以使用 Satellite 搜索语法指定进一步过滤。更多信息请参阅 第 7.7 节 “细粒度权限过滤”。启用 覆盖 复选框时,您可以添加额外位置和组织,以允许该角色访问附加位置和机构中的资源类型;您还可以从资源类型中删除已经关联的位置和机构来限制访问权限。
- 点击 Next。
- 单击 Submit 以保存更改。
CLI 过程
列出所有可用权限:
# hammer filter available-permissions
为角色添加权限:
# hammer filter create \ --permission-ids My_Permission_ID_1,My_Permission_ID_2 \ --role My_Role_Name
有关角色和权限参数的更多信息,请输入 hammer 角色 --help
和 hammer 过滤器 --help
命令。
7.5.4. 查看角色的权限
使用卫星 Web UI 查看角色的权限。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 点所需角色右侧的 Filters 以进入 Filters 页面。
Filters 页面包含分配给根据资源类型分组的角色的权限表。也可以生成可在 Satellite 系统中使用的权限和操作的完整表。更多信息请参阅 第 7.5.5 节 “创建完全权限表”。
7.5.5. 创建完全权限表
使用 Satellite CLI 创建权限表。
流程
确保安装了所需的软件包。在 Satellite 服务器中执行以下命令:
# satellite-maintain packages install foreman-console
使用以下命令启动 Satellite 控制台:
# foreman-rake console
将以下代码插入到控制台中:
f = File.open('/tmp/table.html', 'w') result = Foreman::AccessControl.permissions {|a,b| a.security_block <=> b.security_block}.collect do |p| actions = p.actions.collect { |a| "<li>#{a}</li>" } "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>" end.join("\n") f.write(result)
以上语法创建了权限表,并将其保存到
/tmp/table.html
文件中。按
Ctrl
+D
退出 Satellite 控制台。在/tmp/table.html
的第一行中插入以下文本:<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>
在
/tmp/table.html
末尾附加以下文本:</table>
-
在 Web 浏览器中打开
/tmp/table.html
,以查看表。
7.5.6. 删除角色
使用卫星 Web UI 删除角色。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 从要删除的角色右侧的下拉列表中选择 Delete。
- 在出现的警报框中,单击 OK 以删除该角色。