查看 OS 政策報表

VM 管理員將 OS 政策指派作業套用至虛擬機器 (VM) 執行個體後,系統會產生 OS 政策指派作業報表。這份報表會顯示套用至特定 VM 的所有 OS 政策,在特定 OS 政策指派作業中的法規遵循狀態。

本文說明下列工作:

事前準備

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要角色和權限

如要取得查看 OS 政策合規資料所需的權限,請要求管理員授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色具備查看 OS 政策合規資料所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要查看 OS 政策合規資料,必須具備下列權限:

  • 查看機構或資料夾中 VM 的 OS 政策遵循摘要:
    • osconfig.osPolicyAssignmentReports.searchSummaries
    • osconfig.osPolicyAssignments.searchPolicies
    • resourcemanager.projects.get
    • resourcemanager.projects.list

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

查看機構或資料夾中所有 VM 的 OS 政策遵循摘要

您可以使用 Google Cloud 控制台,查看機構或資料夾中所有 VM 的 OS 政策遵循摘要。

VM 管理員只會顯示符合下列任一條件的專案 OS 政策遵循摘要:

  • 包含一或多個已啟用並執行 VM 管理員的 VM。
  • 包含一或多部 VM,這些 VM 在過去 7 天內執行過 VM 管理員,且提供 OS 政策合規資料。

如要查看 OS 政策合規資料,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「Compute Engine」 >「VM Manager」 >「OS policies」(作業系統政策) 頁面。

    前往 OS 政策

  2. 在 Google Cloud 控制台頂端的專案下拉式清單中,選取要查看 OS 政策合規摘要的機構或資料夾。

  3. 您可以透過下列選項查看作業系統政策的合規資料:

    1. 如要查看各專案的 OS 政策遵循摘要,請按一下「專案」分頁標籤。
    2. 如要查看各項政策的 OS 政策遵循摘要,請按一下「OS 政策」分頁標籤。
  4. 選用:使用查詢產生器指定計算 OS 政策合規摘要的條件。

  5. 查看 VM 的 OS 政策法規遵循摘要。「專案」分頁中的表格會為每個專案顯示一列,如下圖所示:

    所有專案的 OS 政策摘要。

    表格會列出符合您在查詢產生器中指定條件的下列資訊:

    • 專案:機構中至少含有一個 VM,並已啟用 VM 管理員的專案名稱。
    • VM 總數:每個專案中的 VM 總數。
    • 受監控的 VM:專案中符合下列狀態的 VM 數量:已啟用 VM 管理員代理程式,而且正在執行是否符合政策規定的掃描作業。
    • 設有政策的 VM:至少獲派一項政策的 VM 數量。
    • 符合規定:報告中所有獲派政策都符合規定的 VM 數量 (COMPLIANT)。
    • 不符合規定:報告中至少有一項獲派政策不符合規定的 VM 數量。NON-COMPLIANT
    • 不明:報告中至少有一項獲派政策為UNKNOWN,且沒有任何政策為NON-COMPLIANT的 VM 數量。UNKNOWN 狀態的原因如下:
      • VM 未執行。
      • VM 未啟用 VM 管理員代理程式。
      • 處理程序發生錯誤。
    • 沒有報告:已獲派政策,但找不到任何政策遵循報告的 VM 數量,原因如下:
      • VM 未啟用 VM 管理員代理程式。
      • 正在進行合規掃描。報表尚未準備就緒。
  6. 選用:如要查看 OS 政策合規摘要表格中的特定資料列,請套用表格篩選器。

    政策摘要表格中的表格篩選器。

    舉例來說,如要查看 VM 數量超過 10 個的專案 OS 政策遵循摘要,請將「VM 總數」篩選器選項設為 >= 10

  7. 選用:按一下 VM 數量,即可查看特定狀態 VM 的詳細資料。舉例來說,按一下「Unknown」(不明) 欄中特定專案的 VM 數量,會開啟「VM instances」(VM 執行個體) 分頁,並列出該專案中每個 VM 的不明 OS 政策。

    「VM 執行個體」分頁,顯示不明的 OS 政策。

    詳情請參閱「查看 OS 政策指派報告」。

使用查詢建立工具篩選 OS 政策合規資料

根據您在查詢建構工具中指定的條件,VM 管理員會顯示機構或資料夾中專案的 VM OS 政策遵循資料。然後,您可以使用 OS 政策合規表格中的表格篩選器,篩選顯示的資料。

舉例來說,如果您在查詢建構工具中將 OS 屬性設為 Debian,VM 管理員就會顯示 Debian OS VM 的 OS 政策合規資料。如要查看特定專案的法規遵循資料,請使用表格篩選器指定專案 ID。

查詢產生器,含一個屬性。

