查看 OS 政策報表

VM 管理員將 OS 政策指派作業套用至虛擬機器 (VM) 執行個體後,系統就會產生 OS 政策指派報表。此報表包含特定 OS 政策指派作業中,套用至特定 VM 的所有 OS 政策的合規狀態。

本文件說明下列工作:

事前準備

  • 查看 OS Config 配額
  • 如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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.

    REST

    To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.

    For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

必要角色和權限

如要取得查看 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。
  • 包含過去 7 天內 VM 管理工具執行過一或多個 VM,且可取得 OS 政策符合性資料。

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

  1. 在 Google Cloud 控制台中,依序前往「Compute Engine」 >「VM Manager」 >「OS policies」頁面。

    前往 OS 政策

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

  3. 使用下列選項查看 OS 政策遵循資料:

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

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

    所有專案的 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 政策遵循摘要表格中的特定資料列,請套用表格篩選器。

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

    舉例來說,如果您想查看擁有超過 10 個 VM 的專案 OS 政策遵循摘要,請將「Total VMs」(VM 總數)篩選器選項設為 >= 10

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

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

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

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

根據您在查詢產生器中指定的條件,VM 管理員會顯示機構或資料夾中專案 VM 的 OS 政策遵循資料。接著,您可以使用 OS 政策符合性表中的表格篩選器篩選顯示的資料。

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

查詢產生器 (包含一個屬性)。

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

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

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

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

  4. 按一下 [搜尋]

查看 OS 政策指派報表

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

您可以使用這個程序,查看指定位置的 OS 政策指派報表清單。

主控台

  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. 查看「狀態」、「狀態原因」和「記錄」欄位。「Logs」欄位提供 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 管理員問題」。

後續步驟