管理訪客政策 (舊版)

建立訪客政策後,您可以按照下列程序查看及管理政策:

OS Config 代理程式每 10 到 15 分鐘會執行一次,因此設定政策更新或刪除後,大約需要 10 到 15 分鐘才會生效。

您可以使用 Google Cloud CLI 或 REST 管理訪客政策。

事前準備

  • 查看 OS 設定配額。
  • 如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    請根據您打算如何使用本頁範例,選取對應的分頁標籤:

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。

更新住客政策

如要更新住客政策,請完成下列步驟:

  1. 更新 YAML 或 JSON 檔案。
  2. 執行更新或修補程式指令。更新程序與建立程序類似,但新增了對 etag 的支援,可控管並行和一致性。

gcloud

使用 os-config guest-policies update 指令更新訪客政策。

gcloud beta compute os-config guest-policies update POLICY_ID \
     --file=FILE

更改下列內容:

  • POLICY_ID:要更新的訪客政策名稱。
  • FILE:包含更新後訪客政策規格的 JSON 或 YAML 檔案。

REST

在 API 中建立目標為 projects.guestPolicies.patch 方法的 PATCH 要求。

PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

{
  For more information, see Guest policy JSON
}

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策的名稱。

說明訪客政策

gcloud

如要查看訪客政策的詳細資料,請使用 os-config guest-policies describe 指令。將 POLICY_ID 替換成要說明的訪客政策名稱。

gcloud beta compute os-config guest-policies describe POLICY_ID

REST

在 API 中建立目標為 projects.guestPolicies.get 方法的 GET 要求。

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策的名稱。

列出訪客政策

gcloud

如要查看專案中的訪客政策清單,請使用 os-config guest-policies list 指令。

gcloud beta compute os-config guest-policies list

REST

在 API 中,建立對 projects.guestPolicies.list 方法的 GET 要求。將 PROJECT_ID 替換為專案 ID。

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies

刪除訪客政策

OS 設定代理程式偵測到刪除訪客政策的觸發條件時,系統會維持目前的狀態,但不會進一步維護設定。舉例來說,假設您已設定訪客政策 package-update-zone2b,在可用區 us-west2-b 的所有 VM 上安裝套件 my-package,並保留套件 UPDATED。

刪除 package-update-zone2b 政策後,會發生下列變更:

  • us-west2-b 中所有已安裝 my-package 的 VM 都會保留 my-package。系統目前狀態不會還原。
  • 在刪除政策後,OS 設定代理程式日後的所有執行作業都會發生下列情況:

    • 如果將新的 VM 新增至 us-west2-b,則不會在這個新的 VM 上安裝 my-package。
    • 如果執行個體已安裝 my-package,則不會更新套件。

gcloud

如要刪除訪客政策,請使用 os-config guest-policies delete 指令。將 POLICY_ID 替換為要刪除的客層政策名稱。

gcloud beta compute os-config guest-policies delete POLICY_ID

REST

在 API 中建立目標為 projects.guestPolicies.delete 方法的 DELETE 要求。

DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策的名稱。

查看 VM 執行個體的設定

gcloud

如要查看套用至單一 VM 執行個體的政策,請使用 os-config guest-policies lookup 指令。

gcloud beta compute os-config guest-policies lookup VM_NAME \
    --zone=ZONE

更改下列內容:

  • VM_NAME:VM 執行個體的名稱。
  • ZONE:VM 執行個體的可用區。

REST

如要查看套用至單一 VM 執行個體的政策,請使用下列 POST 要求。

POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:VM 執行個體的可用區。
  • VM_NAME:VM 執行個體的名稱。

疑難排解

檢查訪客政策

您可以使用 Cloud de Confiance 控制台或 Google Cloud CLI,檢查與專案相關聯的客體政策。

控制台

  1. 前往 Cloud de Confiance 控制台的「OS Guest Policies」(OS 客戶政策) 頁面。

    前往「OS Guest Policies」(OS 客戶政策) 頁面

  2. 選取要檢查的訪客政策,然後按一下「查看詳細資料」。

gcloud

  1. 使用 os-config guest-policies list 指令列出所有訪客政策。

    gcloud beta compute os-config guest-policies list
    
  2. 從訪客政策清單中,複製要檢查的訪客政策 ID,然後執行指令來檢查各項訪客政策。將 POLICY_ID 替換成要查看的政策 ID。

    gcloud beta compute os-config guest-policies describe POLICY_ID
    

檢查特定 VM 的訪客政策

您可以對特定 VM 執行 lookup 指令,查看該 VM 適用哪些設定。

如果 VM 似乎未套用預期客體政策的需求,建議您檢查客體政策清單,看看指派項目是否包含該特定 VM 執行個體。這有助於判斷訪客政策中的 Assignment 欄位是否與這個特定 VM 相符。

使用 os-config guest-policies lookup 指令,列出可能指定特定 VM 的訪客政策。將 VM_NAME 替換為要檢查的 VM 名稱。

gcloud beta compute os-config guest-policies lookup VM_NAME

詳情請參閱「查看 VM 執行個體的設定」。

指令輸出內容可能會顯示,VM 實際上並非客體政策 VM 指派屬性的目標。舉例來說,可能未列在 Labels 清單或 VM 名稱前置字元清單中。

從失敗中復原

如果軟體 recipe 安裝失敗,系統不會重試。這是因為系統不知道失敗的軟體配方將項目留在哪個狀態。

偵錯失敗的軟體配方時,建議您採取下列步驟:

  1. 重新命名軟體 recipe。
  2. 使用重新命名的軟體配方,刪除並重新建立訪客政策。

如需更多疑難排解步驟,請參閱「排解 VM 管理員問題」。

後續步驟