このドキュメントでは、OS Inventory Management の設定方法と使用方法について説明します。OS Inventory Management の概要については、OS Inventory Management をご覧ください。
OS Inventory Management を使用すると、仮想マシン(VM)インスタンスのオペレーティング システムの詳細を収集して表示できます。オペレーティング システムの詳細には、ホスト名、オペレーティング システム、カーネル バージョンなどの情報が含まれます。また、インストールされている OS パッケージ、利用可能な OS パッケージ アップデート、OS の脆弱性に関する情報も取得できます。OS Inventory Management を使用する一般的なシナリオについては、OS Inventory Management を使用するタイミングをご覧ください。
始める前に
- このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合は、API アクセスを設定します。
- OS Config の割り当てを確認する
サポートされているオペレーティング システム
OS inventory Management をサポートするオペレーティング システムとバージョンの完全なリストについては、オペレーティング システムの詳細をご覧ください。
権限
Google Cloud プロジェクトのオーナーは、インベントリ データへの完全アクセス権を持っています。他のすべてのユーザーには、権限を付与する必要があります。次のいずれかの詳細なロールを付与できます。
roles/osconfig.inventoryViewer
: インベントリ データを一覧表示し、記述するための権限が含まれます。roles/osconfig.vulnerabilityReportViewer
: 脆弱性レポートデータを一覧表示し、記述するための権限が含まれます。
権限を設定するコマンドの例
インベントリ データを表示する権限をユーザーに付与するには、次のコマンドを使用します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.inventoryViewer
次のように置き換えます。
PROJECT_ID
: プロジェクト IDUSER_ID
: ユーザーの Google Workspace のユーザー名
VM を設定する
OS Inventory Management を使用する前に、この機能を使用するように VM を構成する必要があります。OS Inventory Management を使用するように VM を構成するには、VM Manager を設定します。
VM に VM Manager を設定すると、OS インベントリ データと脆弱性レポートを表示できます。
OS インベントリ データの表示
OS インベントリ データを表示するには、次のいずれかの方法を使用します。
- gcloud CLI または API を使用する
- Cloud Asset Inventory を使用する
gcloud CLI または API を使用して OS インベントリ データを表示する
gcloud
特定のゾーンにおける VM のインベントリ データのリストを表示するには、
os-config inventories list
コマンドを実行します。gcloud compute os-config inventories list \ --location=ZONE \ --view=VIEW
次のように置き換えます。
ZONE
: VM を配置するゾーン。VIEW
: 必須の出力情報の種類。使用可能なビュータイプは次のとおりです。basic
: OS 情報のみを表示します。full
: OS とパッケージの両方に関する情報を表示します。
指定しない場合は、デフォルトの
basic
が使用されます。
例(基本表示)
gcloud compute os-config inventories list \ --location=us-central1-c
出力は次のようになります。
INSTANCE_ID INSTANCE_NAME OS OSCONFIG_AGENT_VERSION UPDATE_TIME 29255009728795105 centos7 CentOS Linux 7 (Core) 20210217.00-g1.el7 2021-04-12T22:19:36.559Z 5138980234596718741 rhel-8 Red Hat Enterprise Linux 8.3 (Ootpa) 20210316.00-g1.el8 2021-09-16T17:19:24Z 7127836223366142250 windows Microsoft Windows Server 2019 Datacenter 20210316.00.0+win@1 2021-09-16T17:13:18Z
例(全体表示)
gcloud compute os-config inventories list \ --location=us-central1-c \ --view=full
出力は次のようになります。
INSTANCE_ID INSTANCE_NAME OS INSTALLED_PACKAGES AVAILABLE_PACKAGES OSCONFIG_AGENT_VERSION UPDATE_TIME 29255009728795105 centos7 CentOS Linux 7 (Core) 265 49 20210217.00-g1.el7 2021-04-12T22:19:36.559Z 5932621394110773366 rhel8 Red Hat Enterprise Linux 8.3 (Ootpa) 410 138 20210217.00-g1.el8 2021-09-16T17:57:16Z 7127836223366142250 windows Microsoft Windows Server 2019 Datacenter 36 6 20210316.00.0+win@1 2021-09-16T17:53:19Z
特定の VM についてインベントリの詳細を表示するには、前のステップで返された
INSTANCE_ID
またはINSTANCE_NAME
を指定してos-config inventories describe
コマンドを実行します。gcloud compute os-config inventories describe INSTANCE_NAME \ --location=ZONE \ --view=VIEW
次のように置き換えます。
INSTANCE_NAME
: VM の名前ZONE
: VM インスタンスを配置するゾーンVIEW
: 必須の出力情報の種類。使用可能なビュータイプは次のとおりです。basic
: OS 情報のみを表示します。full
: OS とパッケージの両方に関する情報を表示します。
指定しない場合は、デフォルトの
basic
が使用されます。
例(基本表示)
gcloud compute os-config inventories describe centos7 \ --location=us-central1-c
出力例
architecture: x86_64 hostname: centos-7-88tz3 kernelRelease: 3.10.0-957.1.3.el7.x86_64 kernelVersion: '#1 SMP Thu Nov 29 14:49:43 UTC 2018' longName: CentOS Linux 7 (Core) osconfigAgentVersion: 20210429.3-g1.el8 shortName: centos updateTime: '2021-05-11T22:11:53.064Z' version: '7'
例(全体表示)
gcloud compute os-config inventories describe centos7 \ --location=us-central1-c \ --view=full
Linux の出力例
┌─────────────────────────────────────────────────────────────────────────────────────┐ │ Installed Packages (Yum) │ ├─────────────────────────────────────┬──────────────┬────────────────────────────────┤ │ PACKAGE_NAME │ ARCHITECTURE │ VERSION │ ├─────────────────────────────────────┼──────────────┼────────────────────────────────┤ │ GeoIP │ x86_64 │ 1.5.0-13.el7 │ │ NetworkManager │ x86_64 │ 1:1.12.0-8.el7_6 │ │ NetworkManager-libnm │ x86_64 │ 1:1.12.0-8.el7_6 │ │ NetworkManager-team │ x86_64 │ 1:1.12.0-8.el7_6 │ │ NetworkManager-tui │ x86_64 │ 1:1.12.0-8.el7_6 │ │ acl │ x86_64 │ 2.2.51-14.el7 │ │ yum-cron │ all │ 3.4.3-161.el7.centos │ │ yum-metadata-parser │ x86_64 │ 1.1.4-10.el7 │ │ yum-plugin-fastestmirror │ all │ 1.1.31-50.el7 │ │ zlib │ x86_64 │ 1.2.7-18.el7 │ └─────────────────────────────────────┴──────────────┴────────────────────────────────┘ ┌───────────────────────────────────────────────────────────────────────────────┐ │ Package Updates Available (Yum) │ ├───────────────────────────────┬──────────────┬────────────────────────────────┤ │ PACKAGE_NAME │ ARCHITECTURE │ VERSION │ ├───────────────────────────────┼──────────────┼────────────────────────────────┤ │ GeoIP │ x86_64 │ 1.5.0-14.el7 │ │ NetworkManager │ x86_64 │ 1:1.18.8-2.el7_9 │ │ NetworkManager-libnm │ x86_64 │ 1:1.18.8-2.el7_9 │ │ NetworkManager-team │ x86_64 │ 1:1.18.8-2.el7_9 │ │ yum-cron │ all │ 3.4.3-168.el7.centos │ │ yum-plugin-fastestmirror │ all │ 1.1.31-54.el7_8 │ │ zlib │ x86_64 │ 1.2.7-19.el7_9 │ └───────────────────────────────┴──────────────┴────────────────────────────────┘ architecture: x86_64 hostname: centos-7-88tz3 kernelRelease: 3.10.0-957.1.3.el7.x86_64 kernelVersion: '#1 SMP Thu Nov 29 14:49:43 UTC 2018' longName: CentOS Linux 7 (Core) osconfigAgentVersion: 20210429.3-g1.el8 shortName: centos updateTime: '2021-05-11T22:21:52.323Z' version: '7'
Windows の出力例
┌───────────────────────────────────────────────────────────┐ │ Installed Packages (GooGet) │ ├───────────────────────┬──────────────┬────────────────────┤ │ PACKAGE_NAME │ ARCHITECTURE │ VERSION │ ├───────────────────────┼──────────────┼────────────────────┤ │ google-osconfig-agent │ x86_64 │ 20210415.4.0+win@1 │ └───────────────────────┴──────────────┴────────────────────┘ ┌───────────────────────────────────────────────────┐ │ Installed Packages (Windows Update Agent) │ ├───────┬────────────┬────────────────┬─────────────┤ │ TITLE │ CATEGORIES │ KB_ARTICLE_IDS │ SUPPORT_URL │ ├───────┼────────────┼────────────────┼─────────────┤ │ title │ C1, C2 │ 4589208 │ url.com │ └───────┴────────────┴────────────────┴─────────────┘ ┌───────────────────────────────────────────────────────────────┐ │ Installed Packages (Quick Fix Engineering) │ ├─────────┬─────────────────┬────────────┬──────────────────────┤ │ CAPTION │ DESCRIPTION │ HOT_FIX_ID │ INSTALL_TIME │ ├─────────┼─────────────────┼────────────┼──────────────────────┤ │ caption │ Security Update │ KB4470788 │ 2019-03-12T00:00:00Z │ └─────────┴─────────────────┴────────────┴──────────────────────┘ ┌───────────────────────────────────────────────────────────────────────────┐ │ Installed Packages (Windows Application) │ ├──────────────────┬─────────────────┬───────────────────────┬──────────────┤ │ DISPLAY_NAME │ DISPLAY_VERSION │ PUBLISHER │ INSTALL_DATE │ ├──────────────────┼─────────────────┼───────────────────────┼──────────────┤ │ PowerShell 7-x64 │ 7.0.2.0 │ Microsoft Corporation │ 2021-06-08 │ └──────────────────┴─────────────────┴───────────────────────┴──────────────┘ ┌───────────────────────────────────────────────────────────┐ │ Package Updates Available (GooGet) │ ├───────────────────────┬──────────────┬────────────────────┤ │ PACKAGE_NAME │ ARCHITECTURE │ VERSION │ ├───────────────────────┼──────────────┼────────────────────┤ │ google-osconfig-agent │ x86_64 │ 20210415.4.0+win@1 │ └───────────────────────┴──────────────┴────────────────────┘ ┌───────────────────────────────────────────────────┐ │ Package Updates Available (Windows Update Agent) │ ├───────┬────────────┬────────────────┬─────────────┤ │ TITLE │ CATEGORIES │ KB_ARTICLE_IDS │ SUPPORT_URL │ ├───────┼────────────┼────────────────┼─────────────┤ │ title │ C1, C2 │ 4589208 │ url.com │ └───────┴────────────┴────────────────┴─────────────┘ ┌───────────────────────────────────────────────────────────────┐ │ Package Updates Available (Quick Fix Engineering) │ ├─────────┬─────────────────┬────────────┬──────────────────────┤ │ CAPTION │ DESCRIPTION │ HOT_FIX_ID │ INSTALL_TIME │ ├─────────┼─────────────────┼────────────┼──────────────────────┤ │ caption │ Security Update │ KB4470788 │ 2019-03-12T00:00:00Z │ └─────────┴─────────────────┴────────────┴──────────────────────┘ architecture: x86_64 hostname: windows kernelRelease: 10.0.17763.1817 kernelVersion: 10.0.17763.1817 (WinBuild.160101.0800) longName: Microsoft Windows Server 2019 Datacenter osconfigAgentVersion: 20210901.00.0+win@1 shortName: windows updateTime: '2021-09-12T22:14:35Z' version: 10.0.17763
API
特定のゾーンにおける VM のインベントリ データのリストを表示するには、
projects.locations.instances.inventories.list
メソッドに対するGET
リクエストを作成します。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/–/inventories
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: OS ポリシー割り当てを配置するゾーン
特定の VM についてインベントリの詳細を表示するには、
projects.locations.instances.getInventory
メソッドに対するGET
リクエストを作成します。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE/inventory
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: VM インスタンスを配置するゾーンINSTANCE
: インスタンス ID または VM の名前
Cloud Asset Inventory の OS インベントリ データを表示する
OS Inventory Management は、インベントリ データと脆弱性レポートデータを保存し、Cloud Asset Inventory に転送します。Cloud Asset Inventory は、Google Cloud 全体のアセットを表示、モニタリング、分析できるメタデータ インベントリ サービスです。Cloud Asset Inventory で情報をポーリングし、データの変更を表示できます。
Cloud Asset Inventory の OS インベントリと脆弱性レポートデータにアクセスするには、次の手順を完了する必要があります。
- VM Manager を設定します。
- Google Cloud プロジェクトで Cloud Asset Inventory API、Google Cloud CLI を有効にして、権限を割り当てます。
詳細については、VM Manager データの表示をご覧ください。
脆弱性レポートを表示する
ソフトウェアの脆弱性は、偶発的なシステム障害や悪意のあるアクティビティを引き起こす可能性がある弱点です。詳細については、脆弱性レポートをご覧ください。
脆弱性レポートデータを表示するには、次のいずれかのオプションを使用します。
- gcloud CLI または API を使用する
- Security Command Center のダッシュボードを使用する(Security Command Center のプレミアム ティアユーザーの場合)
- Cloud Asset Inventory を使用する
gcloud CLI または API を使用して脆弱性レポートを表示する
gcloud
特定のゾーンにおける VM の脆弱性レポートを表示するには、
os-config vulnerability-reports list
コマンドを使用します。たとえば、インベントリ データを持つすべての VM を一覧表示するには、次のコマンドを実行します。
gcloud compute os-config vulnerability-reports list \ --location=ZONE
ZONE
は、VM を配置するゾーンに置き換えます。例
gcloud compute os-config vulnerability-reports list \ --location=us-west2-a
出力は次のようになります。
INSTANCE_ID VULNERABILITY_COUNT UPDATE_TIME 29255009728795105 2 2021-04-13T19:10:10.303046Z 307058717116242358 1 2021-04-13T19:10:10.303046Z
特定の VM について脆弱性レポートを表示するには、前のステップで返された
INSTANCE_ID
またはINSTANCE_NAME
を指定してos-config vulnerability-reports describe
コマンドを実行します。gcloud compute os-config vulnerability-reports describe INSTANCE_NAME \ --location=ZONE
次のように置き換えます。
INSTANCE_NAME
: VM の名前ZONE
: VM インスタンスを配置するゾーン
例
gcloud compute os-config vulnerability-reports describe centos7 \ --location=us-west2-a
出力例
┌───────────────────────────────────────────────────────────────────┐ │ Vulnerabilities │ ├──────────────────┬──────────┬───────────────┬─────────────────────┤ │ CVE │ SEVERITY │ CVSS_V3_SCORE │ CREATE_TIME │ ├──────────────────┼──────────┼───────────────┼─────────────────────┤ │ CVE-2012-6655 │ LOW │ 3.3 │ 2021-04-29T22:19:53 │ │ CVE-2016-1585 │ MEDIUM │ 9.8 │ 2021-04-29T22:19:53 │ │ CVE-2016-2781 │ LOW │ 6.5 │ 2021-04-29T22:19:53 │ │ CVE-2019-7306 │ LOW │ 7.5 │ 2021-04-29T22:19:53 │ │ CVE-2020-13776 │ LOW │ 6.7 │ 2021-04-29T22:19:53 │ │ CVE-2021-31879 │ MEDIUM │ 6.1 │ 2021-05-05T06:11:53 │ └──────────────────┴──────────┴───────────────┴─────────────────────┘ name: projects/384587888288/locations/us-west2-a/instances/29255009728795105/vulnerabilityReport updateTime: '2021-05-11T22:29:50'
API
特定のゾーンにおける VM の脆弱性レポートを表示するには、
projects.locations.instances.vulnerabilityReports
メソッドに対するGET
リクエストを作成します。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/–/vulnerabilityReports
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: OS ポリシー割り当てを配置するゾーン
特定の VM について脆弱性レポートを表示するには、
projects.locations.instances.getVulnerabilityReport
メソッドに対するGET
リクエストを作成します。GET https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE/vulnerabilityReport
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: VM インスタンスを配置するゾーンINSTANCE
: インスタンス ID または VM の名前
Security Command Center のダッシュボードを使用して脆弱性レポートを表示する
Security Command Center は、脆弱性と脅威の報告を一元的に行う Google Cloud のサービスです。
Security Command Center のプレミアム ティア ユーザーは、組織内の VM で実行されているオペレーティング システムの脆弱性レポートデータにアクセスできます。
Security Command Center のダッシュボードの [検出] タブでは、オペレーティング システムに影響する脆弱性の共通脆弱性識別子(CVE ID)を確認できます。
Security Command Center ダッシュボードを使用して、オペレーティング システムの脆弱性データを確認する方法については、VM Manager をご覧ください。
Cloud Asset Inventory の脆弱性レポートデータを表示する
OS Inventory Management は、インベントリ データと脆弱性レポートデータを保存し、Cloud Asset Inventory に転送します。Cloud Asset Inventory は、Google Cloud 全体のアセットを表示、モニタリング、分析できるメタデータ インベントリ サービスです。Cloud Asset Inventory で情報をポーリングし、データの変更を表示できます。
Cloud Asset Inventory の OS インベントリと脆弱性レポートデータにアクセスするには、次の手順を完了する必要があります。
- VM Manager を設定します。
- Google Cloud プロジェクトで Cloud Asset Inventory API、Google Cloud CLI を有効にして、権限を割り当てます。
詳細については、VM Manager データの表示をご覧ください。
OS Inventory Management(以前のバージョン)
引き続き以前のバージョンの OS Inventory Management を使用している場合は、次のセクションを展開して Google Cloud CLI の手順を確認できます。
OS Inventory Management(以前のバージョン)
VM を一覧表示するOS Inventory Management が設定されている VM の一覧を表示するには、instances
os-inventory list-instances
コマンドを実行します。
たとえば、インベントリ データを持つすべての VM を一覧表示するには、次のコマンドを実行します。
gcloud compute instances os-inventory list-instances
出力は次のようになります。
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS inventory-instance us-east1-b e2-standard-2 192.0.2.1 RUNNING instance-inventory1 us-west1-b e2-standard-2 192.0.2.2 RUNNING instance-inventory2 asia-east2-b e2-standard-2 192.0.2.3 RUNNING
フィルタで結果を絞り込むこともできます。たとえば、次のコマンドを実行すると、OS Inventory Management が設定されてホスト名が正規表現 instance-*
と一致するすべての VM を一覧表示できます。
gcloud compute instances os-inventory list-instances --inventory-filter="Hostname~instance-*"
出力は次のようになります。
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS inventory-instance us-east1-b e2-standard-2 192.0.2.1 RUNNING instance-inventory1 us-west1-b e2-standard-2 192.0.2.2 RUNNING instance-inventory2 asia-east2-b e2-standard-2 192.0.2.3 RUNNINGインベントリ データを表示する
VM のインベントリ データを表示するには、instances
os-inventory describe
コマンドを使用します。
VM について収集されたインベントリ データを表示するには、次のコマンドを実行します。
gcloud compute instances os-inventory describe VM-NAME \ --zone=ZONE
次のように置き換えます。
VM-NAME
: VM の名前。ZONE
: VM を配置するゾーン。
出力で返される情報の種類については、OS Inventory Management で提供される情報をご覧ください。
次のステップ
- OS Inventory Management の詳細を学習する。