如要在「Projects」(專案) 分頁的查詢建立工具中設定查詢,請按照下列步驟操作:

  1. 選取「屬性」。查詢製作工具支援下列屬性:

    • 作業系統:指定作業系統的簡短名稱,例如 WindowsDebian
    • 作業系統版本:指定作業系統版本。例如 21.0410.0.22000。您可以在 OS 版本字串結尾指定單一星號 (*) 表示部分相符,例如 10*
    • VM 執行中:指定是否要查看處於 RUNNING 狀態的 VM 修補程式摘要。
    • 政策指紋:指定 OS 政策的專屬政策指紋。設定這項屬性後,VM 管理員只會針對具有指定指紋的 OS 政策計算法規遵循摘要。
    • 法規遵循狀態:指定政策的其中一種法規遵循狀態:
      • COMPLIANT:所有獲派政策都回報為 COMPLIANT 的 VM
      • NON-COMPLIANT:至少有一項獲派政策不符合規定的 VMNON-COMPLIANT
      • UNKNOWN:至少有一項獲派政策不符合規定的 VMUNKNOWN
  2. 選擇其中一個屬性,並指定屬性的值。 舉例來說,如要查看特定作業系統的 VM 修補程式摘要,請選取「OS」。接著,系統會顯示比較運算子清單,供您選擇。

    1. 選取「運算子」,例如 ==
    2. 在「值」欄位中,指定比較值。例如 Debian
  3. 如要新增其他屬性,請按一下「新增條件」

  4. 按一下 [搜尋]

查看 OS 政策指派作業報表

如要查看 OS 政策指派報告,可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST

請按照這個程序,查看特定位置的作業系統政策指派報表清單。

主控台

  1. 如果您使用 VPC Service Controls 保護服務,請將 Cloud Asset Inventory 服務新增至允許的服務清單。詳情請參閱可透過虛擬私有雲存取的服務

  2. 前往 Google Cloud 控制台的「OS policies」>「VM instances」頁面。

    前往 VM 執行個體

    查看 VM 法規遵循情形。

gcloud

如要查看 OS 政策指派報表清單,請使用 os-config os-policy-assignment-reports list 指令

如要查看特定位置的所有 OS 政策指派報表,請執行下列指令。將 ZONE 替換為 VM 所在區域。

gcloud compute os-config os-policy-assignment-reports list --location=ZONE

指令和輸出內容範例 (所有 VM)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a

INSTANCE                   ASSIGNMENT_ID                   LOCATION       UPDATE_TIME                  SUMMARY
centos7                    my-test-assignment1             us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
centos7                    my-test-assignment2             us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
rhel-8                     my-test-assignment1             us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
rhel-8                     my-test-assignment2             us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
my-centos                  my-test-assignment1             us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant
my-centos                  my-test-assignment2             us-central1-a  2021-11-02T18:14:37.418883Z  0/1 policies compliant
deb-10                     my-test-assignment2             us-central1-a  2021-11-02T19:00:11.777748Z  0/1 policies compliant
windows                    my-test-assignment2             us-central1-a  2021-11-02T18:24:07.935711Z  0/1 policies compliant
windows                    my-test-assignment3             us-central1-a  2021-11-02T18:24:07.935711Z  0/1 policies compliant
sles15                     my-test-assignment2             us-central1-a  2021-11-02T18:38:07.335276Z  0/1 policies compliant

您也可以使用 --instance--assignment-id 等選用標記來篩選結果。

gcloud compute os-config os-policy-assignment-reports list --location=ZONE \
    [--instance=VM_NAME | --assignment-id=ASSIGNMENT_ID]

更改下列內容:

  • ZONE:VM 所在的可用區
  • 選用:提供下列其中一項資訊:
    • VM_NAME:要查看 OS 政策指派作業報表的 VM 名稱或 ID
    • ASSIGNMENT_ID:您要查看 OS 政策指派作業報表的 OS 政策指派作業 ID

指令和輸出內容範例 (特定 VM)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \
    --instance=my-centos

INSTANCE                ASSIGNMENT_ID               LOCATION       UPDATE_TIME                  SUMMARY
my-centos               my-test-assignment1         us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant
my-centos               my-test-assignment2         us-central1-a  2021-11-02T18:14:37.418883Z  0/1 policies compliant

指令和輸出內容範例 (特定指派)

gcloud compute os-config os-policy-assignment-reports list --location=us-central1-a \
    --assignment-id=my-test-assignment1

INSTANCE                ASSIGNMENT_ID               LOCATION       UPDATE_TIME                  SUMMARY
centos7                 my-test-assignment1         us-central1-a  2021-11-02T18:14:03.908341Z  0/1 policies compliant
rhel-8                  my-test-assignment1         us-central1-a  2021-11-02T19:13:28.468290Z  0/1 policies compliant
my-centos               my-test-assignment1         us-central1-a  2021-11-02T18:14:37.418883Z  1/1 policies compliant

REST

在 API 中,建立目標為 projects.locations.osPolicyAssignments.reports.list 方法GET 要求。

GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report

