在 Google Distributed Cloud (GDC) 氣隙環境中對虛擬機器 (VM) 執行工作前,您必須具備適當的身分與存取權管理 (IAM) 角色和權限。
事前準備
如要使用 gdcloud CLI 指令,請完成「gdcloud 指令列介面 (CLI)」一節中的必要步驟。Google Distributed Cloud Air-Gapped 的所有指令都使用 gdcloud
或 kubectl
CLI,且需要作業系統 (OS) 環境。
取得 kubeconfig 檔案路徑
如要對 Management API 伺服器執行指令,請確認您具備下列資源:
登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。
使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的
MANAGEMENT_API_SERVER
。
關於 IAM
Distributed Cloud 提供「身分與存取權管理」(IAM) 功能,可讓您以精細的方式授予使用者特定 Distributed Cloud 資源的存取權限,避免其他資源遭到未經授權者擅自存取。IAM 遵循最低權限的安全原則,並透過 IAM 角色和權限,控管哪些使用者有權存取特定資源。
請參閱登入中的身分與存取權管理說明文件,瞭解如何登入 GDC 控制台或 gdcloud CLI,以及如何使用 kubectl
存取工作負載。
VM 資源的預先定義角色
如要在專案中建立 VM 和 VM 磁碟,請向專案 IAM 管理員要求特定專案的適當權限。所有 VM 角色都必須繫結至 VM 所在專案的命名空間。如要管理虛擬機器,專案 IAM 管理員可以指派下列預先定義的角色:
- 專案 VirtualMachine 管理員
project-vm-admin
:管理專案命名空間中的 VM。 - 專案虛擬機器映像檔管理員
project-vm-image-admin
:管理專案命名空間中的 VM 映像檔。
如要查看應用程式運算子 (AO) 的所有預先定義角色清單,請參閱「角色說明」。
以下是 VM 的預先定義常用角色。如要進一步瞭解常見角色,請參閱「常見角色」。
- VM 類型檢視者
vm-type-viewer
:具備預先定義 VM 類型的讀取權限。 - 公開圖片檢視者
public-image-viewer
:具備讀取 GDC 提供的圖片權限。
如要授予或取得 VM 資源的存取權,請參閱「授予專案資源存取權」。
確認使用者是否能存取 VM 資源
以要求或驗證權限的使用者身分登入。
確認您或使用者是否可以建立虛擬機器:
kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachines.virtualmachine.gdc.goog -n PROJECT
使用下列定義替換變數。
變數 替換 MANAGEMENT_API_SERVER
系統 kubeconfig 檔案 (來自 gdcloud auth login
)。PROJECT
要建立 VM 映像檔的專案名稱。 - 如果輸出內容為
yes
,表示您有權在專案PROJECT
中建立 VM。 - 如果輸出內容為
no
,表示您沒有權限。請與專案 IAM 管理員聯絡,要求在 VM 所在的專案命名空間中,將專案 VirtualMachine 管理員 (project-vm-admin
) 角色指派給您。
- 如果輸出內容為
選用:確認使用者是否可存取專案層級的 VM 映像檔。舉例來說,請執行下列指令,確認他們是否能在專案層級建立及使用
VirtualMachineImage
資源:kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i get virtualmachineimages.virtualmachine.gdc.goog -n PROJECT
kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog -n PROJECT
使用下列定義替換變數。
變數 替換 MANAGEMENT_API_SERVER
管理 API 伺服器 kubeconfig 檔案。 PROJECT
建立 VM 映像檔的專案名稱。 - 如果輸出為
yes
,表示使用者有權存取專案 PROJECT 中的自訂 VM 映像檔。 - 如果輸出內容為
no
,表示您沒有權限。請與專案 IAM 管理員聯絡,要求在 VM 所在的專案命名空間中,將您指派為專案虛擬機器映像檔管理員 (project-vm-image-admin
) 角色。
- 如果輸出為