準備 IAM 權限

本文說明向專案 IAM 管理員要求資源存取權時,必須具備的身分與存取權管理 (IAM) 角色和權限。您必須具備必要的 IAM 角色和權限,才能在 Google Distributed Cloud (GDC) 氣隙式裝置的虛擬機器 (VM) 上執行工作。

本文適用於平台管理員或應用程式運算子群組的開發人員,這類人員會在 GDC 環境中建立及管理 VM。

關於 IAM

GDC 氣隙式裝置提供身分與存取權管理 (IAM) 功能,可精細劃分特定 GDC 氣隙式裝置資源的存取權限,同時避免其他資源遭到未經授權者擅自存取。IAM 遵循最低權限的安全原則,並透過 IAM 角色和權限,控管哪些使用者有權存取特定資源。

事前準備

如要使用 gdcloud CLI 指令,請完成「gdcloud 指令列介面 (CLI)」一節中的必要步驟。Google Distributed Cloud 實體隔離方案設備的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。

取得 kubeconfig 檔案路徑

  1. 執行 gdcloud auth login 至 Management API 伺服器。

    1. 記錄產生的檔案路徑。以下是記錄路徑的範例:
      /tmp/admin-kubeconfig-with-user-identity.yaml。

    2. 請使用路徑取代這些操作說明中的 MANAGEMENT_API_SERVER。

要求 IAM 角色

請與專案 IAM 管理員聯絡,要求對方授予您專案的下列角色:

  • 專案 VirtualMachine 管理員 (project-vm-admin):在專案命名空間中建立、修改、列出及刪除 VM。

  • 專案虛擬機器映像檔管理員 (project-vm-image-admin):在專案命名空間中建立、列出及刪除 VM 映像檔。

所有 VM 角色都必須繫結至 VM 所在的專案命名空間。

如要查看所有應用程式運算子 (AO) 的預先定義角色清單,請參閱「角色說明」。

如要授予或取得 VM 資源的存取權,請參閱「授予專案資源存取權」。

確認使用者是否能存取 VM 資源

按照步驟登入 GDC 控制台或 gdcloud CLI,驗證虛擬機器資源和工作負載的存取權:

控制台

  1. 以要求或驗證權限的使用者身分登入 GDC 控制台。
  2. 在 GDC 控制台首頁上,確認機構和專案名稱,確保您位於正確的專案中。
  3. 在導覽選單中,依序點選「Virtual Machines」>「Instances」。
  4. 如要確認您是否有權在專案中建立 VM,請按一下「建立執行個體」。
    • 如果可以繼續建立 VM,表示您有建立 VM 的權限。
    • 如果「建立執行個體」按鈕無法使用,或您收到錯誤訊息指出權限不足,請與專案 IAM 管理員聯絡,並在 VM 所在的專案命名空間中,要求專案 VirtualMachine 管理員 (project-vm-admin) 角色。
  5. 如要判斷是否可以查看及建立映像檔,請依序點選「虛擬機器」>「匯入」>「建立映像檔」。
    • 如果可以繼續匯入映像檔,表示您有權建立 VirtualMachineImageImport 資源。
    • 如果「匯入」或「建立映像檔」選項無法使用,或是發生權限錯誤,請聯絡專案 IAM 管理員,並在 VM 所在的專案命名空間中,要求專案虛擬機器映像檔管理員 (project-vm-image-admin) 角色。

CLI

  1. 以要求或驗證權限的使用者身分登入。

  2. 確認您或使用者是否可以建立虛擬機器:

    kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachines.virtualmachine.gdc.goog -n PROJECT
    

    使用下列定義替換變數:

    變數 替換
    MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 路徑
    PROJECT 您建立 VM 映像檔的專案名稱
    • 如果輸出為 yes,表示您有權在專案 PROJECT 中建立 VM。
    • 如果輸出內容為 no,表示您沒有權限。請與專案 IAM 管理員聯絡,要求在 VM 所在的專案命名空間中,授予專案 VirtualMachine 管理員 (project-vm-admin) 角色。
  3. 確認您是否可以存取專案層級的 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_SERVER Management API 伺服器 kubeconfig 路徑
    PROJECT 您建立 VM 映像檔的專案名稱
    • 如果輸出內容為 yes,表示使用者有權存取專案 PROJECT 中的自訂 VM 映像檔。
    • 如果輸出內容為 no,表示您沒有權限。請與專案 IAM 管理員聯絡,要求在 VM 所在的專案命名空間中,授予專案虛擬機器映像檔管理員 (project-vm-image-admin) 角色。

後續步驟