管理訪客政策 (舊版)

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

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 名稱前置字串清單中。

從失敗中復原

系統不會重試安裝失敗的軟體配方。這是因為系統不知道失敗的軟體配方將事物留在哪個狀態。

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

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

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

後續步驟