第 18 章 管理用户访问权限


18.1. 在 Red Hat Advanced Cluster Security for Kubernetes 中管理 RBAC

Red Hat Advanced Cluster Security for Kubernetes (RHACS)附带基于角色的访问控制(RBAC),可用于配置角色,并授予不同用户的 Red Hat Advanced Cluster Security for Kubernetes 的不同级别访问权限。

从 3.63 版本开始,RHACS 包含一个有范围的访问控制功能,可让您配置精细的和特定权限集,以定义给定 RHACS 用户或一组用户如何与 RHACS 交互,哪些资源可以访问哪些操作。

  • 角色是 权限集和访问范围的集合。您可以通过指定规则将角色分配给用户和组。您可以在配置身份验证供应商时配置这些规则。Red Hat Advanced Cluster Security for Kubernetes 中有两种角色:

    • 由红帽创建且无法更改的系统角色。
    • 自定义角色,Red Hat Advanced Cluster Security for Kubernetes 管理员可以随时创建并更改。

      注意
      • 如果为用户分配多个角色,则它们可以访问所分配角色的组合权限。
      • 如果您的用户分配了自定义角色,并且删除该角色,则所有关联的用户都转移到您配置的最小访问角色。
  • 权限集是一组权限,用于定义角色对给定资源可以执行的操作。资源是 Red Hat Advanced Cluster Security for Kubernetes 的功能,您可以设置 view (读取)和修改(写入)权限。Red Hat Advanced Cluster Security for Kubernetes 中有两种权限集:

    • 系统权限集,由红帽创建且无法更改。
    • 自定义权限集,Red Hat Advanced Cluster Security for Kubernetes 管理员可以随时创建并更改。
  • 访问 范围是一组用户可以访问的 Kubernetes 和 OpenShift Container Platform 资源。例如,您可以定义一个访问权限范围,仅允许用户访问给定项目中 pod 的信息。Red Hat Advanced Cluster Security for Kubernetes 中有两种访问范围:

    • 系统访问范围,由红帽创建且无法更改。
    • 自定义访问范围,Red Hat Advanced Cluster Security for Kubernetes 管理员可以随时创建并更改。

18.1.1. 系统角色

Red Hat Advanced Cluster Security for Kubernetes (RHACS)包括一些默认系统角色,您可以在创建规则时应用到用户。您还可以根据需要创建自定义角色。

系统角色描述

Admin

此角色面向管理员。使用它提供对所有资源的读写访问权限。

分析

此角色适用于无法进行任何更改但可以查看所有内容的用户。使用它为所有资源提供只读访问权限。

持续集成

此角色适用于 CI (持续集成)系统,包括强制执行部署策略所需的权限集。

此角色对任何资源没有读写访问权限。您可以将此角色设置为所有用户的最低访问角色。

Sensor Creator

RHACS 使用此角色自动执行新的集群设置。它包括在安全集群中创建 Sensors 的权限。

Scope Manager

此角色包括创建和修改访问范围所需的最小权限。

漏洞管理批准器

此角色允许您提供对批准漏洞延迟或假正请求的访问。

漏洞管理请求器

此角色允许您提供对请求漏洞延迟或假正的访问。

漏洞报告 Creator

此角色允许您创建和管理调度漏洞报告的漏洞报告配置。

18.1.1.1. 查看系统角色的权限集和访问范围

您可以查看默认系统角色的权限集和访问权限范围。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access control
  2. 选择 Roles
  3. 点其中一个角色查看其详情。详情页面显示 slected 角色的权限集和访问范围。
注意

您无法修改默认系统角色的权限集和访问权限范围。

18.1.1.2. 创建自定义角色

您可以从 Access Control 视图创建新角色。

先决条件

  • 您必须具有 Admin 角色,或具有为 AuthProviderRole 资源设置权限的权限的 Admin 角色,以创建、修改和删除自定义角色。
  • 在创建角色前,您必须为自定义角色创建权限集和访问权限范围。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access Control
  2. 选择 Roles
  3. 单击 Create role
  4. 为新角色输入 NameDescription
  5. 为角色选择 Permission set
  6. 为角色选择一个 Access 范围
  7. 点击 Save

18.1.1.3. 为用户或组分配角色

