为 vSphere IaaS control plane 运维人员(包括负责操作 主管 和 TKG 服务 集群的人员)分配权限的一种可选方法是,专门为这些运维人员创建专用的 vSphere 用户组和角色。
关于平台运维人员组和角色
安全最佳做法是,您可能希望避免将 vSphere 管理员角色分配给平台运维人员,因为此角色授予的特权多于操作
TKG 服务 集群所需的特权。按照最小特权原则,您可以创建一个专用用户组、一个服务(用户)帐户和一个自定义角色供平台运维人员使用,然后向该用户组授予对 vSphere 对象的自定义角色权限。
注: 您需要以 vSphere 管理员身份登录到
vCenter Server,才能执行本主题中的所有任务。
注: vSphere 组名称和角色名称是用户定义的字符串。此处提供的名称仅为示例,您可以根据安全和业务需求进行采用、调整或更改。
警告: 您必须根据安全和业务需求评估此处提供的示例角色权限,测试角色以确保合规性,并相应地进行调整。此处使用的权限可能并非全部符合您的需求,您可能还需要其他权限。有关 vSphere 权限和安全注意事项的完整列表,请参阅
vSphere 安全性文档。
第 1 部分:创建平台运维人员组和用户
在 vCenter 或与 vCenter 集成的 AD/LDAP 系统中,创建平台运维人员组和初始用户帐户。
- 通过 vSphere Client 以管理员身份登录 vCenter Server。
- 转到 。
- 选择组选项卡。
- 单击添加并创建新组:
- 名称:platform-operators-group
- 描述:用于主管和 TKG Service 集群的 Kubernetes 运维人员
- 单击添加
- 选择用户选项卡。
- 单击添加并创建一个新用户用于测试。
- 名称:platform-operator-00
- 密码:输入符合要求的强密码
- 单击添加
- 选择组选项卡。
- 将该新用户添加到组。
- 选择组 platform-operators-group。
- 单击添加成员。
- 选择 vsphere.local。
- 搜索用户名 platform-operator-00。
- 选择此用户,然后单击添加。
- 单击保存。
第 2 部分:将平台运维人员组添加到服务提供商用户组
将平台运维人员组添加到服务提供商用户组。这样做将使平台运维人员组的成员能够在 vCenter 的vSphere 命名空间。
屏幕中查看- 转到 。
- 选择组选项卡。
- 找到 ServiceProviderUsers 组。
- 编辑 ServiceProviderUsers 组,并将其添加为 platform-operators-group 的成员。
- 单击保存。
第 3 部分:创建平台运维人员角色
为平台运维人员创建自定义 vCenter SSO 角色。
注: 此角色包含置备和操作
主管 和
TKG 服务 集群所需的所有权限,包括管理内容库。您可能需要根据业务和安全需求调整分配给此角色的权限。此外,还必须测试此角色以确保其符合您的要求。
- 使用 vSphere Client 转到 。
- 选择新建,然后创建名为 platform-operators-role 的新角色。
- 为此角色定义以下特权。
- 完成后,单击保存。
- Alarms - Acknowledge alarm & - Create alarm & - Disable alarm action on entity & - Modify alarm & - Remove alarm & - Set alarm status & - Certificate Authority - Create/Delete (below Admins priv) & - Certificate Management - Create/Delete (below Admins priv) & - Cns - Searchable * & - Compute Policy - Create and Delete Compute Policy & - Content Library - Add library item & - Check in a template & - Check out a template & - Create local library & - Create subscribed library & - Delete library item & - Delete local library & - Delete subscribed library & - Download files & - Evict library item & - Evict subscribed library & - Import storage & - Probe subscription information & - Read storage & - Sync library item & - Sync subscribed library & - Type introspection & - Update configuration settings & - Update library & - Update library item & - Update local library & - Update subscribed library & - View configuration settings & - Datastore - Allocate space * & $ - Browse datastore * & - Configure datastore & - Low level file operations * & - Remove file & - Rename datastore & - Update virtual machine files & - Update virtual machine metadata & - Extension - Register extension & - Unregister extension & - Update extension & - Folder - Create folder & - Delete folder & - Move folder & - Rename folder & - Global - Cancel task & - Disable methods * & - Enable methods * & - Global tag & - Health & - Licenses * & - Log event & - Manage custom attributes & - Service managers & - Set custom attribute & - System tag & - Host - Configuration - Network configuration $ - Host profile - View & - Hybrid Linked Mode - Manage & - Namespaces - Modify cluster-wide configuration - Modify cluster-wide namespace self-service configuration - Modify namespace configuration - Network - Assign network * & $ - Resource - Apply recommendation & - Assign vApp to resource pool * & - Assign virtual machine to resource pool & - Create resource pool & - Modify resource pool & - Move resource pool & - Query vMotion & - Remove resource pool & - Rename resource pool & - Scheduled task - Create tasks & - Modify task & - Remove task & - Run task & - Sessions - Message * & - Validate session * & - VM storage policies - View VM storage policies * - Storage views - View & - Supervisor Services - Manage Supervisor Services - Trusted Infrastructure administrator - Manage Trusted Infrastructure Hosts & - vApp - Add virtual machine & - Assign resource pool & - Assign vApp & - Clone & - Create & - Delete & - Export & - Import * $ - Move & - Power off & - Power on & - Rename & - Suspend & - Unregister & - View OVF environment & - vApp application configuration & - vApp instance configuration & - vApp managedBy configuration & - vApp resource configuration & - Virtual machine - Change Configuration - Acquire disk lease & - Add existing disk * & $ - Add new disk * & - Add or remove device * & - Advanced configuration * & $ - Change CPU count * & - Change Memory * & - Change Settings * & - Change Swapfile placement & - Change Resource & - Configure Host USB device & - Configure Raw device * & - Configure managedBy & - Display connection settings & - Extend virtual disk * & - Modify device settings * & - Query Fault Tolerance compatibility & - Query unowned files & - Reload from path & - Remove disk * & - Rename & - Reset guest information & - Set annotation & - Toggle disk change tracking * & - Upgrade virtual machine compatibility & - Edit Inventory - Create from existing * & - Create new & - Move & - Remove * & - Register & - Unregister & - Guest operations - Guest operation alias modification & - Guest operation alias query & - Guest operation modifications & - Guest operation program execution & - Guest operation queries & - Interaction - Answer question & - Backup operation on virtual machine & - Configure CD media & - Configure floppy media & - Connect devices & - Console interaction & - Create screenshot & - Defragment all disks & - Drag and drop & - Guest operating system management by VIX API & - Inject USB HID scan codes & - Install VMware Tools & - Pause or Unpause & - Power off * & - Power on * & - Reset & - Suspend & - Provisioning - Allow disk access & - Allow file access & - Allow read-only disk access * & - Allow virtual machine download * & - Allow virtual machine files upload & - Clone template & - Clone virtual machine & - Create template from virtual machine & - Customize guest & - Deploy template * & - Mark as template & - Mark as virtual machine & - Modify customization specification & - Promote disks & - Read customization specifications & - Service configuration - Allow notifications & - Allow polling of global event notifications & - Manage service configurations & - Modify service configuration & - Query service configurations & - Read service configuration & - Snapshot management - Create snapshot * & - Remove snapshot * & - Rename snapshot & - Revert to snapshot & - vSphere Replication - Configure replication & - Manage replication & - Monitor replication & - Virtual Machine Classes - Manage Virtual Machine Classes - vSan - Cluster & - ShallowRekey & - vService - Create dependency & - Destroy dependency & - Reconfigure dependency configuration & - Update dependency & - vSphere Tagging - Assign or Unassign vSphere Tag & - Assign or Unassign vSphere Tag on Object & - Create vSphere Tag & - Create vSphere Tag Category & - Delete vSphere Tag & - Delete vSphere Tag Category & - Edit vSphere Tag & - Edit vSphere Tag Category & - Modify UsedBy Field For Category & - Modify UsedBy Field For Tag &
第 4 部分:为平台运维人员组和角色分配 vCenter 对象权限
为平台运维人员组分配对
主管 和
TKG 服务 集群使用的 vCenter 对象的权限。
- 在 vCenter 中,选择 视图。
- 对于下面列出的每个 vCenter 对象,右键单击这些对象,然后选择添加权限。
- 对于“用户/组”,选择 platform-operators-group 组。
- 对于“角色”,选择角色 platform-operators-group-role。
- 对于某些对象,您需要选中传播到子项,如下所示。
- 主机和集群
- 根 vCenter Server 对象。
- 数据中心以及所有主机和集群文件夹,从数据中心对象下到管理 TKG 部署的集群。
- 启用了 主管 且启用了传播到子项(对于 ESXi 主机等)的目标 vCenter 集群。
- 启用了传播到子项的目标资源池。
- 虚拟机和模板
- 启用了传播到子项的顶层数据中心对象。
- 或者,对于更细化的粒度,则是启用了传播到子项的目标虚拟机和模板文件夹。
- 存储
- 启用了传播到子项的顶层数据中心对象。
- 或者,未启用传播到子项的共享数据存储对象(如 vsanDatastore),或者启用了传播到子项的单个数据存储和所有存储文件夹,从数据中心对象下到将用于 TKG 部署的数据存储。
- 网络
- 启用了传播到子项的顶层数据中心对象。
- 或者,将向其分配集群的各个网络、分布式交换机和分布式端口组。
第 5 部分:关联平台运维人员组和角色
为平台运维人员组和角色分配权限。
- 使用 vSphere Client,转到 。
- 将平台运维人员角色添加到平台运维人员组。
- 单击添加。
- 对于“域”,选择 vsphere.local。
- 对于“用户/组”,输入 platform-operators-group 组。
- 对于“角色”,选择角色 platform-operators-role。
- 选中传播到子项复选框。
- 单击确定以更新组,在其中包含角色权限。
- 将 vSphere Kubernetes Manager 角色添加到平台运维人员组。
- 单击添加。
- 对于“域”,选择 vsphere.local。
- 对于“用户/组”,输入 platform-operators-group 组。
- 对于“角色”,选择角色 vSphere Kubernetes Manager。
- 选中传播到子项复选框。
- 单击确定以更新组,在其中包含角色权限。
第 6 部分:验证平台运维人员组和角色
测试新的平台运维人员组和角色。您必须确保组和角色满足自己的安全和业务需求,并相应地进行调整。
- 在 vSphere Client 中,使用 platform-operator-00 用户帐户登录到 vCenter Server。
- 验证您是否具有 vSphere 对象(包括主机和集群、虚拟机和模板、存储和网络连接)的读取访问权限。
- 验证您是否可以创建和配置内容库。请参见管理用于 TKG 服务 集群的 Kubernetes 版本。
- 验证您是否可以创建和配置 vSphere 命名空间,包括添加用户、关联内容库和分配存储策略。请参见配置 vSphere 命名空间 以便托管 TKG 服务 集群。
- 验证您是否可以使用 适用于 vSphere 的 Kubernetes CLI 工具 登录到 主管。请参见使用 vCenter SSO 身份验证连接到 TKG 服务 集群。
- 验证您是否可以使用 Kubectl 在 主管 上置备 TKG 集群。请参见使用 Kubectl 置备 TKG 集群的工作流。
- 验证您是否可以使用 Kubectl 登录到 主管 上的 TKG 集群。请参见使用 Kubectl 以 vCenter Single Sign-On 用户身份连接到 TKG 服务 集群。
- 验证您是否可以将工作负载部署到 主管 上的 TKG 集群。请参见在 TKG 服务 集群上部署工作负载。
- 验证您是否可以对 主管 上的 TKG 集群执行各种操作任务。请参见操作 TKG Service 集群。
- 使用 vSphere Client,验证您是否可以在 vSphere 命名空间 中查看在 主管 上置备的 TKG 集群。
- 使用 vSphere Client,验证您是否可以监控 主管 和 TKG 集群对象。
- 执行负向测试以确保您无法执行为 vSphere 管理员预留的某些任务。例如,您不应能够创建新的 vSphere 存储策略或 vSphere 网络连接。您可能还无法禁用工作负载管理。
- 相应地调整角色权限,以满足您的安全和业务需求。