作为 vSphere 管理员,您需要具备激活和配置 主管 以及管理 vSphere 命名空间 的特权。您可以定义对命名空间的权限,以确定哪些 DevOps 工程师和开发人员可以访问这些命名空间。此外,还可以为 主管 配置外部 OpenID Connect (OIDC) 提供程序,以启用多因素身份验证。作为 DevOps 工程师或开发人员,您可以使用 vCenter Single Sign-On 凭据或 OIDC 提供程序提供的凭据对 主管 进行身份验证,具体取决于 vSphere 管理员在 主管 上为您配置的身份验证方法。您只能访问对其具有权限的 vSphere 命名空间。
支持的身份提供程序
vSphere IaaS control plane 支持以下身份提供程序:
- vCenter Single Sign-On.用于对 vSphere IaaS control plane 环境(包括 主管 和 Tanzu Kubernetes Grid 集群)进行身份验证的默认身份提供程序。vCenter Single Sign-On 为 vSphere 基础架构提供身份验证,并可与 AD/LDAP 系统集成。有关 vCenter Single Sign-On 的详细信息,请参见使用 vCenter Single Sign-On 进行 vSphere 身份验证。
- 外部身份提供程序。作为 vSphere 管理员,您可以为 主管 配置支持 OpenID Connect 协议的外部身份提供程序。配置了外部身份提供程序后,主管 将作为 OAuth 2.0 客户端运行,并通过 Tanzu CLI 使用 Pinniped 身份验证服务连接到 Tanzu Kubernetes Grid 集群。Tanzu CLI 支持置备和管理 Tanzu Kubernetes Grid 集群的生命周期。每个 主管 实例支持一个外部身份提供程序。
使用 主管 进行身份验证
与 vSphere IaaS control plane 交互的不同角色可以使用以下方法对 主管 进行身份验证:
- vSphere 管理员。作为 vSphere 管理员,您可以通过 vSphere Client 使用 vCenter Single Sign-On 对 vSphere 进行身份验证。您还可以通过 kubectl 使用 kubectl 的 vSphere 插件 对 主管 和 Tanzu Kubernetes Grid 集群进行身份验证。有关详细信息,请参见以 vCenter Single Sign-On 用户身份连接到主管。
- DevOps 工程师或开发人员。作为 DevOps 工程师或开发人员,您可以通过 kubectl 的 vSphere 插件 和 kubectl 使用 vCenter Single Sign-On 对 主管 进行身份验证。您还可以使用为 主管 配置的外部身份提供程序提供的凭据连接到该 主管。有关详细信息,请参见使用外部身份提供程序连接到主管上的 TKG 集群。
与 主管 的登录会话
以 vCenter Single Sign-On 用户身份登录到 主管 时,身份验证代理会将请求重定向到 vCenter Single Sign-On。kubectl 的 vSphere 插件 会与 vCenter Server 建立会话,并从 vCenter Single Sign-On 获取身份验证令牌。它还会获取您有权访问的 vSphere 命名空间 列表,并使用这些 vSphere 命名空间 填充配置。如果您的用户帐户的权限发生变化,则下次登录时将更新 vSphere 命名空间 列表。
对 Tanzu Kubernetes Grid 集群进行身份验证
作为 DevOps 工程师或开发人员,您可以连接到已置备的 Tanzu Kubernetes Grid 集群,以便对其进行操作和管理。在置备了 Tanzu Kubernetes Grid 集群的 vSphere 命名空间 上为您的用户帐户授予“编辑”或“所有者”权限时,系统会将您的帐户分配给 cluster-admin 角色。或者,也可以使用 kubernetes-admin
用户连接到 Tanzu Kubernetes Grid。还可以通过将用户或组绑定到默认或自定义 Pod 安全策略,向开发人员授予 Tanzu Kubernetes Grid 集群访问权限。有关详细信息,请参见使用 vCenter SSO 身份验证连接到主管上的 TKG 集群和使用外部身份提供程序连接到主管上的 TKG 集群。
vSphere 命名空间 角色权限
作为 vSphere 管理员,您可以向 DevOps 工程师或开发人员授予对 vSphere 命名空间 的“查看”、“编辑”或“所有者”权限。其用户或组必须在 vCenter Single Sign-On 或为 主管 配置的外部身份提供程序中可用。一个用户或组可以访问多个 vSphere 命名空间。每个 vSphere 命名空间 角色均允许执行以下操作:
角色 | 描述 |
---|---|
可查看 | 用户或组的只读访问权限。用户或组可以登录到 主管 控制平面,并列出在 vSphere 命名空间 中运行的工作负载,例如 vSphere Pod 和 Tanzu Kubernetes Grid 集群以及虚拟机。 |
可编辑 | 用户或组可以创建、读取、更新和删除 vSphere Pod、Tanzu Kubernetes Grid 集群和虚拟机。属于管理员组的用户对 主管 中的所有命名空间都具有编辑权限。 |
所有者 | 具有“所有者”权限的用户或组可以:
注:
vCenter Single Sign-On 中的可用用户支持所有者角色。不能将所有者角色用于外部身份提供程序中的用户或组。
|
有关创建和配置 vSphere 命名空间 的信息,请参见创建和配置 vSphere 命名空间。
作为 vSphere 管理员,在为 vSphere 命名空间 配置角色权限、资源配额和存储后,您可以将 主管 控制平面的 URL 提供给 DevOps 工程师和开发人员,使其可以使用该 URL 登录到控制平面。登录后,DevOps 工程师和开发人员可以跨属于一个 vCenter Server 系统并配置了同一身份提供程序的 主管 访问具有权限的 vSphere 命名空间。当 vCenter Server 系统处于增强型链接模式时,DevOps 工程师和开发人员可以跨链接模式组中的所有可用 主管 访问具有权限的所有 vSphere 命名空间。主管 控制平面的 IP 地址是 NSX 或负载均衡器(如果使用 VDS 网络连接)生成的虚拟 IP,用作 主管 控制平面的访问点。
vSphere 管理员权限
对象 | 权限 |
---|---|
vCenter Single Sign-On 用户 | 管理员组 |
vSphere 命名空间 用户 | 管理员组的成员将获得对所有 vSphere 命名空间 的“编辑”权限。 |
接口 | 操作 |
---|---|
vSphere Client | 以管理员身份登录到 vSphere Client 后,您可以:
|
kubectl | 如果您使用 vCenter Single Sign-On 管理员帐户登录到 主管 控制平面,则可以:
但是,使用属于管理员组的帐户登录到 主管 控制平面时,您无法编辑任何集群级别资源,也无法使用 kubectl 创建 vSphere 命名空间 或创建角色绑定。您必须使用 vSphere Client 作为设置资源配额、创建和配置 vSphere 命名空间 以及设置用户权限的主界面。 |
DevOps 工程师和开发人员权限
对象 | 权限 |
---|---|
vSphere 命名空间 | “编辑”或“所有者” |
vCenter Single Sign-On 用户 | “无”或“只读” |
作为 DevOps 工程师或开发人员,您可以使用 kubectl 作为与 vSphere IaaS control plane 交互的主界面。您必须能够通过 kubectl 的 vSphere 插件 登录到 主管 控制平面,才能查看、运行和管理 vSphere 命名空间 中分配给您的工作负载。因此,您的用户帐户需要具有对一个或多个 vSphere 命名空间 的“编辑”或“所有者”权限。
通常,您无需通过 vSphere Client 对 主管 执行任何管理操作。但在某些情况下,您可能希望能够登录到 vSphere Client,以查看分配给您的帐户的 vSphere 命名空间 中的资源和工作负载。为此,您可能需要具有对 vSphere 的只读权限。
vSphere 命名空间 特权
vSphere Client 中的特权名称 | 描述 | 要求 | API 中的特权名称 |
---|---|---|---|
允许磁盘取消配置操作 | 允许对数据存储执行取消配置操作。 | 数据存储 |
Namespaces.ManageDisks |
备份工作负载组件文件 | 允许备份 etcd 集群的内容(仅在 VMware Cloud on AWS 中使用)。 | 集群 |
Namespaces.Backup |
列出可访问的命名空间 | 允许列出可访问的 vSphere 命名空间。 | 集群 |
Namespaces.ListAccess |
修改集群范围的配置 | 允许修改 主管 配置,以及创建和删除 vSphere 命名空间。 |
集群 |
Namespaces.ManageCapabilities |
修改集群范围的命名空间自助服务配置 | 允许修改 vSphere 命名空间 自助服务配置。 | 集群 (用于激活和取消激活)模板 (用于修改配置)vCenter Server (用于创建模板) |
Namespaces.SelfServiceManage |
修改命名空间配置 | 允许修改 vSphere 命名空间 配置选项,例如资源分配、用户权限和内容库关联。 |
集群 |
Namespaces.Manage |
切换集群功能 | 允许操作 主管 集群功能的状态(仅在 VMware Cloud on AWS 内部使用)。 | 集群 |
不适用 |
将集群升级到较新版本 | 允许启动 主管 升级。 | 集群 |
Namespaces.Upgrade |
主管服务 特权
主管服务 特权控制哪些用户可以在 vSphere IaaS control plane 环境中创建和管理 主管服务。
vSphere Client 中的特权名称 | 描述 | 要求 | API 中的特权名称 |
---|---|---|---|
管理主管服务 | 允许创建、更新或删除 主管服务。还允许在 主管 上安装 主管服务,以及创建或删除 主管服务 版本。 | 集群 |
SupervisorServices.Manage |
虚拟机类特权
虚拟机类特权控制哪些用户可以在 vSphere 命名空间 上添加和移除虚拟机类。
vSphere Client 中的特权名称 | 描述 | 要求 | API 中的特权名称 |
---|---|---|---|
管理虚拟机类 | 允许在 主管 的 vSphere 命名空间 上管理虚拟机类。 |
集群 |
VirtualMachineClasses.Manage |
存储视图特权
凭借存储视图特权,您将能够在 vCenter Server 中查看存储策略,以便将存储策略分配给 vSphere 命名空间。
vSphere Client 中的特权名称 | 描述 | 要求 | API 中的特权名称 |
---|---|---|---|
配置服务 | 允许特权用户使用所有存储监控服务 API。对于只读存储监控服务 API 的特权,使用 。 |
根 vCenter Server |
StorageViews.ConfigureService |
查看 | 允许特权用户使用只读存储监控服务 API。 |
根 vCenter Server |
StorageViews.View |