根據預設,專案中的使用者可以使用任何公開映像檔,以及主體可透過 IAM 角色存取的任何映像檔,建立永久磁碟或複製映像檔。不過,在某些情況下,您可能會想限制主體,讓他們只能從含有符合政策或安全規定的核准軟體的映像檔建立開機磁碟。
使用「可信映像檔」功能定義組織政策,允許主體僅從特定專案中的映像檔建立永久磁碟。
如要限制可以使用映像檔的位置,請參閱限制使用共用映像檔、磁碟與快照的說明。
事前準備
- 請參閱「使用限制」頁面,瞭解如何在機構組織層級管理政策。
- 請參閱「瞭解階層評估」頁面,瞭解組織政策的傳播方式。
-
如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上範例的預計用途分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。
gcloud
-
安裝 Google Cloud CLI。 安裝完成後,請執行下列指令,初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
- 設定預設區域和可用區。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
限制
可信映像檔政策無法限制下列映像檔的存取權:
您本機專案的自訂映像檔。
Cloud Storage bucket 中的圖片檔。
可信映像檔政策無法限制使用者在當地專案中建立映像檔資源。
設定圖片存取限制
在專案、資料夾或機構中設定compute.trustedImageProjects限制,即可制定映像檔存取政策。您必須擁有修改組織政策的權限才能設定條件約束。舉例來說,roles/orgpolicy.policyAdmin 有權設定這些限制。如要進一步瞭解如何在專案、資料夾或機構層級管理政策,請參閱「使用限制」。
您可以對 Compute Engine 提供的所有公開映像檔設定限制。如需映像檔專案名稱清單,請參閱「作業系統詳細資料」。您也可以使用 ml-images 專案,限制 Compute Engine 提供的機器學習 (ML) 映像檔。如果您使用無伺服器 VPC 存取,請授予專案權限,以便使用 serverless-vpc-access-images 專案中的 Compute Engine VM 映像檔。
使用 Google Cloud 控制台或 Google Cloud CLI 設定映像檔存取權限制。
控制台
舉例來說,如要在專案層級設定限制,請按照下列步驟操作:
前往「組織政策」頁面。
在政策清單中,按一下「Define trusted image projects」(定義可信映像檔專案)。系統會顯示「政策詳細資料」頁面。
在「Policy details」(政策詳細資料) 頁面中,按一下「Manage Policy」(管理政策)。系統會顯示「編輯政策」頁面。
在「Edit」(編輯) 頁面選取 [Customize] (自訂)。
在「政策強制執行」部分,選取強制執行選項。如要瞭解繼承和資源階層,請參閱「瞭解階層評估」。
按一下「Add rule」(新增規則)。
在「政策值」清單中,您可以選取這項組織政策是否應允許存取所有圖像專案、拒絕存取所有圖像專案,或是指定一組自訂專案來允許或拒絕存取。
如要設定政策規則,請完成下列任一選項:
- 如要允許使用者從所有公開映像檔建立開機磁碟,請選取「允許所有」。
- 如要禁止使用者從所有公開映像檔建立開機磁碟,請選取「全部拒絕」。
如要指定使用者可從中建立開機磁碟的一組公開映像檔,請選取「Custom」(自訂)。系統會顯示「政策類型」和「自訂值」欄位。
- 在「政策類型」清單中,選取「允許」或「拒絕」。
在「Custom values」(自訂值) 欄位中,使用
projects/IMAGE_PROJECT格式輸入圖片專案的名稱。將
IMAGE_PROJECT替換為要設定限制的圖片專案。你可以新增多個圖片專案。針對要新增的每個映像檔專案,按一下「Add」(新增),然後輸入映像檔專案名稱。
如要儲存規則,請按一下「完成」。
如要儲存並套用組織政策,請按一下 儲存。
如要進一步瞭解如何建立組織政策,請參閱「建立及管理組織政策」。
gcloud
舉例來說,如要在專案層級設定限制,請按照下列步驟操作:
使用
resource-manager org-policies describe指令,取得專案的現有政策設定。gcloud resource-manager org-policies describe \ compute.trustedImageProjects --project=PROJECT_ID \ --effective > policy.yaml
將 PROJECT_ID 替換為專案 ID。
在文字編輯器中開啟
policy.yaml檔案,並修改compute.trustedImageProjects限制條件。新增需要的限制條件或移除不再需要的限制條件。完成檔案編輯後,請儲存變更。以下是您可能會在政策檔案中設定的限制條件項目範例:constraint: constraints/compute.trustedImageProjects listPolicy: allowedValues: - projects/debian-cloud - projects/cos-cloud deniedValues: - projects/IMAGE_PROJECT將 IMAGE_PROJECT 替換為要在專案中限制的映像檔專案名稱。
或者,可能除了專案中的自訂映像檔以外,您想要拒絕其他映像檔的存取權。在這種情況下,請使用下列範例:
constraint: constraints/compute.trustedImageProjects listPolicy: allValues: DENY
將
policy.yaml檔案套用至您的專案。如果組織或資料夾已有現有限制,這些限制可能會與您設定的專案層級限制衝突。如要套用限制,請使用resource-manager org-policies set-policy指令。gcloud resource-manager org-policies set-policy \ policy.yaml --project=PROJECT_ID
將 PROJECT_ID 替換為專案 ID。
完成限制條件設定後,請進行測試,確定建立的限制條件是您需要的。
後續步驟
- 進一步瞭解組織政策服務。
- 查看預設可用的公開圖片。
- 與其他專案共用私人映像檔。
- 瞭解如何限制使用共用映像檔、磁碟與快照。
- 瞭解如何利用映像檔啟動執行個體。