第 1 章 保护集群


您可能需要手动创建和管理集群上的访问控制。要做到这一点,您必须配置 Red Hat Advanced Cluster Management for Kubernetes 的身份验证服务 要求,以便将工作负载加载到 Identity and Access Management (IAM)。

使用基于角色的访问控制和身份验证来识别用户关联的角色和集群凭证。要创建和管理集群凭证,请通过访问存储它们的 Kubernetes secret 来访问凭证。有关访问和凭证的详情,请查看以下文档:

需要的访问权限:集群管理员

1.1. 基于角色的访问控制

Red Hat Advanced Cluster Management for Kubernetes 支持的基于角色的控制访问(RBAC)。您的角色决定了您可以执行的操作。RBAC 基于 Kubernetes 中的授权机制,类似于 Red Hat OpenShift Container Platform。如需有关 RBAC 的更多信息,请参阅 OpenShift Container Platform 文档中的 RBAC 概述。

备注: 如果用户角色访问不可用,则控制台中的 Action 按钮会被禁用。

1.1.1. 角色概述

有些产品资源是基于集群范围的,有些则是命名空间范围。您必须将集群角色绑定和命名空间角色绑定应用到用户,以使访问控制具有一致性。查看 Red Hat Advanced Cluster Management for Kubernetes 支持的以下角色定义表列表:

Expand
表 1.1. 角色定义表

角色

定义

cluster-admin

这是 OpenShift Container Platform 的默认角色。具有集群范围内的绑定到 cluster-admin 角色的用户,是一个 OpenShift Container Platform 超级用户,其具有所有访问权限。

open-cluster-management:cluster-manager-admin

具有集群范围内的绑定到 open-cluster-management:cluster-manager-admin 角色的用户,是一个 Red Hat Advanced Cluster Management for Kubernetes 超级用户,其具有所有访问权限。此角色允许用户创建 ManagedCluster 资源。

open-cluster-management:admin:<managed_cluster_name>

具有集群范围内的绑定到 open-cluster-management:admin:<managed_cluster_name> 角色的用户,具有对名为 <managed_cluster_name>ManagedCluster 资源的管理员访问权限。当用户具有受管集群时,会自动创建此角色。

open-cluster-management:view:<managed_cluster_name>

具有集群范围内的绑定到 open-cluster-management:view:<managed_cluster_name> 角色的用户,可以访问名为 <managed_cluster_name>ManagedCluster 资源。

open-cluster-management:managedclusterset:admin:<managed_clusterset_name>

具有集群范围内的绑定到 open-cluster-management:managedclusterset:admin:<managed_clusterset_name> 角色的用户,具有对名为 <managed_clusterset_name>ManagedCluster 资源的管理员访问权限。用户还有对 managedcluster.cluster.open-cluster-management.ioclusterclaim.hive.openshift.ioclusterdeployment.hive.openshift.ioclusterpool.hive.openshift.io 资源的管理员访问权限,这些资源具有受管集群集标签:cluster.open-cluster-management.io/clusterset=<managed_clusterset_name>。使用集群集时会自动生成角色绑定。请参阅创建 ManagedClusterSet 以了解如何管理该资源。

open-cluster-management:managedclusterset:view:<managed_clusterset_name>

具有集群范围内的绑定到 open-cluster-management:managedclusterset:view:<managed_clusterset_name> 角色的用户,可以访问名为 <managed_clusterset_name>' 的 ManagedCluster 资源。用户还有对 managedcluster.cluster.open-cluster-management.ioclusterclaim.hive.openshift.ioclusterdeployment.hive.openshift.ioclusterpool.hive.openshift.io 资源的查看访问权限,这些资源具有受管集群集标签: cluster.open-cluster-management.io,clusterset=<managed_clusterset_name>。有关如何管理受管集群设置资源的详情,请参阅创建 ManagedClusterSet

open-cluster-management:subscription-admin

具有 open-cluster-management:subscription-admin 角色的用户,可以创建 Git 订阅将资源部署到多个命名空间中。资源在订阅的 Git 仓库中的 Kubernetes 资源 YAML 文件中指定。备注:当一个非 subscription-admin 用户创建订阅时,无论资源中的指定命名空间是什么,所有资源都会部署到订阅命名空间中。如需更多信息,请参阅应用程序生命周期 RBAC 部分。

admin, edit, view

admin、edit 和 view 是 OpenShift Container Platform 的默认角色。具有命名空间范围绑定的用户可以访问特定命名空间中的 open-cluster-management 资源,而集群范围的绑定到同一角色可以访问整个集群范围的 open-cluster-management 资源。

open-cluster-management:managedclusterset:bind:<managed_clusterset_name>

