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