身為 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 使用者身分登入 主管 時,Authentication Proxy 會將該要求重新導向至 vCenter Single Sign-Onkubectl 適用的 vSphere 外掛程式 會與 vCenter Server 建立工作階段,並從 vCenter Single Sign-On 取得驗證 Token。它還會擷取您有權存取的 vSphere 命名空間 清單,並將這些 vSphere 命名空間 填入組態中。如果您的使用者帳戶的權限發生變更,則下次登入時會更新 vSphere 命名空間 的清單。

用於登入 主管 的帳戶僅提供對指派給您的 vSphere 命名空間 的存取權。若要登入 vCenter Server,您的 vSphere 管理員必須為您的帳戶設定對一或多個 vSphere 命名空間 的適當權限。
備註: kubectl 的工作階段會持續 10 小時。工作階段到期後,您必須再次對 主管 進行驗證。登出時,會從您的使用者帳戶的組態檔中刪除 Token,但在工作階段結束之前保持有效。

Tanzu Kubernetes Grid 叢集進行驗證

身為 DevOps 工程師或開發人員,您可以連線至已佈建的 Tanzu Kubernetes Grid 叢集,以便對其進行操作和管理。在佈建了 Tanzu Kubernetes Grid 叢集的 vSphere 命名空間 上為您的使用者帳戶授與「編輯」或「擁有者」權限時,系統會將您的帳戶指派給 cluster-admin 角色。也可以使用 kubernetes-admin 使用者連線至 Tanzu Kubernetes Grid。還可以透過將使用者或群組繫結到預設或自訂網繭安全性原則,為開發人員授與 Tanzu Kubernetes Grid 叢集存取權。如需詳細資訊,請參閱〈使用 vCenter SSO 驗證連線至主管上的 TKG 叢集〉〈使用外部身分識別提供者連線至主管上的 TKG 叢集〉

vSphere 命名空間 角色權限

身為 vSphere 管理員,您可以向 DevOps 工程師或開發人員授與對 vSphere 命名空間 的「檢視」、「編輯」或「擁有者」權限。其使用者或群組必須在 vCenter Single Sign-On 或為 主管 設定的外部身分識別提供者中可用。一個使用者或群組可以存取多個 vSphere 命名空間。每個 vSphere 命名空間 角色均允許執行以下動作:

角色 說明
可以檢視 使用者或群組的唯讀存取權。使用者或群組可以登入 主管 控制平面,並列出在 vSphere 命名空間 中執行的工作負載,例如 vSphere 網繭Tanzu Kubernetes Grid 叢集以及虛擬機器。
可以編輯 使用者或群組可以建立、讀取、更新和刪除 vSphere 網繭Tanzu Kubernetes Grid 叢集和虛擬機器。屬於管理員群組的使用者對 主管 中的所有命名空間都具有編輯權限。
擁有者 具有擁有者權限的使用者或群組可以:
  • vSphere 命名空間 中部署和管理工作負載。
  • 與其他使用者或群組共用 vSphere 命名空間
  • 使用 kubectl 建立和刪除其他 vSphere 命名空間。具有擁有者權限的使用者共用命名空間時,他們可以將檢視、編輯或擁有者權限指派給其他使用者或群組。
備註: vCenter Single Sign-On 中的可用使用者支援擁有者角色。不能將擁有者角色與來自外部身分識別提供者的使用者或群組搭配使用。

如需建立和設定 vSphere 命名空間 的相關資訊,請參閱〈建立和設定 vSphere 命名空間〉

身為 vSphere 管理員,在為 vSphere 命名空間 設定角色權限、資源配額和儲存區後,您可以將 主管 控制平面的 URL 提供給 DevOps 工程師和開發人員,使其可以使用該 URL 登入控制平面。登入後,DevOps 工程師和開發人員可以跨屬於 vCenter Server 系統並設定了同一身分識別提供者的 主管 存取具有權限的 vSphere 命名空間。當 vCenter Server 系統處於增強型連結模式時,DevOps 工程師和開發人員可以跨連結模式群組中的所有可用 主管 存取具有權限的所有 vSphere 命名空間主管 控制平面的 IP 位址是 NSX 或負載平衡器 (如果使用 VDS 網路) 產生的虛擬 IP,可用作 主管 控制平面的存取點。

vSphere 管理員權限

