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

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

Red Hat Advanced Cluster Security for Kubernetes 3.63 包含范围的访问控制功能,可让您配置精细和特定的权限集,用于定义给定 Red Hat Advanced Cluster Security for Kubernetes 用户或一组用户如何与 Red Hat Advanced Cluster Security for Kubernetes 交互,以及他们可以执行的操作。

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

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

      注意
      • 如果您为用户分配多个角色,就可以访问所分配角色的组合权限。
      • 如果您为用户分配了一个自定义角色,并且删除了该角色,则所有关联的用户都会转移到您配置的最少访问角色。
  • 权限集 是定义角色在给定资源上可以执行的操作的一组权限。资源是 Red Hat Advanced Cluster Security for Kubernetes 的功能,您可以为其设置(读取)和修改(写入)权限。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 管理员可以随时创建和更改。

13.4.1. 系统角色

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

系统角色描述

Admin

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

分析师

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

持续集成

此角色针对 CI(持续集成)系统,包括实施部署策略所需的权限。

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

sensor Creator

Red Hat Advanced Cluster Security for Kubernetes 使用此角色来自动执行新的集群设置。它包含在安全集群中创建 Sensors 的权限。

Scope Manager

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

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

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Roles
  3. 点击其中一个角色来查看其详细信息。详情页面中显示了所选角色的权限集和访问范围。
注意

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

13.4.1.2. 创建自定义角色

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

先决条件

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Roles 选项卡。
  3. 单击 Add role
  4. 为新角色输入 NameDescription
  5. 为角色选择 Permission set
  6. 选择角色的 Access 范围
  7. 点击 Save

13.4.1.3. 为用户或组分配角色

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess 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

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

13.4.2. 系统权限集

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

权限集描述

Admin

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

分析师

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

持续集成

此权限集面向 CI(持续集成)系统,包括实施部署策略所需的权限。

不允许对任何资源进行读写权限。

sensor Creator

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

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

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Permission set
  3. 点击其中一个权限集来查看其详情。详情页面中显示了资源列表及其所选权限集的权限。
注意

您不能修改系统权限集的权限。

13.4.2.2. 创建自定义权限集

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

先决条件

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Permission set 选项卡。
  3. Add permissions set
  4. 输入新权限集的 NameDescription
  5. 对于每个资源,在 Access level 列下,从 No access,Read access,Read and Write access 中选择其中一个权限。

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

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

13.4.3. 系统访问范围

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

acces 范围描述

unrestricted

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

拒绝所有

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

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

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Access Scopes
  3. 点击其中一个访问范围来查看其详细信息。详情页面显示集群和命名空间列表,以及允许哪些命名空间用于所选访问范围。
注意

您不能修改系统访问范围允许的资源。

13.4.3.2. 创建自定义访问范围

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

先决条件

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

流程

  1. 在 RHACS 门户网站中,导航至 Platform ConfigurationAccess control
  2. 选择 Access scope 选项卡。
  3. 单击 Add access scope
  4. 为新访问范围输入 NameDescription
  5. Allowed resources 部分:

    • 使用 Cluster filterNamespace 过滤器框,过滤列表中可见的集群和命名空间列表。
    • 展开 & lt;Cluster_name > 以查看该集群中的命名空间列表。
    • 打开集群的 Manual 选择 栏下切换,允许访问该集群中的所有命名空间。

      注意

      对特定集群的访问可让用户在集群范围内访问以下资源:

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

      注意

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

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

13.4.4. 资源定义

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

资源读取权限写入权限

APIToken

列出现有的 API 令牌。

创建新的 API 令牌或撤销现有的令牌。

警报

查看现有策略违反情况。

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

AuthPlugin

查看现有的验证插件

修改这些配置。(仅限本地管理员。)

AuthProvider

查看单点登录的现有配置。

修改这些配置。

BackupPlugins

查看现有与自动备份系统(如 AWS S3)的集成。

修改这些配置。

CVE

只限内部使用

只限内部使用

集群

查看现有的安全集群。

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

合规性

查看合规标准和结果。

N/A

ComplianceRunSchedule

查看调度的合规性运行。

创建、修改或删除调度的合规性运行。

ComplianceRuns

查看最近的合规性运行及其完成状态。

触发合规性运行。

config

查看数据保留、安全通知和其他相关配置的选项。

修改这些配置。

DebugLogs

查看 Red Hat Advanced Cluster Security for Kubernetes 组件中的当前日志详细程度。

修改日志级别。

Deployment

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

N/A

检测

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

N/A

查看将用户元数据与 Red Hat Advanced Cluster Security for Kubernetes 角色匹配的现有 RBAC 规则。

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

镜像

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

N/A

ImageComponent

只限内部使用

只限内部使用

ImageIntegration

列出现有镜像 registry 集成。

创建、编辑或删除镜像 registry 集成。

ImbuedLogs

只限内部使用

只限内部使用

指示符

查看部署中的进程活动。

N/A

K8sRole

查看安全集群中 Kubernetes 基于角色的访问控制的角色。

N/A

K8sRoleBinding

查看安全集群中 Kubernetes 基于角色的访问控制的角色绑定。

N/A

K8sSubject

查看安全集群中 Kubernetes 基于角色的访问控制的用户和组。

N/A

许可证

查看 Red Hat Advanced Cluster Security for Kubernetes 现有许可证的状态。

上传新的许可证密钥。

命名空间

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

N/A

NetworkGraph

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

N/A

NetworkPolicy

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

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

节点

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

N/A

notifier

查看通知系统(如电子邮件、JIRA 或 Webhook)的现有集成。

创建、修改或删除这些集成。

策略

查看现有系统策略。

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

ProbeUpload

上传的探测文件读取清单。

将支持软件包上传到 Central。

ProcessWhitelist

查看进程基线.

在基线中添加或删除进程。

风险

查看风险结果。

N/A

角色

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

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

ScannerBundle

下载扫描程序捆绑包。

N/A

ScannerDefinitions

列出现有镜像扫描程序集成。

创建、修改或删除镜像扫描程序集成。

Secret

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

N/A

SensorUpgradeConfig

检查自动升级的状态。

为安全集群禁用或启用自动升级。

ServiceAccount

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

N/A

ServiceIdentity

查看 Red Hat Advanced Cluster Security for Kubernetes 服务到服务身份验证的元数据。

撤销或重新发出服务到服务身份验证凭据。

User

查看已访问 Red Hat Advanced Cluster Security for Kubernetes 实例的用户,包括身份验证供应商为它们提供的元数据。

N/A