9.7. 粒度权限过滤器
如 第 9.5.3 节 “为角色添加权限” 所述,Red Hat Satellite 提供了将配置的用户权限限制为所选资源类型的实例的能力。这些粒度过滤器是对 Satellite 数据库的查询,受到大多数资源类型的支持。
9.7.1. 创建 Granular Permission Filter 复制链接链接已复制到粘贴板!
使用这个流程创建精细的过滤器。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
Satellite 不应用搜索条件来创建操作。例如,在搜索字段中使用 name = "Default Location" 表达式的限制 create_locations 操作不会阻止用户将自定义名称分配给新创建的位置。
流程
在 Edit Filter 页面的 Search 字段中指定查询。取消选择要激活的字段的 Unlimited 复选框。查询的格式如下:
field_name operator value
field_name operator value
- field_name 标记要查询的字段。可用字段名称的范围取决于资源类型。例如,Partition Table 资源类型提供 family、布局 和 name 作为查询参数。
- Operator 指定 field_name 和 值 之间的比较类型。有关适用 Operator 的概述,请参阅 第 9.7.3 节 “支持 Granular Search 的 Operator”。
- value 是用于过滤的值。例如,这可以是组织的名称。支持两种类型的通配符字符:下划线(_)提供单个字符替换,而百分比符号(%)替换零个或多个字符。
对于大多数资源类型,Search 字段提供了一个显示可用参数的下拉列表。在将光标放在搜索字段中后会出现此列表。对于许多资源类型,您可以使用逻辑运算符(如 和 )来组合查询,而不用 和 运算符。
CLI 过程
要创建精细的过滤器,请输入带有
--search
选项的hammer filter create
命令来限制权限过滤器,例如:hammer filter create \ --permission-ids 91 \ --search "name ~ ccv*" \ --role qa-user
# hammer filter create \ --permission-ids 91 \ --search "name ~ ccv*" \ --role qa-user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
此命令向 qa-user 角色添加一个查看、创建、编辑和销毁内容视图的权限,该视图仅适用于以 ccv
开头的名称。
9.7.2. 使用 Granular 权限过滤器的示例 复制链接链接已复制到粘贴板!
作为管理员,您可以允许所选用户在环境路径的某些部分进行更改。通过以下过滤器,您可以在应用程序生命周期的开发阶段处理内容,但内容在推送到生产后将无法访问。
9.7.2.1. 为主机资源类型应用权限 复制链接链接已复制到粘贴板!
以下查询仅将为 Host 资源类型指定的权限应用到名为 host-editors 的组中的主机。
hostgroup = host-editors
hostgroup = host-editors
以下查询会返回记录名称与 XXXX、Y yyyy 或 zzzz 示例字符串匹配的记录:
name ^ (XXXX, Yyyy, zzzz)
name ^ (XXXX, Yyyy, zzzz)
您还可以将权限限制为所选环境。要做到这一点,在 Search 字段中指定环境名称,例如:
Dev
Dev
您可以使用 Search 字段中的粒度权限过滤器,将用户权限限制到特定的机构或位置。但是,一些资源类型提供了 GUI 替代方案,提供 位置和组织 选项卡的 覆盖 复选框。在这些选项卡上,您可以从可用机构和位置列表中选择。更多信息请参阅 第 9.7.2.2 节 “创建特定于组织的管理器角色”。
9.7.2.2. 创建特定于组织的管理器角色 复制链接链接已复制到粘贴板!
使用 Satellite Web UI 创建仅限于一个名为 org-1 的单个机构的管理角色。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 克隆现有的 机构管理员 角色。从 Filters 按钮旁边的下拉列表中,选择 Clone。然后,系统会提示您为克隆角色插入名称,如 org-1 admin。
- 单击所需的位置和组织,将它们与角色相关联。
- 单击 Submit 以创建该角色。
- 单击 org-1 admin,然后单击 Filters 以查看所有关联的过滤器。默认过滤器适用于大多数用例。但是,您可以选择性地点 Edit 来更改每个过滤器的属性。对于某些过滤器,如果您希望角色能够访问其他位置和机构中的资源,则可以启用 Override 选项。例如,通过选择 Domain 资源类型、Override 选项,然后使用 Locations 和 Organizations 选项卡的额外位置和组织,您可以允许此角色访问额外位置和不与此角色关联的组织中的域。您还可以单击 New filter,将新过滤器与此角色关联。
9.7.3. 支持 Granular Search 的 Operator 复制链接链接已复制到粘贴板!
操作符 | Description |
和 | 结合搜索条件. |
not | 否定一个表达式。 |
has | 对象必须具有指定的属性。 |
操作符 | Description |
= | 等于。文本字段不区分大小写的相同性比较。 |
!= | 不等于。= 运算符的一个 inversion。 |
~ | 与 类似。搜索文本字段不区分大小写的搜索。 |
!~ | 不喜欢。~ 运算符的 inversion。 |
^ | 在 中:对文本字段不区分大小写的搜索的平等比较。这会生成不同的 SQL 查询 等于 比较,并更有效地进行多个值比较。 |
!^ | 不在 中。^ 运算符的 inversion。 |
>, >= | 大于,大于或等于。仅支持数字字段。 |
<, ⇐ | 小于,小于或等于。仅支持数字字段。 |