9.7. 细粒度权限过滤


第 9.5.3 节 “为角色添加权限” 所述,Red Hat Satellite 提供了将配置的用户权限限制为所选资源类型实例的功能。这些粒度过滤器是对 Satellite 数据库的查询,受大多数资源类型的支持。

9.7.1. 创建粒度权限过滤器

使用这个流程创建粒度过滤器。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

Satellite 不适用于创建操作的搜索条件。例如,在搜索字段中使用 name = "Default Location" 表达式限制 create_locations 操作不会阻止用户将自定义名称分配给新创建的位置。

流程

Edit Filter 页面的 Search 字段中指定查询。取消选择要激活的字段的 Unlimited 复选框。查询的格式如下:

field_name operator value
  • field_name 标记要查询的字段。可用字段名称的范围取决于资源类型。例如,分区表 资源类型提供 系列布局和 名称作为 查询参数。
  • operator 指定 field_name 之间比较的类型。如需了解适用的操作符的概述信息,请参阅 第 9.7.3 节 “支持的用于粒度搜索的 Operator”
  • value 是用于过滤的值。例如,这可以是机构的名称。支持两种类型的通配符字符:下划线(_)提供单个字符替换,而百分比符号(%)替换零个或多个字符。

对于大多数资源类型,Search 字段提供了一个显示可用参数的下拉列表。此列表显示在搜索字段中。对于很多资源类型,您可以使用逻辑运算符(如 andnothas)来组合查询。

CLI 过程

  • 要创建粒度过滤器,请输入带有 --search 选项的 hammer filter create 命令来限制权限过滤器,例如:

    # hammer filter create \
    --permission-ids 91 \
    --search "name ~ ccv*" \
    --role qa-user

此命令向 qa-user 角色添加权限,用于查看、创建、编辑和销毁内容视图,该名称只适用于以 ccv 开头的名称。

9.7.2. 使用粒度权限过滤器的示例

作为管理员,您可以允许所选用户更改环境路径的某些部分。以下过滤器允许您在应用程序生命周期的开发阶段处理内容,但内容在推送到生产后将无法访问。

9.7.2.1. 为主机资源类型应用权限

以下查询仅将为 Host 资源类型指定的任何权限应用到名为 host-editors 的组中的主机。

hostgroup = host-editors

以下查询返回了名称与 XXXXYyyyzzzz 示例字符串匹配的记录:

name ^ (XXXX, Yyyy, zzzz)

您还可以限制所选环境的权限。要做到这一点,在 Search 字段中指定环境名称,例如:

Dev

您可以在 Search 字段中使用粒度权限过滤器将用户权限限制到特定机构或位置。但是,有些资源类型提供了 GUI 替代方案,一个提供了 LocationsOrganizations 选项卡的 Override 复选框。在这些标签页中,您可以从可用机构和位置列表中选择。如需更多信息,请参阅 第 9.7.2.2 节 “创建特定于机构的管理器角色”

9.7.2.2. 创建特定于机构的管理器角色

使用 Satellite Web UI,创建仅限于名为 org-1 的单个组织的管理角色。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 克隆现有的 Organization admin 角色。从 Filters 按钮旁边的下拉列表中,选择 Clone。然后,系统会提示您插入克隆的角色的名称,如 org-1 admin
  3. 单击所需位置和组织,将它们与角色关联。
  4. 单击 Submit 以创建该角色。
  5. 单击 org-1 admin,然后单击 Filters 以查看所有相关过滤器。默认过滤器可用于大多数用例。但是,您可以选择点击 Edit 来更改每个过滤器的属性。对于某些过滤器,如果您希望角色能够访问其他位置和机构中的资源,可以启用覆盖选项。例如,通过选择 Domain 资源类型、Override 选项,然后使用 LocationsOrganizations 选项卡的其他位置和机构,允许此角色访问额外位置中的域,以及未与此角色关联的机构。您还可以点 New filter 将新过滤器与此角色关联。

9.7.3. 支持的用于粒度搜索的 Operator

表 9.1. 逻辑运算符

Operator

描述

组合搜索条件。

not

对表达式进行求反。

has

对象必须具有指定的属性。

表 9.2. 符号运算符

Operator

描述

=

等于。对文本字段区分大小写的平等比较。

!=

不等于。= 运算符的 inversion。

~

类似于。搜索不区分大小写的文本字段。

!~

类似于。~ 运算符的 inversion。

^

中。对文本字段敏感搜索的平等比较。这会生成不同的 SQL 查询,与比较 相等,对于多个值比较效率更高。

!^

不在 中。^ 运算符的 inversion。

>, >=

大于大于或等于。只支持数字字段。

<, ⇐

小于小于或等于。只支持数字字段。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.