使用 Google Cloud 控制台設定政策

本頁面提供操作說明,說明如何使用 Google Cloud 控制台設定二進位授權政策。您也可以使用 Google Cloud CLIREST API 執行這些工作。此步驟屬於設定二進位授權流程的一部分。

政策是一組規則,可控管一或多個容器映像檔的部署作業。

事前準備

  1. 啟用二進位授權

  2. 為平台啟用二進位授權:

  3. 如果您打算使用認證,建議先建立認證者,再設定政策。您可以使用 Google Cloud 主控台指令列工具建立驗證者。

  4. 選取您已啟用 Binary Authorization 的專案專案 ID。

設定預設規則

本節適用於 GKE、GKE Multi-Cloud、Distributed Cloud、Cloud Run 和 Cloud Service Mesh

規則是政策的一部分,可定義映像檔必須滿足的限制條件,才能部署。預設規則會定義適用於所有非豁免容器映像檔的限制,這些映像檔沒有自己的叢集專屬規則。每項政策都有預設規則。

如要設定預設規則,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Binary Authorization」(二進位授權) 頁面。

    前往「二進位授權」頁面

  2. 按一下「政策」分頁標籤。

  3. 按一下「編輯政策」

  4. 設定預設規則的評估模式

    評估模式會指定二進位授權在部署時強制執行的限制類型。如要設定評估模式,請選取下列其中一個選項:

    • 允許所有映像檔:允許部署所有映像檔。
    • 拒絕所有映像檔:禁止部署所有映像檔。
    • 僅接受下列驗證者均核准的映像檔: 如果映像檔有一或多個認證,且您新增至這項規則的所有驗證者都能驗證這些認證,系統就會允許部署該映像檔。 如要瞭解如何建立驗證者,請參閱建立驗證者

    如果您選取「僅接受下列驗證者均核准的映像檔」

    1. 取得驗證者的名稱或資源 ID。

      Google Cloud 控制台的「Attestors」(認證者) 頁面中,您可以查看現有的認證者,或建立新的認證者。

      前往「二進位授權驗證者」頁面

    2. 按一下「新增認證者」

    3. 選取下列選項之一:

      • 依專案和驗證者名稱新增

        專案是指儲存稽核者的專案 ID。驗證者名稱範例:build-qa

      • 依驗證者資源 ID 新增

        資源 ID 的格式如下:

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. 在「認證者」下方,為所選選項輸入適當的值。

    5. 如要新增其他認證者,請按一下「Add Another Attestor」

    6. 按一下「新增認證者」即可儲存規則。

如要啟用模擬測試模式,請按照下列步驟操作:

  1. 選取「模擬測試模式」

  2. 點選 [儲存政策]

設定叢集專屬規則 (選用)

本節適用於 GKE、Distributed Cloud 和 Cloud Service Mesh

政策也可以有一或多項叢集專屬規則。 這類規則僅適用於要部署至特定 Google Kubernetes Engine (GKE) 叢集的容器映像檔。叢集專屬規則是政策的選用部分。

新增叢集專屬規則 (GKE)

本節適用於 GKE 和 Distributed Cloud

如要為 GKE 叢集新增叢集專屬規則,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Binary Authorization」(二進位授權) 頁面。

    前往「二進位授權」頁面

  2. 按一下「政策」分頁標籤。

  3. 按一下「編輯政策」

  4. 展開「GKE 和 GKE Enterprise 部署作業的其他設定」部分。

  5. 如果未設定特定規則類型,請按一下「建立專屬規則」

    1. 如要選取規則類型,請按一下「專屬規則類型」

    2. 如要變更規則類型,請按一下「變更」

  6. 按一下「新增專屬規則」

  7. 在「叢集資源 ID」欄位中,輸入叢集的資源 ID。

    叢集的資源 ID 格式為 LOCATION.NAME,例如 us-central1-a.test-cluster

  8. 設定預設規則的評估模式

    評估模式會指定二進位授權在部署時強制執行的限制類型。如要設定評估模式,請選取下列其中一個選項:

    • 允許所有映像檔:允許部署所有映像檔。
    • 拒絕所有映像檔:禁止部署所有映像檔。
    • 僅接受下列驗證者均核准的映像檔: 如果映像檔有一或多個認證,且您新增至這項規則的所有驗證者都能驗證這些認證,系統就會允許部署該映像檔。 如要瞭解如何建立驗證者,請參閱建立驗證者

    如果您選取「僅接受下列驗證者均核准的映像檔」

    1. 取得驗證者的名稱或資源 ID。

      Google Cloud 控制台的「Attestors」(認證者) 頁面中,您可以查看現有的認證者,或建立新的認證者。

      前往「二進位授權驗證者」頁面

    2. 按一下「新增認證者」

    3. 選取下列選項之一:

      • 依專案和驗證者名稱新增

        專案是指儲存稽核者的專案 ID。驗證者名稱範例:build-qa

      • 依驗證者資源 ID 新增

        資源 ID 的格式如下:

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. 在「認證者」下方,為所選選項輸入適當的值。

    5. 如要新增其他認證者,請按一下「Add Another Attestor」

    6. 按一下「新增認證者」即可儲存規則。

  9. 按一下「新增」,新增叢集專屬規則。

    你可能會看到「這個叢集似乎不存在。不過日後如果 GKE 提供這個叢集,這項規則仍會生效。」如果是,請再次按一下「新增」儲存規則。

  10. 如要啟用模擬測試模式,請選取「模擬測試模式」

  11. 點選 [儲存政策]

