セキュリティ ソフトウェア エージェントのデプロイ

セキュリティ ソフトウェア エージェントを Google Cloud Marketplace からプロジェクトの VM インスタンスにデプロイできます。セキュリティ ソフトウェア エージェントをアンインストールする必要がある場合は、セキュリティ エージェントのアンインストールに進んでください。

セキュリティ ソフトウェア エージェントは、通常、大規模なセキュリティ プロダクトのコンポーネントです。たとえば、セキュリティ プロダクトのサブスクリプションがある場合、そのプロダクトには、VM インスタンスにインストールできるセキュリティ エージェントが含まれる場合があります。エージェントは、VM インスタンスの脆弱性と疑わしい動作に関するデータを収集し、このデータをソフトウェア ベンダーに送付します。ソフトウェア ベンダーが提供するダッシュボードでセキュリティ レポートを確認できます。

Google Cloud Marketplace からセキュリティ エージェントをインストールする場合は、ソフトウェア ベンダーに個別に登録する必要があります。ベンダーからは別途料金の請求があります。

始める前に

たとえば、Security Agent Deployer という Identity and Access Management のカスタムロールを作成する場合は、最初に SecurityAgentDeployer.yaml ファイルを作成します。

title: SecurityAgentDeployer
description: Role for Users who deploy Security Agents in a project
stage: GA
includedPermissions:
- osconfig.guestPolicies.create
- osconfig.guestPolicies.delete
- osconfig.guestPolicies.get
- osconfig.guestPolicies.list
- storage.buckets.create
- storage.buckets.get
- storage.objects.create
- storage.objects.delete

YAML ファイルを作成したら、次のコマンドを実行して {iam_name} のカスタムロールを作成します。

gcloud iam roles create role-id --project=project-id   \
   --file=SecurityAgentDeployer.yaml

{iam_name} のカスタムロールの Security Agent Deployer を作成したら、セキュリティ エージェントのデプロイを予定しているユーザーにそのロールを付与します。

gcloud projects add-iam-policy-binding <project-id>  \
  --member=user:my-user@example.com   \
  --role=projects/<project-id>/roles/SecurityAgentDeployer

プロジェクトのメタデータを構成する

Google Cloud コンソールまたは Google Cloud CLI を使用して、VM インスタンスにインストールされる OS 構成エージェントのプロジェクト メタデータを構成できます。

コンソール

  1. プロジェクト メタデータ ページを開きます。
  2. [編集] をクリックします。
  3. [アイテムを追加] をクリックして、次のプロパティを追加します:

    キー
    enable-osconfig true
  4. さらに、必須ではありませんが、次のメタデータ アイテムを追加して、Cloud Logging ログにデバッグ メッセージを含めることができます。これにより、今後のデプロイのトラブルシューティング タスクが容易になります。

    キー
    osconfig-log-level debug

gcloud

  1. 次のコマンドを使用して、OS 構成エージェントのプロジェクト メタデータを設定します。

    gcloud compute project-info add-metadata --metadata=enable-osconfig=true
    
  2. さらに、必須ではありませんが、次のコマンドを使用して、Cloud Logging ログにデバッグ メッセージを含めることができます。これにより、今後のデプロイのトラブルシューティング タスクが容易になります。

    gcloud compute project-info add-metadata --metadata=osconfig-log-level=debug
    
  3. メタデータが正しく設定されていることを確認するには、次のコマンドを使用します。

    gcloud compute project-info describe --flatten="commonInstanceMetadata[]"
    

セキュリティ エージェントをデプロイする

Google Cloud Marketplace で利用可能なセキュリティ エージェントを表示するには、セキュリティフィルタを使用します。

セキュリティ プロダクトに移動

セキュリティ エージェントをデプロイするには、以下の手順を行います。

  1. Cloud Marketplace からエージェントを選択します。

  2. ベンダーの ウェブサイトでセキュリティ エージェントに登録します。

    登録の一部として、ベンダーは通常、パスワード、アクティベーション ID、ライセンス ID などの識別子と認証情報を提供します。これらの識別子を使用して、Google Cloud プロジェクトをベンダーとのサブスクリプションにリンクします。

  3. 登録した後、セキュリティ エージェントの Google Cloud Marketplace リストを開き、手順に従ってエージェントを構成します。

  4. 構成ページで、プロダクトに登録したときに取得した識別子を入力します。次に、[VM の割り当て] で、セキュリティ エージェントをデプロイする VM インスタンスを選択します。

    VM は次のフィールドでフィルタできます。

    • 名前の接頭辞
    • グループラベル
  5. デプロイにより、プロジェクトに Cloud Storage バケットが作成され、インストール ファイルがバケットにコピーされます。[Storage バケットの詳細] で、リージョンを選択して、デプロイ用の Cloud Storage バケットを作成します。

  6. VM の割り当てを選択し、Cloud Storage バケットのリージョンを選んだ後、[デプロイ] をクリックします。デプロイの完了には数分かかることがあります。

  7. インストールをトラッキングして確認するには、次のいずれかの方法を使用します。

    • プロジェクトのゲストポリシーを一覧表示し、セキュリティ エージェント用に新しいゲストポリシーが作成されたことを確認します。通常、デプロイにより、オペレーティング システムごとに 1 つのゲストポリシーが作成されます。

    • ログビューアを開きVM インスタンスリソースタイプと OSConfigAgent ログタイプのログを確認します。