更改下列內容:

  • PROJECT_ID:您的專案 ID
  • ZONE:VM 所在的可用區
  • (選用步驟) 請提供下列其中一項資訊:
    • VM_NAME:要查看 OS 政策指派作業報表的 VM 名稱或 ID。如非必要,請使用 - 做為值。
    • ASSIGNMENT_ID:您要查看 OS 政策指派作業報表的 OS 政策指派作業 ID。 如非必要,請使用 - 做為值。

範例:

  • 如要查看專案 my-project-12345 和可用區 us-central1-a 中所有 VM 的報表,請使用下列 URI:
    projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/-/report
  • 如要查看專案 my-project-12345 中位於區域 us-central1-a 的 VM my-test-vm 報表,請使用下列 URI:
    projects/my-project-12345/locations/us-central1-a/instances/my-test-vm/osPolicyAssignments/-/report
  • 如要查看專案 my-project-12345 和可用區 us-central1-a 中所有具有 my-test-assignment OS 政策指派作業的 VM 報表,請使用下列 URI:
    projects/my-project-12345/locations/us-central1-a/instances/-/osPolicyAssignments/my-test-assignment/report

查看 OS 政策指派作業報表

請使用這個程序,詳細查看與特定 VM 相關聯的 OS 政策指派報表。

主控台

  1. 如果您使用 VPC Service Controls 保護服務,請將 Cloud Asset Inventory 服務新增至允許的服務清單。詳情請參閱可透過虛擬私有雲存取的服務

  2. 前往 Google Cloud 控制台的「OS policies」>「VM instances」頁面。

    前往 Google Cloud 控制台

  3. 如要查看特定 VM 的 OS 政策指派作業報表,請按一下該 VM 的名稱。

    查看 VM 法規遵循情形。

  4. 查看「狀態」、「狀態原因」和「記錄」欄位。「記錄」欄位提供 Cloud Logging 資訊主頁的連結,您可以在這裡存取 VM 上執行的 OS 設定代理程式偵錯記錄。

    如要修正這些問題,您也可以查看 OS 政策的記錄,並進行必要的更新。 如要查看記錄,請參閱「排解 VM 管理員問題」。

gcloud

  1. 如要查看特定 VM 的 OS 政策指派作業報表,請使用 os-config os-policy-assignment-reports describe 指令

    gcloud compute os-config os-policy-assignment-reports describe OS_POLICY_ASSIGNMENT_ID \
        --instance=VM_NAME \
        --location=ZONE
    

    更改下列內容:

    • OS_POLICY_ASSIGNMENT_ID:要為指定 VM 檢查的 OS 政策指派 ID
    • VM_NAME:要查看 OS 政策指派作業報表的 VM 名稱或 ID
    • ZONE:VM 所在的可用區

    示例

    gcloud compute os-config os-policy-assignment-reports describe my-test-assignment1 \
        --instance=centos7 \
        --location=us-central1-a
    

    輸出內容

    instance: centos7
    lastRunId: 96a61b92-3e14-4155-a3e8-dd66520f49ae
    name: projects/1234578882888/locations/us-central1-a/instances/29255009728795105/osPolicyAssignments/my-test-assignment1/report
    osPolicyAssignment: projects/1234578882888/locations/us-central1-a/osPolicyAssignments/my-test-assignment1t@3428384d-fa61-478e-b7e2-3d5fae74bea3
    osPolicyCompliances:
    – complianceState: UNKNOWN
      complianceStateReason: os-policies-not-supported-by-agent
      osPolicyId: setup-repo-and-install-package-policy
      osPolicyResourceCompliances:
      – complianceState: UNKNOWN
        complianceStateReason: os-policy-execution-attempt-failed
        osPolicyResourceId: setup-repo
      – complianceState: UNKNOWN
        complianceStateReason: os-policy-execution-attempt-failed
        osPolicyResourceId: install-pkg
    updateTime: '2021-11-02T19:14:34.314831Z'
    
  2. 請參閱《complianceState》和《complianceStateReason》。

    如要修正這些問題,您也可以查看 OS 政策的記錄,並進行必要的更新。 如要查看記錄,請參閱「排解 VM 管理員問題」。

REST

  1. 在 API 中,建立目標為 projects.locations.osPolicyAssignments.reports.get 方法GET 要求。

    GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/VM_NAME/osPolicyAssignments/OS_POLICY_ASSIGNMENT_ID/report
    

    更改下列內容:

    • PROJECT_ID:您的專案 ID
    • ZONE:VM 所在的可用區
    • VM_NAME:要查看 OS 政策指派作業報表的 VM 名稱或 ID
    • OS_POLICY_ASSIGNMENT_ID:您要查看 OS 政策指派作業報表的 OS 政策指派作業 ID
  2. 請參閱《complianceState》和《complianceStateReason》。

    如要修正這些問題,您也可以查看 OS 政策的記錄,並進行必要的更新。 如要查看記錄,請參閱「排解 VM 管理員問題」。

後續步驟