本頁說明向機構和專案 IAM 管理員要求資源存取權時,必須具備的身分與存取權管理 (IAM) 角色和權限。如要在 Google Distributed Cloud (GDC) 氣隙環境中對虛擬機器 (VM) 執行工作,您必須具備適當的 IAM 角色和權限。
本頁面適用於平台管理員或應用程式運算子群組的開發人員,他們會在 GDC 環境中建立及管理 VM。詳情請參閱 GDC air-gapped 的目標對象說明文件。
事前準備
如要使用 gdcloud CLI 指令,請完成「gdcloud 指令列介面 (CLI)」一節中的必要步驟。Google Distributed Cloud Air-gapped 的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。
取得 kubeconfig 檔案路徑
如要對 Management API 伺服器執行指令,請確認您具備下列資源:
如果沒有管理 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。 - 專案 VirtualMachine 映像檔管理員
project-vm-image-admin:管理專案命名空間中的 VM 映像檔。
如要查看應用程式運算子 (AO) 的所有預先定義角色清單,請參閱「角色說明」。
如要授予或取得 VM 資源的存取權,請參閱「授予專案資源存取權」。
確認使用者是否能存取 VM 資源
以要求或驗證權限的使用者身分登入。
確認您或使用者是否可以建立虛擬機器:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ auth can-i create virtualmachines.virtualmachine.gdc.goog使用下列定義替換變數。
變數 替換 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 \ -n PROJECT \ auth can-i get virtualmachineimages.virtualmachine.gdc.googkubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog使用下列定義替換變數。
變數 替換 MANAGEMENT_API_SERVER管理 API 伺服器 kubeconfig 檔案。 PROJECT建立 VM 映像檔的專案名稱。 - 如果輸出為
yes,表示使用者有權存取專案 PROJECT 中的自訂 VM 映像檔。 - 如果輸出內容為
no,表示您沒有權限。請與專案 IAM 管理員聯絡,並在 VM 所在的專案命名空間中,要求「專案虛擬機器映像檔管理員」(project-vm-image-admin) 角色。
- 如果輸出為