設定可信映像檔政策

根據預設,專案使用者可以使用任何公開映像檔,以及主體能透過 IAM 角色存取的任何映像檔,來建立永久磁碟或複製映像檔。不過在某些情況下,您可能會想要限制主體的權限,讓他們在建立開機磁碟時,只能利用有符合您政策及安全性需求之受核准軟體的映像檔。

請使用「可信映像檔」功能定義機構政策,讓主體只能利用特定專案中的映像檔建立永久磁碟。

如要限制可以使用映像檔的位置,請參閱限制使用共用映像檔、磁碟與快照的說明。

事前準備

  • 請參閱「使用限制」頁面,瞭解如何管理機構層級的政策。
  • 參閱「瞭解階層評估」頁面,瞭解組織政策的生效方式。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 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 值區中的映像檔。

  • 可信映像檔政策無法限制使用者在當地專案中建立映像檔資源。

設定圖片存取限制

在專案、資料夾或機構上設定 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 設定映像檔存取權限制。

控制台

舉例來說,如要在專案層級設定限制,請執行下列操作:

  1. 前往「組織政策」 頁面。

    前往「Organization policies」(組織政策)

  2. 在政策清單中,點選「定義可信映像檔專案」。 系統會顯示「政策詳細資料」頁面。

  3. 在「政策詳細資料」頁面中,按一下「管理政策」。系統會顯示「編輯政策」頁面。

  4. 在「Edit」(編輯) 頁面選取 [Customize] (自訂)

  5. 在「政策強制執行」部分,選取強制執行選項。如要瞭解繼承和資源階層,請參閱「瞭解階層評估」。

  6. 按一下「Add rule」(新增規則)

  7. 在「Policy values」(政策值) 清單中,您可以選取這項機構政策是否應允許存取所有影像專案、拒絕存取所有影像專案,或是指定要允許或拒絕存取的自訂專案集。

    如要設定政策規則,請完成下列任一做法:

    • 如要允許使用者從所有公開映像檔建立開機磁碟,請選取「全部允許」
    • 如要禁止使用者透過所有公開映像檔建立開機磁碟,請選取「全部拒絕」
    • 如要指定使用者可從中建立開機磁碟的公開映像檔,請選取「自訂」。 畫面上會顯示「政策類型」和「自訂值」欄位。

      1. 在「政策類型」清單中,選取「允許」或「拒絕」
      2. 在「自訂值」欄位中,使用 projects/IMAGE_PROJECT 格式輸入圖片專案的名稱。

        IMAGE_PROJECT 替換為要設定限制的映像檔專案。

        你可以新增多個圖像專案。針對要新增的每個圖片專案,按一下「新增」,然後輸入圖片專案名稱。

  8. 如要儲存規則,請按一下「完成」

  9. 如要儲存並套用機構政策,請按一下「儲存」

如要進一步瞭解如何建立組織政策,請參閱「建立及管理組織政策」。

gcloud

舉例來說,如要在專案層級設定限制,請執行下列操作:

  1. 使用 resource-manager org-policies describe 指令取得專案的現有政策設定。

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    PROJECT_ID 替換為專案 ID。

  2. 在文字編輯器中開啟 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
    

  3. policy.yaml 檔案套用至您的專案。如果您的機構或資料夾已有限制條件,這些限制條件可能會與您設定的專案層級限制條件發生衝突。如要套用限制,請使用 resource-manager org-policies set-policy 指令。

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    PROJECT_ID 替換為專案 ID。

完成限制條件設定後,請進行測試,確定建立的限制條件是您需要的。

後續步驟