您可以使用 RHACS 门户将角色分配给用户或组。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access Control
  2. 从身份验证提供程序列表中,选择身份验证提供程序。
  3. 单击 Edit minimum role 和 rules
  4. Rules 部分下,点 Add new rule
  5. 对于 Key,请从 userid, name, emailgroup 中选择一个值。
  6. 对于 Value,根据您选择的键输入用户 ID、名称、电子邮件地址或组的值。
  7. Role 下拉菜单,再选择您要分配的角色。
  8. 点击 Save

您可以为每个用户或组重复这些指令,并分配不同的角色。

18.1.2. 系统权限集

Red Hat Advanced Cluster Security for Kubernetes 包括了一些可应用到角色的默认系统权限集。您还可以根据需要创建自定义权限集。

权限集描述

Admin

提供对所有资源的读写访问权限。

分析

为所有资源提供只读访问权限。

持续集成

此权限集针对 CI (持续集成)系统,并包含强制执行部署策略所需的权限。

网络 Graph Viewer

提供查看网络图形的最小权限。

None

任何资源都不允许读和写权限。

Sensor Creator

为在安全集群中创建 Sensors 所需的资源提供权限。

18.1.2.1. 查看系统权限集的权限

您可以查看 RHACS 门户中设置的系统权限。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access control
  2. 选择 Permission set
  3. 点其中一个权限集来查看其详情。详情页面显示资源列表及其所选权限集的权限。
注意

您无法修改系统权限集的权限。

18.1.2.2. 创建自定义权限集

您可以从 Access Control 视图创建新权限集。

先决条件

  • 您必须具有 Admin 角色,或具有为 AuthProviderRole 资源设置权限的权限的 Admin 角色,以创建、修改和删除权限集。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access Control
  2. 选择 Permission set
  3. Create permissions set
  4. 为新权限集输入 NameDescription
  5. 对于每个资源,在 Access level 列下,从 No access,Read access, 或 Read and Write access 中选择其中一个权限。

    警告
    • 如果要为用户配置权限集,您必须为以下资源授予只读权限:

      • 警报
      • 集群
      • Deployment
      • 镜像
      • NetworkPolicy
      • NetworkGraph
      • 策略
      • Secret
    • 在创建新权限集时,这些权限会预先选中。
    • 如果您没有授予这些权限,用户将遇到 RHACS 门户中查看页面的问题。
  6. 点击 Save

18.1.3. 系统访问范围

Red Hat Advanced Cluster Security for Kubernetes 包括了一些您可以应用到角色的默认系统访问范围。您还可以根据需要创建自定义访问范围。

Acces 范围描述

不受限制

提供对 Red Hat Advanced Cluster Security for Kubernetes 监视器的所有集群和命名空间的访问权限。

拒绝所有

不提供任何 Kubernetes 和 OpenShift Container Platform 资源的访问权限。

18.1.3.1. 查看系统访问范围的详情

您可以查看允许且不允许在 RHACS 门户中的 Kubernetes 和 OpenShift Container Platform 资源。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access control
  2. 选择 Access scopes
  3. 点一个访问范围来查看其详情。详情页面显示集群和命名空间列表,以及所选访问范围允许哪些列表。
注意

您无法修改系统访问范围允许的资源。

18.1.3.2. 创建自定义访问范围

您可以从 Access Control 视图中创建新的访问范围。

先决条件

  • 您必须具有 Admin 角色,或具有为 AuthProviderRole 资源设置权限的权限的 Admin 角色,以创建、修改和删除权限集。

流程

  1. 在 RHACS 门户中,进入到 Platform Configuration Access control
  2. 选择 Access scopes
  3. 单击 Create access scope
  4. 为新访问范围输入 NameDescription
  5. Allowed resources 部分下:

    • 使用 Cluster filterNamespace 过滤器字段过滤列表中可见的集群和命名空间列表。
    • 展开 Cluster name 以查看该集群中的命名空间列表。
    • 要允许访问集群中的所有命名空间,请切换 Manual 选择 列中的开关。

      注意

      通过访问特定集群,用户可以访问集群范围内的以下资源:

      • OpenShift Container Platform 或 Kubernetes 集群元数据和安全信息
      • 授权集群的合规性信息
      • 节点元数据和安全信息
      • 访问该集群中的所有命名空间及其关联的安全信息
    • 要允许访问命名空间,请切换命名空间的 Manual 选择 栏中的开关。

      注意

      通过访问特定命名空间,可以访问命名空间范围内以下信息:

      • 部署的警报和违反情况
      • 镜像的漏洞数据
      • 部署元数据和安全信息
      • 角色和用户信息
      • 部署的网络图、策略和基准信息
      • 处理信息和流程基准配置
      • 对每个部署有优先级的风险信息
  6. 如果要允许根据标签访问集群和命名空间,请点击 Label selection rules 部分下的 Add label selector。然后单击 Add rule,为标签选择器指定 KeyValue 对。您可以为集群和命名空间指定标签。
  7. 点击 Save

