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

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

静的ミュートルールよりも柔軟性が高いため、ミュートルールの構成では動的ミュートルールのみを使用することをおすすめします。静的ミュートルールに比べて、動的ミュートルールは次の 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""
      

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

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

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

次のステップ

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