オペレーティング システムの詳細の表示

このドキュメントでは、OS Inventory Management の設定方法と使用方法について説明します。OS Inventory Management の概要については、OS Inventory Management をご覧ください。

OS Inventory Management を使用すると、仮想マシン(VM)インスタンスのオペレーティング システムの詳細を収集して表示できます。オペレーティング システムの詳細には、ホスト名、オペレーティング システム、カーネル バージョンなどの情報が含まれます。また、インストールされている OS パッケージ、利用可能な OS パッケージ アップデート、OS の脆弱性に関する情報も取得できます。OS Inventory Management を使用する一般的なシナリオについては、OS Inventory Management を使用するタイミングをご覧ください。

始める前に

サポートされているオペレーティング システム

OS inventory Management をサポートするオペレーティング システムとバージョンの完全なリストについては、オペレーティング システムの詳細をご覧ください。

権限

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: プロジェクト ID
  • USER_ID: ユーザーの Google Workspace のユーザー名。

概要

OS Inventory Management を使用する前に、この機能を使用するように VM を構成する必要があります。OS Inventory Management を使用するように VM を構成するには、次の手順を完了する必要があります。

  1. VM Manager を設定します
  2. 省略可。Cloud Asset Inventory と統合する場合は、OS インベントリと Cloud Asset Inventory の統合をご覧ください。

VM に OS Inventory Management を設定したら、オペレーティング システムの詳細を表示できます。

オペレーティング システムの詳細を表示する

オペレーティング システムの詳細を表示するには、次のいずれかの方法を使用します。

2 つの OS Inventory Management バージョンについては、OS Inventory Management のバージョンをご覧ください。

OS インベントリと Cloud Asset Inventory の統合

OS Inventory Management は、データを保存して Cloud Asset Inventory に転送します。Cloud Asset Inventory は、Google Cloud 全体のアセットを表示、モニタリング、分析できるメタデータ インベントリ サービスです。Cloud Asset Inventory で情報をポーリングし、データの変更を表示できます。

Cloud Asset Inventory から OS インベントリ データにアクセスするには、次のセットアップを完了する必要があります。

OS Inventory Management(プレビュー)

この方法は、次のタスクを行うために使用します。

インベントリ データを表示する

gcloud

  1. 特定のゾーンにおける VM のインベントリ データのリストを表示するには、os-config inventories list コマンドを実行します。

    gcloud alpha compute os-config inventories list \
       --location=ZONE \
       --view=VIEW
    

    次のように置き換えます。

    • ZONE: VM を配置するゾーン。
    • VIEW: 必須の出力情報の種類。使用可能なビュータイプは次のとおりです。

      • basic: OS 情報のみを表示します。
      • full: OS とパッケージの両方に関する情報を表示します。

      指定しない場合は、デフォルトの basic が使用されます。

    例(基本表示)

    gcloud alpha compute os-config inventories list \
       --location=us-central1-c
    

    出力は次のようになります。

    INSTANCE_ID        INSTANCE_NAME  OS                     OSCONFIG_AGENT_VERSION       UPDATE_TIME
    29255009728795105  centos7-old    CentOS Linux 7 (Core)  20210217.00-g1.el7  2021-04-12T22:19:36.559Z
    29255333728795105  centos8-new    CentOS Linux 8 (Core)  20210217.00-g1.el7  2019-04-12T22:19:36.559Z
    

    例(全体表示)

    gcloud alpha 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-old    CentOS Linux 7 (Core)  265                  49                  20210217.00-g1.el7  2021-04-12T22:19:36.559Z
    29255333728795105  centos8-new    CentOS Linux 8 (Core)  104                  0                   20210217.00-g1.el7  2019-04-12T22:19:36.559Z
    
  2. 特定の VM についてインベントリの詳細を表示するには、前のステップで返された INSTANCE_ID を指定して os-config inventories describe コマンドを実行します。

    gcloud alpha compute os-config inventories describe INSTANCE_ID \
       --location=ZONE \
       --view=VIEW
    

    次のように置き換えます。

    • INSTANCE_ID: VM の ID
    • ZONE: VM インスタンスを配置するゾーン
    • VIEW: 必須の出力情報の種類。使用可能なビュータイプは次のとおりです。

      • basic: OS 情報のみを表示します。
      • full: OS とパッケージの両方に関する情報を表示します。

      指定しない場合は、デフォルトの basic が使用されます。

    例(基本表示)

    gcloud alpha compute os-config inventories describe 29255009728795105 \
       --location=us-central1-c
    

    出力例

    architecture: x86_64
    hostname: centos-7-old-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 alpha compute os-config inventories describe 29255009728795105 \
       --location=us-central1-c \
       --view=full
    

    出力例

    ┌─────────────────────────────────────────────────────────────────────────────────────┐
    │                               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-old-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'
    

API

  1. 特定のゾーンにおける VM のインベントリ データのリストを表示するには、projects.locations.instances.inventories.list メソッドに対する GET リクエストを作成します。

    GET https://osconfig.googleapis.com/v1alpha/projects/PROJECT_ID/locations/ZONE/instances/–/inventories
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: OS ポリシー割り当てを配置するゾーン
  2. 特定の VM についてインベントリの詳細を表示するには、projects.locations.instances.getInventory メソッドに対する GET リクエストを作成します。

    GET https://osconfig.googleapis.com/v1alpha/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE/inventory
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: VM インスタンスを配置するゾーン
    • INSTANCE: インスタンス ID または VM の名前を指定します

脆弱性レポートを表示する

gcloud

  1. 特定のゾーンにおける VM の脆弱性レポートを表示するには、os-config vulnerability-reports list コマンドを使用します。

    たとえば、インベントリ データを持つすべての VM を一覧表示するには、次のコマンドを実行します。

    gcloud alpha compute os-config vulnerability-reports list \
       --location=ZONE
    

    ZONE は、VM を配置するゾーンに置き換えます。

    gcloud alpha 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
    
  2. 特定の VM について脆弱性レポートを表示するには、前のステップで返された ID を指定して os-config vulnerability-reports describe コマンドを実行します。

    gcloud alpha compute os-config vulnerability-reports describe INSTANCE_ID \
       --location=ZONE
    

    次のように置き換えます。

    • INSTANCE_ID: VM の ID
    • ZONE: VM インスタンスを配置するゾーン

    gcloud alpha compute os-config vulnerability-reports describe 29255009728795105 \
       --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

  1. 特定のゾーンにおける VM の脆弱性レポートを表示するには、projects.locations.instances.vulnerabilityReports メソッドに対する GET リクエストを作成します。

    GET https://osconfig.googleapis.com/v1alpha/projects/PROJECT_ID/locations/ZONE/instances/–/vulnerabilityReports
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: OS ポリシー割り当てを配置するゾーン
  2. 特定の VM について脆弱性レポートを表示するには、projects.locations.instances.getVulnerabilityReport メソッドに対する GET リクエストを作成します。

    GET https://osconfig.googleapis.com/v1alpha/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE/vulnerabilityReport
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: VM インスタンスを配置するゾーン
    • INSTANCE: インスタンス ID または VM の名前を指定します

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
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 で提供される情報をご覧ください。

次のステップ