18.1.4. 资源定义

Red Hat Advanced Cluster Security for Kubernetes 包含多个资源。下表列出了资源,并解释了带有 readwrite 权限的用户可以执行的操作。

资源读取权限写入权限

权限

查看与 Red Hat Advanced Cluster Security for Kubernetes 实例匹配的用户元数据的单点登录(SSO)和基于角色的访问控制(RBAC)规则的配置,以及访问 Red Hat Advanced Cluster Security for Kubernetes 实例的用户,包括身份验证供应商提供的元数据。

创建、修改或删除 SSO 配置及配置的 RBAC 规则。

管理

查看以下项目:

  • 数据保留、安全通知和其他相关配置的选项
  • Red Hat Advanced Cluster Security for Kubernetes 组件中的当前日志记录详细程度
  • 上传的探测文件的清单内容
  • 现有镜像扫描程序集成
  • 自动升级的状态
  • 有关 Red Hat Advanced Cluster Security for Kubernetes 服务到服务身份验证的元数据
  • 扫描程序捆绑包的内容(download)

编辑以下项目:

  • 数据保留、安全通知和相关配置
  • 日志记录级别
  • Central 中的支持软件包(上传)
  • 镜像扫描程序集成(create/modify/delete)
  • 安全集群的自动升级(启用/禁用)
  • 服务到服务身份验证凭据(revoke/re-issue)

警报

查看现有的策略违反情况。

解析或编辑策略违反情况。

CVE

只限内部使用

只限内部使用

集群

查看现有的安全集群。

添加新的安全集群并修改或删除现有集群。

Compliance

查看合规性标准和结果,以及最新的合规性运行以及相关的完成状态。

触发合规性运行。

Deployment

查看安全集群中的部署(工作负载)。

N/A

DeploymentExtension

查看以下项目:

  • 进程基准
  • 部署中的进程活动
  • 风险结果

修改以下项目:

  • 进程基准(添加或删除进程)

检测

针对镜像或部署 YAML 检查构建时间策略。

N/A

Image

查看镜像、它们的组件及其漏洞。

N/A

集成

查看以下项目:

  • 现有 API 令牌
  • 现有与自动备份系统集成,如 Amazon Web Services (AWS) S3
  • 现有镜像 registry 集成
  • 通知系统的现有集成,如电子邮件、JIRA 或 Webhook

修改以下项目:

  • API 令牌(创建新令牌或撤销现有令牌)
  • 备份集成的配置
  • 镜像 registry 集成(创建/编辑/删除)
  • 通知集成(create/edit/delete)

K8sRole

在安全集群中查看 Kubernetes RBAC 的角色。

N/A

K8sRoleBinding

查看安全集群中 Kubernetes RBAC 的角色绑定。

N/A

K8sSubject

在安全集群中查看 Kubernetes RBAC 的用户和组。

N/A

命名空间

查看安全集群中的现有 Kubernetes 命名空间。

N/A

NetworkGraph

查看安全集群中的活跃和允许的网络连接。

N/A

NetworkPolicy

查看安全集群中的现有网络策略并模拟更改。

在安全集群中应用网络策略更改。

节点

查看安全集群中的现有 Kubernetes 节点。

N/A

policy

查看现有的系统策略。

创建、修改或删除系统策略。

角色

查看现有的 Red Hat Advanced Cluster Security for Kubernetes RBAC 角色及其权限。

添加、修改或删除角色及其权限。

Secret

查看安全集群中有关 secret 的元数据。

N/A

ServiceAccount

列出安全集群中的 Kubernetes 服务帐户。

N/A

18.1.5. 身份验证和授权资源的声明配置

您可以使用声明性配置进行身份验证和授权资源,如身份验证供应商、角色、权限集和访问范围。有关如何使用声明性配置的说明,请参阅"添加资源"部分中的"使用声明性配置"。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.