Shielded VM オプションの変更

このトピックでは、VM インスタンスで Shielded VM オプションを変更する方法を説明します。Shielded VM の機能をサポートするイメージを確認するには、OS イメージのセキュリティ機能をご覧ください。

Compute Engine は Shielded VM インスタンスに対し、仮想トラステッド プラットフォーム モジュール(vTPM)整合性モニタリングのオプションをデフォルトで有効にします。vTPM を無効にすると、Compute Engine は整合性モニタリングも無効にします。これは、整合性モニタリングはメジャード ブートによって収集されたデータを使用するためです。

Compute Engine は、デフォルトではセキュアブートを有効にしません。これは、署名されていないドライバやその他の低レベルのソフトウェアには互換性がない場合があるためです。セキュアブートでは、システムが正規のソフトウェアのみを実行するよう、すべてのブート コンポーネントのデジタル署名を検証し、署名検証が失敗した場合はブートプロセスを停止します。これにより、ルートキットやブートキットなどの形式のカーネル マルウェアが VM の再起動後にも維持されることを防ぎます。特定のワークロードに適している場合、つまりセキュアブートを有効にしても代表的なテスト VM の起動に支障がない場合は、セキュアブートを有効にすることをおすすめします。

始める前に

このタスクに必要な権限

このタスクを実行するには、次の権限が必要です。

  • VM に対する compute.instances.updateShieldedInstanceConfig

VM インスタンス上の Shielded VM オプションの変更

Shielded VM オプションを変更するには、次の手順に従います。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. インスタンス名をクリックして、[VM インスタンスの詳細] ページを開きます。

  3. [停止] をクリックします。

  4. インスタンスが停止したら、[編集] をクリックします。

  5. [Shielded VM] セクションで、Shielded VM オプションを変更します。

    • セキュアブートを有効にする場合は、[セキュアブートをオンにする] を切り替えます。Compute Engine は、デフォルトではセキュアブートを有効にしません。これは、署名されていないドライバやその他の低レベルのソフトウェアには互換性がない場合があるためです。それでも、可能であればセキュアブートを有効にすることをおすすめします。

    • 仮想トラステッド プラットフォーム モジュール(vTPM)無効にする場合は、[vTPM をオンにする] を切り替えます。デフォルトでは、Compute Engine は仮想トラステッド プラットフォーム モジュール(vTPM)を有効にします。

    • 整合性モニタリングを無効にする場合は、[整合性のモニタリングを有効にする] を切り替えます。デフォルトでは、Compute Engine は整合性モニタリングを有効にします。

  6. [保存] をクリックします。

  7. [開始] をクリックしてインスタンスを起動します。

gcloud

  1. インスタンスを停止します。VM_NAME は、停止する VM の名前に置き換えます。

    gcloud compute instances stop VM_NAME
    
  2. Shielded VM オプションを更新します。

    gcloud compute instances update VM_NAME [SECURE_BOOT] [SHIELDED_VTPM] [INTEGRITY_MONITORING]
    

    以下を置き換えます。

    • VM_NAME: Shielded VM オプションを更新する VM の名前。
    • SECURE_BOOT: Compute Engine はデフォルトではセキュアブートを有効にしません。これは、署名されていないドライバと低レベルのソフトウェアには互換性がない場合があるためです。それでも、可能であればセキュアブートを有効にすることをおすすめします。セキュアブートを有効にする場合は --shielded-secure-boot、無効にする場合は --no-shielded-secure-boot を使用します。
    • SHIELDED_VTPM: デフォルトで有効になっています。仮想トラステッド プラットフォーム モジュール(vTPM)を無効にする場合は --no-shielded-vtpm、有効にする場合は --shielded-vtpm を使用します。
    • INTEGRITY_MONITORING: デフォルトで有効になっています。整合性モニタリングを無効にする場合は --no-shielded-integrity-monitoring、有効にする場合は --shielded-integrity-monitoring を使用します。
  3. インスタンスを起動します。VM_NAME は、起動する VM の名前に置き換えます。

    gcloud compute instances start VM_NAME
    

API

  1. インスタンスを停止します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    以下を置き換えます。

    • PROJECT_ID: 停止する VM が属しているプロジェクト。
    • ZONE: 停止する VM があるゾーン。
    • VM_NAME: 停止する VM。
  2. instances.updateShieldedInstanceConfig を使用して、インスタンスの Shielded VM オプションを有効または無効にします。

    PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig
    
    {
      "enableSecureBoot": {true|false},
      "enableVtpm": {true|false},
      "enableIntegrityMonitoring": {true|false}
    }
    

    以下を置き換えます。

    • PROJECT_ID: Shielded VM オプションを有効または無効にする対象の VM が属しているプロジェクト。
    • ZONE: Shielded VM オプションを有効または無効にする対象の VM があるゾーン。
    • VM_NAME: Shielded VM オプションを有効または無効にする対象の VM。
    • enableSecureBoot: Compute Engine は、デフォルトではセキュアブートを有効にしません。これは、署名されていないドライバやその他の低レベルのソフトウェアには互換性がない場合があるためです。可能であれば、セキュアブートを有効にすることをおすすめします。
    • enableVtpm: Compute Engine はデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)を有効にします。
    • enableIntegrityMonitoring: Compute Engine はデフォルトで整合性モニタリングを有効にします。
  3. インスタンスを起動するには、次のコマンドを実行します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    以下を置き換えます。

    • PROJECT_ID: 起動する VM が属しているプロジェクト。
    • ZONE: 起動する VM があるゾーン。
    • VM_NAME: 起動する VM。

次のステップ