第 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 (read)并修改(write)权限。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 (持续集成)系统,包括强制执行部署策略所需的权限设置。

网络 Graph Viewer

此角色针对需要查看网络图的用户。

None

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

Sensor Creator

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

漏洞管理员

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

漏洞管理请求者

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

漏洞报告创建器

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

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

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

流程

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

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

18.1.1.2. 创建自定义角色

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

先决条件

  • 您必须具有 Admin 角色,或者 Access 资源的 read 和 write 权限,才能创建、修改和删除自定义角色。
  • 在创建角色之前,您必须创建权限集和自定义角色的访问范围。

流程

  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 and 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 角色,或者 Access 资源的 read 和 write 权限,才能创建、修改和删除权限集。

流程

  1. 在 RHACS 门户中,进入 Platform Configuration Access Control
  2. 选择 Permission set
  3. Create permissions set
  4. 为新权限集输入 NameDescription
  5. 对于每个资源,在 Access level 列下,从 No accessRead accessRead 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 角色,或者具有为 Access 资源设置了读写权限的角色,以创建、修改和删除权限集。

流程

  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 选择规则 部分下的 Add label selector。然后,点 Add rule 为标签选择器指定 KeyValue 对。您可以为集群和命名空间指定标签。
  7. 点击 Save

18.1.4. 资源定义

Red Hat Advanced Cluster Security for Kubernetes 包括许多资源。下表列出了 Red Hat Advanced Cluster Security for Kubernetes 资源,并描述了用户可以使用 readwrite 权限执行的操作。

注意
  • 为防止特权升级,当您创建新令牌时,您的角色的权限会限制您可以分配给该令牌的权限。例如,如果您只对 Integration 资源 具有读取权限,则无法创建 具有写入权限 的令牌。
  • 如果您希望自定义角色为其他用户创建令牌,您必须为该自定义角色分配所需的权限。
  • 使用短期的令牌进行机器到机器通信,如 CI/CD 管道、脚本和其他自动化。另外,使用 roxctl central login 命令进行人类到机器的通信,如 roxctl CLI 或 API 访问。
  • 大多数云服务提供商支持 OIDC 身份令牌,如 Microsoft Entra ID、Google Cloud Identity Platform 和 AWS Cognito。这些服务发布的 OIDC 身份令牌可用于 RHACS 短期访问。
资源读取权限写入权限

权限

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

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

管理

查看以下项目:

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

编辑以下项目:

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

警报

查看现有策略违反情况。

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

CVE

只限内部使用

只限内部使用

集群

查看现有的安全集群。

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

Compliance

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

触发器合规性运行。

Deployment

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

N/A

DeploymentExtension

查看以下项目:

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

修改以下项目:

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

检测

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

N/A

Image

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

N/A

集成

查看集成及其配置,包括备份、registry、镜像签名、通知系统和 API 令牌。

添加、修改和删除集成及其配置和 API 令牌。

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

WorkflowAdministration

查看所有资源集合。

添加、修改或删除资源集合。

角色

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

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

Secret

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

N/A

ServiceAccount

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

N/A

VulnerabilityManagementApprovals

查看所有待处理的延迟或假正请求的漏洞。

批准或拒绝任何待处理的延迟或假正请求,并将任何之前批准的请求移回观察到。

VulnerabilityManagementRequests

查看所有待处理的延迟或假正请求的漏洞。

请求对漏洞的延迟,将其标记为假的正状态,或者移动由同一用户重新观察到的待处理或之前批准的请求。

WatchedImage

查看取消部署并监控监控的镜像。

配置监视的镜像。

WorkflowAdministration

查看所有资源集合。

创建、修改或删除资源集合。

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

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

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.