带有 open-cluster-management:managedclusterset:bind:<managed_clusterset_name> 角色的用户具有可以查看被称为 <managed_clusterset_name> 的受管集群资源的权限。用户可以将 <managed_clusterset_name> 绑定到一个命名空间。用户还有对 managedcluster.cluster.open-cluster-management.ioclusterclaim.hive.openshift.ioclusterdeployment.hive.openshift.ioclusterpool.hive.openshift.io 资源的查看访问权限,这些资源具有以下受管集群集标签:cluster.open-cluster-management.io/clusterset=<managed_clusterset_name>。请参阅创建 ManagedClusterSet 以了解如何管理该资源。

重要:

  • 任何用户都可以从 OpenShift Container Platform 创建项目,这为命名空间授予管理员角色权限。
  • 如果用户无法访问集群的角色,则不会显示集群名称。集群名称可能显示有以下符号: -

1.1.2. 控制台和 API RBAC 表

要了解组件的基于角色的访问控制,请查看以下控制台和 API RBAC 表:

Expand
表 1.2. 应用程序生命周期的控制台 RBAC 表
资源AdminEditView

Application

创建、读取、更新、删除

创建、读取、更新、删除

读取

Channel

创建、读取、更新、删除

创建、读取、更新、删除

读取

Subscription

创建、读取、更新、删除

创建、读取、更新、删除

读取

Expand
表 1.3. 应用程序生命周期的 API RBAC 表
APIAdminEditView

applications.app.k8s.io

创建、读取、更新、删除

创建、读取、更新、删除

读取

channels.apps.open-cluster-management.io

创建、读取、更新、删除

创建、读取、更新、删除

读取

deployables.apps.open-cluster-management.io (已弃用)

创建、读取、更新、删除

创建、读取、更新、删除

读取

helmreleases.apps.open-cluster-management.io

创建、读取、更新、删除

创建、读取、更新、删除

读取

placements.apps.open-cluster-management.io

创建、读取、更新、删除

创建、读取、更新、删除

读取

placementrules.apps.open-cluster-management.io (已弃用)

创建、读取、更新、删除

创建、读取、更新、删除

读取

subscriptions.apps.open-cluster-management.io

创建、读取、更新、删除

创建、读取、更新、删除

读取

configmaps

创建、读取、更新、删除

创建、读取、更新、删除

读取

secrets

创建、读取、更新、删除

创建、读取、更新、删除

读取

命名空间

创建、读取、更新、删除

创建、读取、更新、删除

读取

Expand
表 1.4. 用于监管的控制台 RBAC 表
资源AdminEditView

策略(policy)

创建、读取、更新、删除

读取、更新

读取

PlacementBindings

创建、读取、更新、删除

读取、更新

读取

放置

创建、读取、更新、删除

读取、更新

读取

PlacementRules (已弃用)

创建、读取、更新、删除

读取、更新

读取

PolicyAutomations

创建、读取、更新、删除

读取、更新

读取

Expand
表 1.5. 用于监管的 API RBAC 表
APIAdminEditView

policies.policy.open-cluster-management.io

创建、读取、更新、删除

读取、更新

读取

placementbindings.policy.open-cluster-management.io

创建、读取、更新、删除

读取、更新

读取

policyautomations.policy.open-cluster-management.io

创建、读取、更新、删除

读取、更新

读取

Expand
表 1.6. Observability 的 API RBAC 表

API

Admin

Edit

View

multiclusterobservabilities.observability.open-cluster-management.io

create、read、update 和 delete

读取、更新

读取

searchcustomizations.search.open-cluster-management.io

create, get, list, watch, update, delete, patch

-

-

policyreports.wgpolicyk8s.io

get、list、watch

get、list、watch

get、list、watch

Expand
表 1.7. 虚拟化的角色

角色

角色描述

kubevirt.io:view

仅查看集群中的所有 Red Hat OpenShift Virtualization 资源。

kubevirt.io:edit

在集群中创建、查看、编辑和删除 Red Hat OpenShift Virtualization 资源。

kubevirt.io:admin

为 Red Hat OpenShift Virtualization 创建、查看、编辑和删除资源。您还可以访问 openshift-cnv 命名空间中的 HyperConverged 自定义资源。

kubevirt.io-acm-managed:admin

默认 kubevirt.io 角色的扩展,授予虚拟机管理员查看、编辑和删除虚拟机相关资源。排除问题并完成高级配置和管理任务。

kubevirt.io-acm-managed:view

默认 kubevirt.io 角色的扩展,为受管集群上的虚拟机资源授予额外的只读权限。监控虚拟机操作、查看配置并验证虚拟机资源的状态,而不进行任何更改。

kubevirt.io-acm-hub:admin

授予跨集群虚拟机迁移的管理员特权。授予从 hub 集群查看 multicluster Red Hat OpenShift Virtualization 控制台中的虚拟机的先决条件。

kubevirt.io-acm-hub:view

仅为集群间虚拟机迁移授予查看权限。授予从 hub 集群查看 multicluster Red Hat OpenShift Virtualization 控制台中的虚拟机的先决条件。

1.1.3. 其他资源

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部