VM Manager によって仮想マシン(VM)インスタンスに OS ポリシーの割り当てが適用されると、OS ポリシーの割り当てレポートが生成されます。このレポートには、特定の OS ポリシーの割り当てで特定の VM に適用されているすべての OS ポリシーのコンプライアンス ステータスが含まれます。
このドキュメントでは、次のタスクについて説明します。
- 組織またはフォルダ内のすべての VM に関する OS ポリシー コンプライアンス レポートを表示します。
- 指定したゾーン内のすべての VM の OS ポリシー割り当てレポートを表示します。これは、特定のゾーンでのコンプライアンス ステータスの概要を確認する場合に便利です。OS ポリシー割り当てレポートを表示するをご覧ください。
- 特定の VM に対する OS ポリシーの割り当てを確認します。これは、特定の VM のコンプライアンス ステータスを確認する際に役立ちます。OS ポリシーの割り当てレポートを確認するをご覧ください。
始める前に
- OS Config の割り当てを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 組織またはフォルダ内の VM の OS ポリシー コンプライアンス サマリーを表示する:
- 組織またはフォルダに対する OSPolicyAssignmentReport 閲覧者 (
roles/osconfig.osPolicyAssignmentReportViewer
) -
組織またはフォルダに対する OSPolicyAssignment 閲覧者 (
roles/osconfig.osPolicyAssignmentViewer
)
- 組織またはフォルダに対する OSPolicyAssignmentReport 閲覧者 (
-
プロジェクト内の VM の OS ポリシー割り当てレポートを表示する: プロジェクトに対する OSPolicyAssignmentReport 閲覧者(
roles/osconfig.osPolicyAssignmentReportViewer
) -
組織またはフォルダ内の VM の OS ポリシー コンプライアンス サマリーを表示する:
-
osconfig.osPolicyAssignmentReports.searchSummaries
-
osconfig.osPolicyAssignments.searchPolicies
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
- VM Manager が有効で実行中である VM が 1 つ以上含まれている。
- 過去 7 日間に VM Manager が実行されていた VM を 1 つ以上含み、OS ポリシー コンプライアンス データが有効になっている。
Google Cloud コンソールで、[Compute Engine] > [VM Manager] > [OS ポリシー] ページに移動します。
Google Cloud コンソールの上部にあるプロジェクトのプルダウン リストで、OS ポリシー コンプライアンス サマリーを表示する組織またはフォルダを選択します。
OS ポリシー コンプライアンス データを表示するには、次のオプションを使用します。
- プロジェクトごとの OS ポリシー コンプライアンス サマリーを表示するには、[プロジェクト] タブをクリックします。
- ポリシーごとの OS ポリシー コンプライアンス サマリーを表示するには、[OS ポリシー] タブをクリックします。
(省略可)クエリビルダーを使用して、OS ポリシー コンプライアンス サマリーの計算条件を指定します。
VM の OS ポリシー コンプライアンス サマリーを確認します。次の図に示すように、[プロジェクト] タブのテーブルには、各プロジェクトの行が表示されます。
テーブルには、クエリビルダーで指定した条件を満たす次の情報が一覧表示されます。
- プロジェクト: 1 つ以上の VM を含み、VM Manager が有効になっている組織内のプロジェクトの名前。
- VM の合計: 各プロジェクトの VM の合計数。
- モニタリング対象 VM: プロジェクト内で、VM Manager エージェントが有効になっていて、ポリシー コンプライアンス スキャンが実行されている VM の数。
- ポリシーが適用されている VM: 1 つ以上のポリシーが割り当てられている VM の数。
- 準拠: 割り当てられたすべてのポリシーが
COMPLIANT
として報告された VM の数。 - 非準拠: 少なくとも 1 つの割り当てられたポリシーが
NON-COMPLIANT
として報告された VM の数。 - 不明: 少なくとも 1 つの割り当てられたポリシーが
UNKNOWN
として報告され、NON-COMPLIANT
として報告されたポリシーがない VM の数。UNKNOWN
状態は、次のいずれかの理由によるものです。- VM が実行されていない。
- VM で VM Manager エージェントが有効になっていない。
- プロセス中にエラーが発生した。
- レポートなし: ポリシーが割り当てられているが、次のいずれかの理由によりポリシー コンプライアンス レポートが見つからなかった VM の数。
- VM で VM Manager エージェントが有効になっていない。
- コンプライアンス スキャンが進行中である。このレポートの準備がまだできていない。
省略可: OS ポリシー コンプライアンス サマリー テーブルで特定の行を表示する場合は、テーブル フィルタを適用します。
たとえば、VM が 10 個を超えるプロジェクトの OS ポリシー コンプライアンス サマリーを確認するには、フィルタ オプションの合計 VM 数を
>= 10
に設定します。省略可: VM の数をクリックすると、特定の状態の VM についての詳細情報が表示されます。たとえば、[不明] 列で特定のプロジェクトの VM の数をクリックすると、[VM インスタンス] タブが開き、そのプロジェクトの各 VM の不明な OS ポリシーのリストが表示されます。
詳細については、OS ポリシーの割り当てレポートを表示するをご覧ください。
属性を選択します。クエリビルダーは、次の属性をサポートしています。
- OS: オペレーティング システムの略称を指定します(例:
Windows
、Debian
)。 - OS バージョン: オペレーティング システムのバージョンを指定します。例:
21.04
、10.0.22000
など。OS バージョンの文字列の末尾に単一のアスタリスク(*
)を付けると、部分一致を示すことができます(例:10*
)。 - 実行中の VM:
RUNNING
状態の VM のパッチ サマリーを表示するかどうかを指定します。 - ポリシー フィンガープリント: OS ポリシーに固有のポリシー フィンガープリントを指定します。この属性を設定すると、VM Manager は、指定されたフィンガープリントを持つ OS ポリシーに対してのみ、コンプライアンス サマリーを計算します。
- コンプライアンス状態: ポリシーのコンプライアンス状態を次のいずれかで指定します。
COMPLIANT
: 割り当てられたすべてのポリシーがCOMPLIANT
として報告された VM の数。NON-COMPLIANT
: 少なくとも 1 つの割り当てられたポリシーがNON-COMPLIANT
として報告された VM の数。UNKNOWN
: 少なくとも 1 つの割り当てられたポリシーがUNKNOWN
として報告された VM の数。
- OS: オペレーティング システムの略称を指定します(例:
いずれかの属性を選択して、属性の値を指定します。たとえば、特定のオペレーティング システムを使用する VM のパッチ サマリーを表示する場合は、[OS] を選択します。比較演算子のリストを取得して、そこから選択できます。
- 演算子(例:
==
)を選択します。 - [値] フィールドで、比較値を指定します。例:
Debian
。
- 演算子(例:
別の属性を追加するには、[条件を追加] をクリックします。
[検索] をクリックします。
VPC Service Controls を使用してサービスを保護する場合は、Cloud Asset Inventory サービスを許可サービスのリストに追加します。詳細については、VPC のアクセス可能なサービスをご覧ください。
Google Cloud コンソールで、[OS ポリシー] > [VM インスタンス] ページに移動します。
ZONE
: VM が配置されているゾーン- 省略可: 次のいずれかを指定します。
VM_NAME
: OS ポリシーの割り当てレポートを表示する VM の名前または IDASSIGNMENT_ID
: OS ポリシーの割り当てレポートを表示する OS ポリシーの割り当ての ID
PROJECT_ID
: プロジェクト IDZONE
: 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
にある VMmy-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
VPC Service Controls を使用してサービスを保護する場合は、Cloud Asset Inventory サービスを許可サービスのリストに追加します。詳細については、VPC のアクセス可能なサービスをご覧ください。
Google Cloud コンソールで、[OS ポリシー] > [VM インスタンス] ページに移動します。
特定の VM の OS ポリシー割り当てレポートを表示するには、VM の名前をクリックします。
[状態]、[状態の理由]、[ログ] フィールドを確認します。[ログ] フィールドに、VM で実行されている OS Config エージェントのデバッグログにアクセスできる Cloud Logging ダッシュボードのリンクが表示されます。
- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
ComplianceState
セクションをご覧ください。 - 表示されるコンプライアンスの理由については、
OSPolicyResourceCompliance
API リファレンス ドキュメントのcomplianceStateReason
フィールドをご覧ください。
これらの問題を修正するには、OS ポリシーのログを確認して、必要な更新を行います。ログの確認方法については、VM Manager のトラブルシューティングをご覧ください。
- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
特定の 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 ポリシー割り当ての IDVM_NAME
: OS ポリシー割り当てレポートを表示する VM の名前または IDZONE
: 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'
complianceState
とcomplianceStateReason
を確認します。- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
ComplianceState
セクションをご覧ください。 - 表示されるコンプライアンスの理由については、
OSPolicyResourceCompliance
API リファレンス ドキュメントのcomplianceStateReason
フィールドをご覧ください。
これらの問題を修正するには、OS ポリシーのログを確認して、必要な更新を行います。ログの確認方法については、VM Manager のトラブルシューティングをご覧ください。
- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
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
: プロジェクト IDZONE
: VM が配置されているゾーンVM_NAME
: OS ポリシー割り当てレポートを表示する VM の名前または IDOS_POLICY_ASSIGNMENT_ID
: OS ポリシー割り当てレポートを表示する OS ポリシーの割り当ての ID
complianceState
とcomplianceStateReason
を確認します。- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
ComplianceState
セクションをご覧ください。 - 表示されるコンプライアンスの理由については、
OSPolicyResourceCompliance
API リファレンス ドキュメントのcomplianceStateReason
フィールドをご覧ください。
これらの問題を修正するには、OS ポリシーのログを確認して、必要な更新を行います。ログの確認方法については、VM Manager のトラブルシューティングをご覧ください。
- 表示されるコンプライアンス ステータスの詳細については、API リファレンス ドキュメントの
- OS ポリシーの詳細を確認する。
- OS ポリシーを管理する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
OS ポリシーのコンプライアンス データを表示するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼します。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、OS ポリシー コンプライアンス データを表示するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
OS ポリシー コンプライアンス データを表示するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
組織またはフォルダ内のすべての VM の OS ポリシー コンプライアンス サマリーを表示する
Google Cloud コンソールを使用して、組織またはフォルダ内のすべての VM の OS ポリシー コンプライアンス サマリーを表示できます。
VM Manager で OS ポリシー コンプライアンス サマリーが表示されるのは、次のいずれかの要件を満たすプロジェクトのみです。
OS ポリシー コンプライアンス データを表示する方法は次のとおりです。
クエリビルダーを使用して OS ポリシー コンプライアンス データをフィルタする
VM Manager はクエリビルダーで指定した条件に基づいて、組織またはフォルダのプロジェクト内の VM の OS ポリシー コンプライアンス データを表示します。次に、OS ポリシーのコンプライアンス テーブルでテーブル フィルタを使用して、表示するデータをフィルタリングできます。
たとえば、クエリビルダーで
OS
属性をDebian
に設定すると、VM Manager は Debian OS を使用している VM の OS ポリシー コンプライアンス データを表示します。特定のプロジェクトのコンプライアンス データを表示する場合は、テーブル フィルタを使用してプロジェクト ID を指定します。クエリビルダーの [プロジェクト] タブでクエリを設定するには、次の操作を行います。
OS ポリシーの割り当てレポートを表示する
OS ポリシーの割り当てレポートを表示するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。
次の手順で、指定したロケーションの OS ポリシーの割り当てレポートを一覧表示します。
コンソール
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]
次のように置き換えます。
コマンドの例と出力(特定の 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
次のように置き換えます。
例:
OS ポリシーの割り当てレポートを確認する
次の手順で、特定の VM に関連付けられた OS ポリシーの割り当てレポートの詳細を表示します。
コンソール
gcloud
REST
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-11-22 UTC。
-