新增叢集專屬規則 (GKE Multi-Cloud、Distributed Cloud)

本節適用於 Distributed Cloud

如要為 GKE 叢集新增叢集專屬規則,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Binary Authorization」(二進位授權) 頁面。

    前往「二進位授權」頁面

  2. 按一下「政策」分頁標籤。

  3. 按一下「編輯政策」

  4. 展開「GKE 和 GKE Enterprise 部署作業的其他設定」部分。

  5. 如果未設定特定規則類型,請按一下「建立專屬規則」

    1. 如要選取規則類型,請按一下「專屬規則類型」

    2. 如要更新規則類型,請按一下「變更」

  6. 按一下「新增專屬規則」

  7. 在「叢集資源 ID」欄位中,輸入叢集的資源 ID。

    • 如果是 GKE 附加叢集和 GKE on AWS,格式為 CLUSTER_LOCATION.CLUSTER_NAME,例如 us-central1-a.test-cluster
    • 如果是 Google Distributed Cloud 和 Google Distributed Cloud,格式為 FLEET_MEMBERSHIP_LOCATION.FLEET_MEMBERSHIP_ID,例如 global.test-membership
  8. 設定預設規則的評估模式

    評估模式會指定二進位授權在部署時強制執行的限制類型。如要設定評估模式,請選取下列其中一個選項:

    • 允許所有映像檔:允許部署所有映像檔。
    • 拒絕所有映像檔:禁止部署所有映像檔。
    • 僅接受下列驗證者均核准的映像檔: 如果映像檔有一或多個認證,且您新增至這項規則的所有驗證者都能驗證這些認證,系統就會允許部署該映像檔。 如要瞭解如何建立驗證者,請參閱建立驗證者

    如果您選取「僅接受下列驗證者均核准的映像檔」

    1. 取得驗證者的名稱或資源 ID。

      Google Cloud 控制台的「Attestors」(認證者) 頁面中,您可以查看現有的認證者,或建立新的認證者。

      前往「二進位授權驗證者」頁面

    2. 按一下「新增認證者」

    3. 選取下列選項之一:

      • 依專案和驗證者名稱新增

        專案是指儲存稽核者的專案 ID。驗證者名稱範例:build-qa

      • 依驗證者資源 ID 新增

        資源 ID 的格式如下:

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. 在「認證者」下方,為所選選項輸入適當的值。

    5. 如要新增其他認證者,請按一下「Add Another Attestor」

    6. 按一下「新增認證者」即可儲存規則。

  9. 按一下「新增」即可儲存規則。

    你可能會看到「這個叢集似乎不存在。不過日後如果 GKE 提供這個叢集,這項規則仍會生效。在此情況下,請再次按一下「新增」儲存規則。

  10. 如要啟用模擬測試模式,請選取「模擬測試模式」

  11. 點選 [儲存政策]

新增專屬規則

