本文說明向專案 IAM 管理員要求資源存取權時,必須具備的身分與存取權管理 (IAM) 角色和權限。您必須具備必要的 IAM 角色和權限,才能在 Google Distributed Cloud (GDC) Air-Gap 中對虛擬機器 (VM) 執行工作。
本文適用於平台管理員或應用程式運算子群組的開發人員,這些人員會在 GDC 環境中建立及管理 VM。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件。
關於 IAM
Distributed Cloud 提供身分與存取權管理 (IAM) 功能,可對特定 Distributed Cloud 資源授予精細的存取權,避免未經授權者存取其他資源。IAM 遵循最低權限的安全原則,並透過 IAM 角色和權限,控管哪些使用者有權存取特定資源。
事前準備
如要使用 gdcloud CLI 指令,請完成「gdcloud 指令列介面 (CLI)」一節中的必要步驟。Google Distributed Cloud 實體隔離方案的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。
取得 kubeconfig 檔案路徑
如要對 Management API 伺服器執行指令,請確認您具備下列資源:
登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。
使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的
MANAGEMENT_API_SERVER。
要求 IAM 角色
請與專案 IAM 管理員聯絡,要求對方授予您專案的下列角色:
虛擬機器專案管理員 (project-vm-admin):在專案命名空間中建立、修改、列出及刪除 VM。
虛擬機器映像檔專案管理員 (project-vm-image-admin):在專案命名空間中建立、列出及刪除 VM 映像檔。
所有 VM 角色都必須繫結至 VM 所在的專案命名空間。
如要查看所有應用程式運算子 (AO) 的預先定義角色清單,請參閱「角色說明」。
如要授予或取得 VM 資源的存取權,請參閱「授予專案資源存取權」。
確認使用者是否能存取 VM 資源
按照步驟登入 GDC 控制台或 gdcloud CLI,驗證 VM 資源和工作負載的存取權:
控制台
- 以要求或驗證權限的使用者身分登入 GDC 控制台。
- 在 GDC 控制台首頁上,確認機構和專案名稱,確保您位於正確的專案中。
- 在導覽選單中,依序點選「Virtual Machines」>「Instances」。
- 如要確認您是否有權在專案中建立 VM,請按一下「建立執行個體」。
- 如果可以繼續建立 VM,表示您有建立 VM 的權限。
- 如果「建立執行個體」按鈕無法使用,或您收到權限不足的錯誤訊息,請與專案 IAM 管理員聯絡,並在 VM 所在的專案命名空間中,要求虛擬機器專案管理員 (
project-vm-admin) 角色。
- 如要判斷是否可以查看及建立映像檔,請依序點選「虛擬機器」>「匯入」>「建立映像檔」。
- 如果可以繼續匯入映像檔,表示您有權建立
VirtualMachineImageImport資源。 - 如果「匯入」或「建立映像檔」選項無法使用,或是發生權限錯誤,請聯絡專案 IAM 管理員,並在 VM 所在的專案命名空間中,要求「虛擬機器映像檔專案管理員」角色 (
project-vm-image-admin)。
- 如果可以繼續匯入映像檔,表示您有權建立
CLI
使用帳戶憑證或要求/驗證權限的使用者憑證登入。
使用
kubectl指令,確認您或使用者是否可以建立虛擬機器: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 所在的專案命名空間中,要求「虛擬機器專案管理員」(project-vm-admin) 角色。
- 如果輸出內容為
確認您是否可以存取專案層級的 VM 映像檔。執行
kubectl指令,確認您是否能在專案層級建立及使用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_SERVERManagement API 伺服器 kubeconfig路徑PROJECT您建立 VM 映像檔的專案名稱 - 如果輸出內容為
yes,表示您有權存取專案 PROJECT 中的自訂 VM 映像檔。 - 如果輸出內容為
no,表示您沒有權限。請與專案 IAM 管理員聯絡,要求在 VM 所在專案的命名空間中,授予虛擬機器映像檔專案管理員 (project-vm-image-admin) 角色。
- 如果輸出內容為