身為 vSphere 管理員,您的使用者帳戶通常可以具有以下權限:
物件 權限
vCenter Single Sign-On 使用者 管理員群組
vSphere 命名空間 使用者 管理員群組的成員將被授與對所有 vSphere 命名空間 的編輯權限。
根據用於與 vSphere IaaS control plane 互動的介面,您可以使用授與的權限執行不同的作業:
介面 作業
vSphere Client 以管理員身分登入 vSphere Client 後,您可以:
  • 啟用和設定 主管
  • 為 DevOps 工程師或開發人員建立並設定具有資源配置和角色權限的 vSphere 命名空間。希望透過 kubectl 登入 主管 控制平面以執行和管理工作負載的使用者或群組需要具有對 vSphere 命名空間 的角色權限。
  • 主管 上部署和管理 主管服務
kubectl 如果您使用 vCenter Single Sign-On 管理員帳戶登入 主管 控制平面,則可以:
  • 檢視包括系統 vSphere 命名空間 (kube-system 和所有 vmware-system-* 命名空間) 在內的所有 vSphere 命名空間 中的資源
  • 編輯所有非系統 vSphere 命名空間 (透過 vSphere ClientvCenter Server API 建立的命名空間) 中的資源。

但是,使用屬於管理員群組的帳戶登入 主管 控制平面時,您無法編輯任何叢集層級資源,也無法使用 kubectl 建立 vSphere 命名空間 或建立角色繫結。您必須使用 vSphere Client 作為設定資源配額、建立和設定 vSphere 命名空間 以及設定使用者權限的主要介面。

DevOps 工程師和開發人員權限

身為 DevOps 工程師或開發人員,您的使用者帳戶通常需要以下權限:
物件 權限
vSphere 命名空間 「編輯」或「擁有者」
vCenter Single Sign-On 使用者 「無」或「唯讀」

身為 DevOps 工程師或開發人員,您可以使用 kubectl 作為與 vSphere IaaS control plane 互動的主要介面。您必須能夠透過 kubectl 適用的 vSphere 外掛程式 登入 主管 控制平面,才能檢視、執行和管理指派給您的 vSphere 命名空間 中的工作負載。因此,您的使用者帳戶需要具有對一或多個 vSphere 命名空間 的「編輯」或「擁有者」權限。

通常,您無需透過 vSphere Client主管 執行任何管理作業。但在某些情況下,您可能希望能夠登入 vSphere Client,以檢視指派給您帳戶的 vSphere 命名空間 中的資源和工作負載。為此,您可能需要具有對 vSphere 的唯讀權限。

vSphere 命名空間 權限

vSphere 命名空間 權限控制您與 vSphere IaaS control plane 的互動方式。您可以在階層中的不同層級設定權限。例如,如果您在資料夾層級設定了某項權限,則可以將此權限散佈到該資料夾中的一或多個物件。[要求] 資料行中列出的物件必須具有權限集,可以直接具有,也可以透過繼承獲得。
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 內部使用)。

叢集

NA
將叢集升級到較新版本 允許起始 主管 升級。

叢集

Namespaces.Upgrade

主管服務 權限

主管服務 權限控制哪些使用者可以在 vSphere IaaS control plane 環境中建立和管理 主管服務

表 1. 主管服務 權限
vSphere Client 中的權限名稱 說明 要求 API 中的權限名稱
管理主管服務 允許建立、更新或刪除 主管服務。還允許在 主管 上安裝 主管服務,以及建立或刪除 主管服務 版本。

叢集

SupervisorServices.Manage

虛擬機器類別權限

虛擬機器類別權限控制哪些使用者可以在 vSphere 命名空間 上新增和移除虛擬機器類別。

表 2. 虛擬機器類別權限
vSphere Client 中的權限名稱 說明 要求 API 中的權限名稱
管理虛擬機器類別

允許在 主管vSphere 命名空間 上管理虛擬機器類別。

叢集

VirtualMachineClasses.Manage

儲存區視圖權限

憑藉儲存區檢視權限,您將能夠在 vCenter Server 中檢視儲存區原則,以便將儲存區原則指派給 vSphere 命名空間

表 3. 儲存區視圖權限
vSphere Client 中的權限名稱 說明 要求 API 中的權限名稱
設定服務

允許有特殊權限的使用者使用所有儲存區監控服務 API。將 儲存區視圖.檢視 用於儲存區監控服務 API 的唯讀權限。

根 vCenter Server

StorageViews.ConfigureService
檢視

允許有特殊權限的使用者使用唯讀儲存區監控服務 API。

根 vCenter Server

StorageViews.View