15.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 的功能,您可以设置 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 管理员可以随时创建并更改。
15.4.1. 系统角色 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes (RHACS)包括一些默认系统角色,您可以在创建规则时应用到用户。您还可以根据需要创建自定义角色。
系统角色 | 描述 |
---|---|
Admin | 此角色面向管理员。使用它提供对所有资源的读写访问权限。 |
分析 | 此角色适用于无法进行任何更改但可以查看所有内容的用户。使用它为所有资源提供只读访问权限。 |
持续集成 | 此角色适用于 CI (持续集成)系统,包括强制执行部署策略所需的权限集。 |
无 | 此角色对任何资源没有读写访问权限。您可以将此角色设置为所有用户的最低访问角色。 |
Sensor Creator | RHACS 使用此角色自动执行新的集群设置。它包括在安全集群中创建 Sensors 的权限。 |
Scope Manager | 此角色包括创建和修改访问范围所需的最小权限。 |
漏洞管理批准器 | 此角色允许您提供对批准漏洞延迟或假正请求的访问。 |
漏洞管理请求器 | 此角色允许您提供对请求漏洞延迟或假正的访问。 |
漏洞报告 Creator | 此角色允许您创建和管理调度漏洞报告的漏洞报告配置。 |
15.4.1.1. 查看系统角色的权限集和访问范围 复制链接链接已复制到粘贴板!
您可以查看默认系统角色的权限集和访问权限范围。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access control。 - 选择 Roles。
- 点其中一个角色查看其详情。详情页面显示 slected 角色的权限集和访问范围。
您无法修改默认系统角色的权限集和访问权限范围。
15.4.1.2. 创建自定义角色 复制链接链接已复制到粘贴板!
您可以从 Access Control 视图创建新角色。
先决条件
-
您必须具有 Admin 角色,或具有为
AuthProvider
和Role
资源设置权限的权限的 Admin 角色,以创建、修改和删除自定义角色。 - 在创建角色前,您必须为自定义角色创建权限集和访问权限范围。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access Control。 - 选择 Roles。
- 单击 Create role。
- 为新角色输入 Name 和 Description。
- 为角色选择 Permission set。
- 为角色选择一个 Access 范围。
- 点击 Save。
15.4.1.3. 为用户或组分配角色 复制链接链接已复制到粘贴板!
您可以使用 RHACS 门户将角色分配给用户或组。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access Control。 - 从身份验证提供程序列表中,选择身份验证提供程序。
- 单击 Edit minimum role 和 rules。
- 在 Rules 部分下,点 Add new rule。
-
对于 Key,请从
userid
,name
,email
或group
中选择一个值。 - 对于 Value,根据您选择的键输入用户 ID、名称、电子邮件地址或组的值。
- 点 Role 下拉菜单,再选择您要分配的角色。
- 点击 Save。
您可以为每个用户或组重复这些指令,并分配不同的角色。
15.4.2. 系统权限集 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes 包括了一些可应用到角色的默认系统权限集。您还可以根据需要创建自定义权限集。
权限集 | 描述 |
---|---|
Admin | 提供对所有资源的读写访问权限。 |
分析 | 为所有资源提供只读访问权限。 |
持续集成 | 此权限集针对 CI (持续集成)系统,并包含强制执行部署策略所需的权限。 |
无 | 任何资源都不允许读和写权限。 |
Sensor Creator | 为在安全集群中创建 Sensors 所需的资源提供权限。 |
15.4.2.1. 查看系统权限集的权限 复制链接链接已复制到粘贴板!
您可以查看 RHACS 门户中设置的系统权限。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access control。 - 选择 Permission set。
- 点其中一个权限集来查看其详情。详情页面显示资源列表及其所选权限集的权限。
您无法修改系统权限集的权限。
15.4.2.2. 创建自定义权限集 复制链接链接已复制到粘贴板!
您可以从 Access Control 视图创建新权限集。
先决条件
-
您必须具有 Admin 角色,或具有为
AuthProvider
和Role
资源设置权限的权限的 Admin 角色,以创建、修改和删除权限集。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access Control。 - 选择 Permission set。
- 点 Create permissions set。
- 为新权限集输入 Name 和 Description。
对于每个资源,在 Access level 列下,从
No access
,Read access
, 或Read and Write access
中选择其中一个权限。警告如果要为用户配置权限集,您必须为以下资源授予只读权限:
-
警报
-
集群
-
Deployment
-
镜像
-
NetworkPolicy
-
NetworkGraph
-
策略
-
Secret
-
- 在创建新权限集时,这些权限会预先选中。
- 如果您没有授予这些权限,用户将遇到 RHACS 门户中查看页面的问题。
- 点击 Save。
15.4.3. 系统访问范围 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes 包括了一些您可以应用到角色的默认系统访问范围。您还可以根据需要创建自定义访问范围。
Acces 范围 | 描述 |
---|---|
不受限制 | 提供对 Red Hat Advanced Cluster Security for Kubernetes 监视器的所有集群和命名空间的访问权限。 |
拒绝所有 | 不提供任何 Kubernetes 和 OpenShift Container Platform 资源的访问权限。 |
15.4.3.1. 查看系统访问范围的详情 复制链接链接已复制到粘贴板!
您可以查看允许且不允许在 RHACS 门户中的 Kubernetes 和 OpenShift Container Platform 资源。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access control。 - 选择 Access scopes。
- 点一个访问范围来查看其详情。详情页面显示集群和命名空间列表,以及所选访问范围允许哪些列表。
您无法修改系统访问范围允许的资源。
15.4.3.2. 创建自定义访问范围 复制链接链接已复制到粘贴板!
您可以从 Access Control 视图中创建新的访问范围。
先决条件
-
您必须具有 Admin 角色,或具有为
AuthProvider
和Role
资源设置权限的权限的 Admin 角色,以创建、修改和删除权限集。
流程
-
在 RHACS 门户中,进入到 Platform Configuration
Access control。 - 选择 Access scopes。
- 单击 Create access scope。
- 为新访问范围输入 Name 和 Description。
在 Allowed resources 部分下:
- 使用 Cluster filter 和 Namespace 过滤器字段过滤列表中可见的集群和命名空间列表。
- 展开 Cluster name 以查看该集群中的命名空间列表。
要允许访问集群中的所有命名空间,请切换 Manual 选择 列中的开关。
注意通过访问特定集群,用户可以访问集群范围内的以下资源:
- OpenShift Container Platform 或 Kubernetes 集群元数据和安全信息
- 授权集群的合规性信息
- 节点元数据和安全信息
- 访问该集群中的所有命名空间及其关联的安全信息
要允许访问命名空间,请切换命名空间的 Manual 选择 栏中的开关。
注意通过访问特定命名空间,可以访问命名空间范围内以下信息:
- 部署的警报和违反情况
- 镜像的漏洞数据
- 部署元数据和安全信息
- 角色和用户信息
- 部署的网络图、策略和基准信息
- 处理信息和流程基准配置
- 对每个部署有优先级的风险信息
- 如果要允许根据标签访问集群和命名空间,请点击 Label selection rules 部分下的 Add label selector。然后单击 Add rule,为标签选择器指定 Key 和 Value 对。您可以为集群和命名空间指定标签。
- 点击 Save。
15.4.4. 资源定义 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes 包含多个资源。下表列出了资源,并解释了带有 read
或 write
权限的用户可以执行的操作。
资源 | 读取权限 | 写入权限 |
---|---|---|
APIToken | 列出现有的 API 令牌。 | 创建新的 API 令牌或撤销现有的令牌。 |
警报 | 查看现有的策略违反情况。 | 解析或编辑策略违反情况。 |
AuthPlugin | 查看现有的验证插件 | 修改这些配置。(仅限本地管理员。) |
AuthProvider | 查看单点登录的现有配置。 | 修改这些配置。 |
BackupPlugins | 查看现有与自动备份系统集成,如 AWS S3。 | 修改这些配置。 |
CVE | 只限内部使用 | 只限内部使用 |
集群 | 查看现有的安全集群。 | 添加新的安全集群并修改或删除现有集群。 |
Compliance | 查看合规性标准和结果. | 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 命名空间。 | 不适用 |
NetworkGraph | 查看安全集群中的活跃和允许的网络连接。 | 不适用 |
NetworkPolicy | 查看安全集群中的现有网络策略并模拟更改。 | 在安全集群中应用网络策略更改。 |
节点 | 查看安全集群中的现有 Kubernetes 节点。 | N/A |
通知程序 | 查看通知系统的现有集成,如电子邮件、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 |