セキュリティ エージェントのアンインストール

セキュリティ エージェントをアンインストールするには、大まかに次の操作を行う必要があります。

  1. エージェントのゲストポリシーをすべて削除します。これにより、OS Configuration は、新しく作成したすべての VM インスタンスへのエージェントのインストールを停止します。ゲストポリシーを削除したときに、エージェントがインストール中の VM がある場合、そのインストールは完了するまで続行されます。

  2. セキュリティ エージェントの新しいゲストポリシーを作成します。これにより、エージェントがインストールされている VM インスタンスからエージェントが削除されます。

セキュリティ エージェントが VM からアンインストールされるまでに数分かかる場合があります。

ゲストポリシーを削除する

Google Cloud コンソールまたは Google Cloud CLI を使用して、セキュリティ エージェントのゲストポリシーを削除できます。

コンソール

  1. ゲストポリシー ページを開きます。
  2. セキュリティ エージェントのゲストポリシーを選択し、[削除] をクリックします。

gcloud

  1. このコマンドを使用してすべてのゲストポリシーを一覧表示します。

    gcloud beta compute os-config guest-policies list
    
  2. ゲストポリシーのリストから、セキュリティ プロダクトのゲストポリシーの ID をコピーし、次のコマンドを実行して各ゲストポリシーを削除します。

    gcloud beta compute os-config guest-policies delete POLICY_ID
    

ゲストポリシーを作成してエージェントを削除する

セキュリティ エージェントのゲストポリシーを削除した後、desiredState: REMOVED プロパティを使用して、VM からセキュリティ エージェントを削除する新しいポリシーを作成する必要があります。

たとえば、次のゲストポリシー YAML ファイルは、us-central1-f ゾーンのすべての Debian ベースの VM インスタンスから cloud-agent-package を削除します。

assignment:
  groupLabels:
  - labels:
      agent: enabled  # apply to VMs with the "agent" label set to "enabled"
  zones:
  - us-central1-f  # apply to all VMs in this zone
name: projects/YOUR_PROJECT_ID/guestPolicies/cloud-agent-remove
packages:
- desiredState: REMOVED
  manager: APT  # indicates Debian-based OS
  name: cloud-agent-package  # indicates the security agent's package name

assignment セクションは、エージェントをデプロイしたときに設定したのと同じフィルタに一致するように構成する必要があります。

ゲストポリシー YAML ファイルの作成の詳細

ゲスト ポリシー YAML ファイルを作成したら、次のコマンドを使用して適用します。

gcloud beta compute os-config guest-policies create NEW_POLICY_ID --file YOUR_GUEST_POLICY_FILE

トラブルシューティング

ゲストポリシーのデバッグ

ゲストポリシーのデバッグに関する一般的なガイダンスについては、ゲストポリシーのデバッグをご覧ください。

特に、次の方法について確認ください。

  • 既存のゲストポリシーを一覧表示する
  • 特定のゲストポリシーを検査する
  • 特定の VM インスタンスに適用されるポリシーを確認する
  • Cloud Logging のログを調べて、デプロイに関連する潜在的なエラー メッセージを検索します。

特定の VM インスタンスでデプロイが成功しない場合は、次の手順に従って問題の診断を試みることができます。

  1. デプロイによってゲストポリシーが作成されたかどうかを確認します。

  2. その場合は、作成されたゲストポリシーについて次を確認します。

    1. 予期されるセキュリティ エージェントを示している。
    2. 割り当てで予想される VM インスタンスのセットをターゲットにしている。
  3. VM インスタンス lookup に予想される新しいゲストポリシーが含まれていることを確認します。

  4. Cloud Logging ログに、その特定の VM インスタンスの OS Config 関連のエラー メッセージがあるかどうかを確認します。