5.7. 粒度权限过滤
5.7.1. 粒度权限过滤器 复制链接链接已复制到粘贴板!
如 第 5.5.3 节 “在角色中添加权限” 所述,Red Hat Satellite 提供了将配置的用户权限限制为资源类型的所选实例。这些粒度过滤器是对 Satellite 数据库的查询,并由大多数资源类型支持。
5.7.2. 创建 Granular 权限过滤器 复制链接链接已复制到粘贴板!
使用这个流程创建粒度过滤器。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
Satellite 不应用搜索条件来创建操作。例如,在搜索字段中限制 name = "Default Location" 表达式的 create_locations 操作不会阻止用户为新创建的位置分配自定义名称。
流程
在 Edit Filter 页面的 Search 字段中指定查询。取消选择该字段的附件复选框,以激活。查询具有以下格式:
field_name operator value
field_name operator value
- field_name 标记要查询的字段。可用字段名称的范围取决于资源类型。例如,分区表 资源类型提供 系列、布局和 名称作为 查询参数。
- Operator 指定 field_name 和 值 之间的比较类型。如需了解适用的操作符的概述信息,请参阅 第 5.7.4 节 “支持的 Granular Search 的 Operator”。
- value 是用于过滤的值。例如,这可以是机构的名称。支持两种类型的通配符字符:下划线(_)提供单一字符替换,而百分比符号(%)则替换零或更多字符。
对于大多数资源类型,Search 字段提供了一个下拉列表,建议可用参数。在将光标放在搜索字段中后会出现此列表。对于很多资源类型,您可以使用逻辑运算符(如 and ,not 和has)来组合查询。
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
开头的名称。
5.7.3. 使用 Granular 权限过滤器的示例 复制链接链接已复制到粘贴板!
作为管理员,您可以允许所选用户在环境路径的某些部分进行更改。以下过滤器允许您在应用程序生命周期的开发阶段使用内容,但内容在推送到生产后将无法访问。
5.7.3.1. 为主机资源类型应用权限 复制链接链接已复制到粘贴板!
以下查询将为 Host 资源类型指定的任何权限应用到名为 host-editors 的组中的主机。
hostgroup = host-editors
hostgroup = host-editors
以下查询返回与 XXXX、Yyyy 或 zzzz 示例字符串匹配的记录:
name ^ (XXXX, Yyyy, zzzz)
name ^ (XXXX, Yyyy, zzzz)
您还可以将权限限制为所选环境。要做到这一点,在 Search 字段中指定环境名称,例如:
Dev
Dev
您可以使用 Search 字段中的粒度权限过滤器将用户权限限制到特定机构或位置。但是,有些资源类型提供了 GUI 替代方案,一个提供了 Locations 和 Organizations 选项卡的 Override 复选框。在这些选项卡上,您可以从可用机构和位置列表中选择。更多信息请参阅 第 5.7.3.2 节 “创建特定于机构管理器角色”。
5.7.3.2. 创建特定于机构管理器角色 复制链接链接已复制到粘贴板!
使用 Satellite Web UI 创建仅限于一个名为 org-1 的单个机构的管理角色。
流程
- 在 Satellite Web UI 中,导航到 Administer > Roles。
- 克隆现有的 机构管理员 角色。从 过滤器 按钮旁边的下拉列表中,选择 Clone。然后,系统会提示您插入克隆的角色的名称,如 org-1 admin。
- 单击所需位置和组织,将它们与角色关联。
- 点 Submit 创建角色。
- 单击 org-1 admin,然后单击 Filters 以查看所有相关过滤器。默认过滤器适用于大多数用例。但是,您可以选择性地点击 Edit 来更改每个过滤器的属性。对于某些过滤器,如果您希望角色能够访问其他位置和机构中的资源,您可以启用 Override 选项。例如,通过选择 Domain 资源类型、覆盖 选项,然后使用位置和机构选项卡选择其他位置和 机构,您可以允许此角色访问与此角色关联的额外位置和机构中的域。您还可以点 New filter 将新过滤器与此角色关联。
5.7.4. 支持的 Granular Search 的 Operator 复制链接链接已复制到粘贴板!
Operator | 描述 |
和 | 组合了搜索条件。 |
not | 对表达式进行贡献。 |
has | 对象必须具有指定的属性。 |
Operator | 描述 |
= | 等于。文本字段不区分大小写的相等性比较。 |
!= | 不等于。= operator 的 inversion。 |
~ | 类似于。对文本字段的搜索不区分大小写。 |
!~ | 不像。~ 运算符的 inversion。 |
^ | 在 中。对文本字段的区分大小写的比较。这会生成不同的 SQL 查询,与比较 相等,并且对多个值比较效率更高。 |
!^ | 不在 中。^ 运算符的 inversion。 |
>, >= | 大于或等于,大于或等于。仅支持数字字段。 |
<, ⇐ | 小于或等于 。仅支持数字字段。 |