1.4. 在终端中实施精细的基于角色的访问控制(技术预览)
技术预览: Red Hat Advanced Cluster Management for Kubernetes 只支持虚拟机场景的精细访问控制(RBAC)。作为集群管理员,您可以在受管集群的命名空间级别和集群级别管理和控制权限。在不向整个受管集群授予权限的情况下,向集群中的虚拟机命名空间授予权限。
了解如何从终端设置精细的基于角色的访问控制(RBAC)。
需要的访问权限:集群管理员
要了解 OpenShift Container Platform 默认和虚拟化角色和权限,请参阅 OpenShift Container Platform 文档中的 授权。
如需了解更多与 Red Hat Advanced Cluster Management 基于角色的访问 相关的信息,请参阅实施基于角色的访问控制。
先决条件
请参阅以下要求以开始使用精细的基于角色的访问控制:
- 您需要在 hub 集群上安装 Red Hat OpenShift Virtualization 的最新版本。如需更多信息,请参阅 虚拟化 - 安装。
- 您需要虚拟机。要了解 OpenShift Container Platform 默认和虚拟化角色和权限,请参阅 OpenShift Container Platform 文档中的 授权。
- 有关如何启用基于角色的访问控制的详情,请参阅实施基于角色的访问控制。
1.4.1. 在终端中启用精细的基于角色的访问控制 复制链接链接已复制到粘贴板!
当您启用细粒度 RBAC 时,会自动为 OpenShift Virtualization 添加以下角色:
-
kubevirt.io:view -
kubevirt.io:edit -
kubevirt.io:admin -
kubevirt.io-acm-managed:admin -
kubevirt.io-acm-managed:view -
kubevirt.io-acm-hub:admin -
kubevirt.io-acm-hub:view
注: 您必须可以访问以下角色来完成虚拟机的实时迁移: kubevirt.io:admin,kubevirt.io-acm-hub:admin, 和 kubevirt.io-acm-managed:view。
完成以下步骤:
在
MultiClusterHub资源中启用细粒度-rbac-preview。运行以下命令:
oc edit mch -n open-cluster-management multiclusterhub
oc edit mch -n open-cluster-management multiclusterhubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑,将
configOverrides规格从enabled: false改为enabled: true。请参阅启用该功能的以下示例:- configOverrides: {} enabled: true name: fine-grained-rbac-preview- configOverrides: {} enabled: true name: fine-grained-rbac-previewCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注: 如果不使用
open-cluster-management命名空间,请运行oc get mch -A以获取MultiClusterHub资源的名称和命名空间。使用
environment=virtualization标记local-cluster。运行以下命令:oc label managedclusters local-cluster environment=virtualization
oc label managedclusters local-cluster environment=virtualizationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
ClusterRoleBinding资源来添加kubevirt.io-acm-hub:view角色。运行以下命令:oc create clusterrolebinding <cluster-role-binding-name> --clusterrole=kubevirt.io-acm-hub:view --user=<user-name>
oc create clusterrolebinding <cluster-role-binding-name> --clusterrole=kubevirt.io-acm-hub:view --user=<user-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您的
ClusterRolebinding资源可能类似以下 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow