本文說明向 IAM 專案管理員要求資源存取權時,所需的 Identity and Access Management (IAM) 角色和權限。您必須具備必要的 IAM 角色和權限,才能在 Google Distributed Cloud (GDC) 實體隔離方案中執行虛擬機器 (VM) 相關工作。
本文件適用於平台管理員或應用程式操作員群組中的開發人員,他們會在 GDC 環境中建立及管理 VM。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
關於 IAM
Distributed Cloud 提供 Identity and Access Management (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,請按一下「Create Instance」(建立執行個體)。
- 如果可以繼續建立 VM,代表您有權限建立 VM。
- 如果「Create Instance」(建立執行個體) 按鈕無法使用,或您收到權限不足的錯誤訊息,請與 IAM 專案管理員聯絡,要求在 VM 所在專案的命名空間中,取得虛擬機器專案管理員 (
project-vm-admin) 角色。
- 如要確認您是否可以查看及建立映像檔,請依序點選「Virtual Machines」>「Import」>「Create Image」。
- 如果可以繼續匯入映像檔,代表您有權建立
VirtualMachineImageImport資源。 - 如果「Import」(匯入) 或「Create Image」(建立映像檔) 選項無法使用,或您遇到權限錯誤,請與 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_SERVERgdcloud auth login的系統 kubeconfig 檔案。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) 角色。
- 如果輸出內容為