您可以建立規則,範圍限定為網格服務身分、Kubernetes 服務帳戶或 Kubernetes 命名空間。如要新增或修改特定規則,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Binary Authorization」(二進位授權) 頁面。

    前往「二進位授權」頁面

  2. 按一下「政策」分頁標籤。

  3. 按一下「編輯政策」

  4. 展開「GKE 和 Anthos 部署作業的其他設定」部分。

  5. 如果未設定特定規則類型,請按一下「建立專屬規則」

    1. 按一下「特定規則類型」,選取規則類型。

    2. 按一下「變更」即可更新規則類型。

  6. 如果存在專屬規則類型,您可以點選「編輯類型」來變更規則類型。

  7. 如要新增專屬規則,請按一下「新增專屬規則」。視您選擇的規則類型而定,輸入 ID 的方式如下:

    • ASM 服務身分:輸入 ASM 服務身分,格式如下: PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/SERVICE_ACCOUNT
    • Kubernetes 服務帳戶:輸入 Kubernetes 服務帳戶,格式如下:NAMESPACE:SERVICE_ACCOUNT
    • Kubernetes 命名空間:輸入 Kubernetes 命名空間,格式如下:NAMESPACE

    視規則類型而定,視需要取代下列項目:

    • PROJECT_ID:您定義 Kubernetes 資源的專案 ID。
    • NAMESPACE:Kubernetes 命名空間。
    • SERVICE_ACCOUNT:服務帳戶。
  8. 設定預設規則的評估模式

    評估模式會指定二進位授權在部署時強制執行的限制類型。如要設定評估模式,請選取下列其中一個選項:

    • 允許所有映像檔:允許部署所有映像檔。
    • 拒絕所有映像檔:禁止部署所有映像檔。
    • 僅接受下列驗證者均核准的映像檔: 如果映像檔有一或多個認證,且您新增至這項規則的所有驗證者都能驗證這些認證,系統就會允許部署該映像檔。 如要瞭解如何建立驗證者,請參閱建立驗證者

    如果您選取「僅接受下列驗證者均核准的映像檔」

    1. 取得驗證者的名稱或資源 ID。

      Google Cloud 控制台的「Attestors」(認證者) 頁面中,您可以查看現有的認證者,或建立新的認證者。

      前往「二進位授權驗證者」頁面

    2. 按一下「新增認證者」

    3. 選取下列選項之一:

      • 依專案和驗證者名稱新增

        專案是指儲存稽核者的專案 ID。驗證者名稱範例:build-qa

      • 依驗證者資源 ID 新增

        資源 ID 的格式如下:

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. 在「認證者」下方,為所選選項輸入適當的值。

    5. 如要新增其他認證者,請按一下「Add Another Attestor」

    6. 按一下「新增認證者」即可儲存規則。

  9. 按一下「模擬測試模式」即可啟用模擬測試模式

  10. 按一下「新增」,儲存特定規則。

  11. 點選 [儲存政策]

管理排除的圖片

本節適用於 GKE、Distributed Cloud、Cloud Run 和 Cloud Service Mesh

豁免圖片是指由路徑指定的圖片,可免於政策規則限制。二進位授權一律允許部署豁免映像檔。

這個路徑可以指定 Container Registry 或其他容器映像檔登錄檔中的位置。

Cloud Run

本節適用於 Cloud Run

您無法直接指定含有標記的圖片名稱。舉例來說,您無法指定 IMAGE_PATH:latest。

如要指定含有標記的映像檔名稱,請務必使用萬用字元指定映像檔名稱,如下所示:

  • * 適用於單一圖片的所有版本,例如 us-docker.pkg.dev/myproject/container/hello@*
  • **,適用於專案中的所有圖片,例如 us-docker.pkg.dev/myproject/**

您可以使用路徑名稱,以 IMAGE_PATH@DIGEST 格式指定摘要。

啟用系統政策

本節適用於 GKE 和 Distributed Cloud

「信任 Google 提供的所有系統映像檔」政策設定會啟用二進位授權系統政策。在部署時啟用這項設定後,二進位授權會免除對 GKE 要求的 Google 維護系統映像檔清單進行進一步的政策評估。系統政策的評估順序優先於其他政策設定。

如要啟用系統政策,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Binary Authorization」(二進位授權) 頁面。

    前往二進位授權

  2. 按一下「編輯政策」

  3. 展開「GKE 和 Anthos 部署作業的其他設定」部分。

  4. 在「Google system image exemption」(豁免 Google 系統映像檔) 區段中,選取「Trust all Google provided system images」(信任 Google 提供的所有系統映像檔)

    如要查看系統政策豁免的圖片,請按一下「查看詳細資料」

  5. 如要手動指定其他豁免圖片,請展開「不受這項政策規範的映像檔」下方的「自訂豁免規則」部分。

    然後按一下「新增圖片模式」,並輸入要排除的任何其他圖片的登錄路徑。

  6. 點選 [儲存政策]

後續步驟