静的ミュートルールから動的ミュートルールに移行する

このページでは、既存の静的ミュートルールを動的ミュートルールに移行する方法について説明します。

動的ミュートルールは静的ミュートルールよりも柔軟性が高いため、ミュートルール構成でのみ使用することをおすすめします。静的ミュートルールと比較すると、動的ミュートルールには 3 つの大きなメリットがあります。

  • 動的ミュートルールは、既存の検出結果と新しい検出結果に適用されます。動的ミュートルールでは、フィルタ条件に一致する既存の検出結果と新しい検出結果の両方または更新された検出結果が自動的にミュートされます。
  • 動的ミュートルールには有効期限のオプションが用意されています。動的ミュートルールを使用して、特定の検出結果に一時的に一致するカスタムの有効期限を設定することもできます。有効期限が設定されていない場合、動的ミュートルールにより、ルールと一致しなくなるまで、検出結果が無期限にミュートされます。
  • 動的ミュートルールでは、検出結果のミュートが自動的に解除されます。次のいずれかが発生すると、Security Command Center は検出結果のミュートを自動的に解除します。

    • 動的ミュートルールが期限切れになります。
    • 検出結果のプロパティが変更されて、フィルタ条件と一致しなくなります。
    • フィルタ条件が変更されて、検出結果と一致しなくなります。

静的ミュートルールと動的ミュートルールを同時に使用することはおすすめしません。静的ミュートルールは、同じ検出結果に適用されると、動的ミュートルールをオーバーライドします。その結果、動的ミュートルールは意図したとおりに機能せず、検出結果を管理する際に混乱が生じる可能性があります。

動的ミュートルールのみを使用する場合、次のセクションでは、静的ミュートルールを移行するために必要な権限と手順について説明します。

権限

動的ミュート移行プロセスの実行に必要な権限を取得するには、Google Cloud 組織、フォルダ、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

動的ミュートルールに移行する

動的ミュートルールを排他的に使用するには、次の手順で動的ミュートルールを作成し、移行後に既存のミュート済み検出結果がミュートされたままになるようにします。

  1. 新しい動的なミュートルールを作成する。ミュートルールの作成後に、その種類を変更することはできません。したがって、保持する静的ミュートルールごとに、動的ミュートルールを 1 つ作成する必要があります。新しい動的ミュートルールの各名前は、既存のミュートルールとは一意である必要があります。Security Command Center では、動的ミュートルールが適切な検出結果に適用されるまでに数時間かかる場合があります。動的ミュートルールの作成方法の手順については、ミュートルールを作成するをご覧ください。
  2. 該当する検出結果のミュート状態を検証します。動的ミュートルールが適切に適用されていることを確認するには、Security Command Center API の muteInfo 属性を使用して、該当する検出結果を一覧表示し、ミュート フィールドを検査します。これにより、該当する検出結果で動的ミュートルールと静的ミュートルールのどちらが使用されているかを判断できます。

    たとえば、クエリで muteInfo.dynamicMuteRecords を使用して、新しい動的ミュートルールによってミュートされている該当する検出結果を一覧表示します。

      contains(muteInfo.dynamicMuteRecords, muteConfig =
      "organizations/123/muteConfigs/my-dynamic-rule")
    

    検出結果を一覧表示する方法の詳細については、Security Command Center API を使用してセキュリティの検出結果を一覧表示するをご覧ください。

  3. すべての静的ミュートルールを削除します。該当する今後の検出結果は、作成した新しいダイナミック ルールの対象となります。既存の静的ミュートルールをすべて削除して、新しい検出結果の新しい動的ミュートルールがオーバーライドされないようにします。ミュートルールを削除する方法については、ミュートルールを削除するをご覧ください。静的ミュートルールを削除しても、既存の検出結果の静的ミュート状態は変更されません。

  4. すべての検出結果の静的ミュート状態をリセットします。既存の検出結果の静的ミュート状態を一括でリセットするには、次のいずれかの操作を行います。

    • UNDEFINED に設定した muteState 属性で、gcloud scc findings bulk-mute コマンドまたは bulkMute API メソッドを使用します。削除した静的ミュートルールごとにこの操作を実行します。一括ミュート オペレーションを行う方法の手順については、複数の既存の検出結果をミュートまたはリセットするをご覧ください。

    • 一括ミュート オペレーションがタイムアウトした場合は、一括ミュート フィルタを更新して、更新する必要がある関連するすべての検出結果を対象とするより粒度が粗いフィルタを使用することで、すべての検出結果から静的ミュート状態を消去できます。

      静的ミュート ルールのフィルタの次の例を検討します。

      filter: "category = \"OPEN_SSH_PORT\" AND
      (resource.parentDisplayName = \"organizations/123\"
      OR resource.parentDisplayName = \"folder/456")"
      

      この静的ミュートルール フィルタの条件に一致するすべての検出結果のミュート状態を消去するには、検出結果のカテゴリに続く追加の条件を削除してフィルタを変更します。この例の場合、結果は次のようになります。

      filter: "category = \"OPEN_SSH_PORT""
      

      検出結果のミュート状態を手動で設定した場合、この方法では、検出結果のミュート状態もリセットされる場合があります。

      ミュートルールの更新の詳細については、ミュートルールを更新するをご覧ください。

静的ミュートルールを動的ミュートルールに移行する際にサポートが必要な場合は、サポートにお問い合わせください。

次のステップ

詳しくは、ミュートルールの作成と管理をご覧ください。