Confidential VM の完全性をモニタリングする

整合性モニタリングは、Shielded VM と Confidential VM の両方の機能であり、VM インスタンスの状態を把握して決定を下すのに役立ちます。Cloud MonitoringCloud Logging の両方を使用します。

新しい Confidential VM インスタンスでは、整合性モニタリングがデフォルトで有効になっています。セキュアブート、vTPM、整合性モニタリング自体の切り替えなど、整合性モニタリングの設定を変更する方法については、Shielded VM オプションの変更をご覧ください。

整合性レポートを表示する

Cloud Monitoring を使用して整合性検証イベントを表示し、アラートを設定できます。また、Cloud Logging を使用して、これらのイベントの詳細を確認できます。

整合性検証イベントを表示してアラートを設定する方法については、Monitoring を使用して VM 起動時の整合性をモニタリングするをご覧ください。

リリース証明書レポート イベントを表示する

AMD SEV ベースの Confidential VM インスタンスが起動されるたびに、VM の整合性検証イベントの一部としてリリース証明書レポート イベントが生成されます。

レポート イベントには、次の有用な情報が含まれます。

  • integrityEvaluationPassed: SEV によって計算された測定値に対して、仮想マシンモニターによって実行された整合性チェックの結果。

  • sevPolicy: この VM に設定された SEV ポリシービット。ポリシービットは、デバッグモードが有効かどうかなどの制約を適用するために、Confidential VM インスタンスの起動時に設定されます。

整合性レポートでリリース認証レポート イベントを表示する手順は次のとおりです。

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

    [VM インスタンス] に移動

  2. VM インスタンスの表で Confidential VM インスタンスを見つけて、その名前をクリックします。

  3. [ログ] セクションで、[Cloud Logging] をクリックします。

  4. Cloud Logging が開き、指定した期間の整合性検証イベントが整合性レポートに入力されます。起動イベントをキャプチャするには、ログの期間([すべてのフィールドを検索] ボックスの横)を変更しなければならない場合があります。

  5. タイプが cloud_integrity.IntegrityEventbootCounter0 のレポートを見つけて展開します。

    特定のフィールドのデータを確認するには、 展開矢印をクリックします。すべてのフィールドを開くには、[ネストされたフィールドを開く] をクリックします。

  6. jsonPayload キー内で sevLaunchAttestationReportEvent キーを探して、レポート イベントを表示します。一般的な整合性レポートの例については、次のウィジェットを展開してください。

    整合性レポートの例

    {
      insertId: "0"
      jsonPayload: {
        @type: "type.googleapis.com/cloud_integrity.IntegrityEvent"
        bootCounter: "0"
        sevLaunchAttestationReportEvent: {
          integrityEvaluationPassed: true
          sevPolicy: {
            debugEnabled: false
            domainOnly: false
            esRequired: false
            keySharingAllowed: false
            minApiMajor: 0
            minApiMinor: 0
            sendAllowed: true
            sevOnly: true
          }
        }
      }
      logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Fshielded_vm_integrity"
      receiveTimestamp: "2023-08-06T23:43:09.422303036Z"
      resource: {
        labels: {
          instance_id: "7638570949330964203" (instance_name: VM_INSTANCE_NAME)
          project_id: "PROJECT_ID"
          zone: "VM_ZONE"
        }
        type: "gce_instance"
      }
      severity: "NOTICE"
      timestamp: "2023-08-06T23:43:07.407511786Z"
    }

Shielded VM で起動時の整合性をモニタリングする

Shielded VM の機能であるセキュアブートやメジャード ブートを利用して、Confidential VM インスタンスの整合性をモニタリングすることもできます。

セキュアブート

セキュアブートでは、Confidential VM インスタンスのシステムが正規のソフトウェアのみを実行するよう、すべてのブート コンポーネントのデジタル署名を検証し、デジタル署名検証が失敗した場合はブートプロセスを停止します。Google の認証局によって署名されて検証されたファームウェアでは、セキュアブートのルート オブ トラストを確立して、VM の ID を検証し、指定したプロジェクトとリージョンの一部であることを確認します。

セキュアブートはデフォルトでは有効になっていません。この機能を有効にする方法と詳細については、セキュアブートをご覧ください。

メジャード ブート

メジャード ブートは、Confidential VM インスタンスの Virtual Trusted Platform Module(vTPM)によって有効になり、インスタンスに対する悪意のある変更を防ぎます。メジャード ブートでは、Confidential VM インスタンスのブートローダー、カーネル、ブートドライバの整合性をモニタリングします。

Confidential VM インスタンスのメジャード ブート中に、PCR[0]プラットフォーム コントロール レジスタ)は、SEV が使用されていることをエンコードするベンダー固有のイベント GceNonHostInfo で拡張されます。

新しい Confidential VM インスタンスでは、メジャード ブートがデフォルトで有効になっています。詳しくは、メジャード ブートをご覧ください。

次のステップ