このドキュメントでは、Security Command Center で検出結果を自動的にミュートするミュートルールを作成して管理する方法について説明します。
必要なロール
ミュートルールを管理するために必要な権限を取得するには、組織、フォルダ、またはプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼します。
-
ミュートルールを表示する:
- セキュリティ センター管理の閲覧者(
roles/securitycenter.adminViewer) - セキュリティ センター設定の閲覧者(
roles/securitycenter.settingsViewer) - セキュリティ センターのミュート構成閲覧者 (
roles/securitycenter.muteConfigsViewer)
- セキュリティ センター管理の閲覧者(
-
ミュートルールの表示、作成、更新、削除:
- セキュリティ センター管理者 (
roles/securitycenter.admin) - セキュリティ センター管理者編集者 (
roles/securitycenter.adminEditor) - セキュリティ センター設定の編集者(
roles/securitycenter.settingsEditor) - セキュリティ センターのミュート構成編集者 (
roles/securitycenter.muteConfigsEditor)
- セキュリティ センター管理者 (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
ミュートルールの作成
1 つの組織で作成できるミュートルールは 1,000 個までです。
動的ミュートルールは静的ミュートルールよりも柔軟性が高いため、ミュートルール構成では動的ミュートルールのみを使用することをおすすめします。ミュートルールのタイプの比較については、ミュートルールのタイプをご覧ください。
ミュートルールを作成するには、使用する方法のタブをクリックします。
コンソール
ミュートルールを定義する
Google Cloud コンソールで、[検出結果] ページに移動します。
組織またはプロジェクトを選択します。
[ミュート オプション] をクリックし、[ミュートルールを管理] を選択します。
[ミュートルールを作成する] をクリックします。
ミュートルール ID を入力します。
推奨: 検出結果がミュートされる理由を説明する説明を入力します。
ミュートルールの範囲を確認するには、[親リソース] の値を確認します。
省略可: 有効期限を追加する
動的ミュートルールに有効期限を追加できます。
- [一致する検出結果を一時的にミュートする] を選択します。
動的ミュートルールの有効期限を構成するには、カレンダーを選択し、24 時間以上先の日時を選択します。
有効期限が切れると、ミュートルールは無効になります。
省略可: クエリでミュート ルールを制限する
クエリを追加すると、ミュートルールはクエリに一致する検出結果にのみ適用されます。
クエリでミュートルールを制限するには、[検出クエリ] セクションで [フィルタを追加] をクリックします。
[フィルタを追加] メニューでは、サポートされている検出結果属性と値を選択できます。
- [フィルタを選択] メニューで、検出属性を選択するか、[検出属性の検索] ボックスに名前を入力します。使用可能なサブ属性のリストが表示されます。
- サブ属性を選択します。選択フィールドには、選択したサブ属性、クエリ演算子、サブ属性の 1 つ以上の値を使用してクエリ ステートメントを作成できる場所が表示されます。
-
パネルで演算子とサブ属性の値を 1 つ以上選択します。クエリ演算子とそれらが使用する関数の詳細については、[フィルタを追加] メニューのクエリ演算子をご覧ください。
最初からやり直す場合は、[リセット] をクリックします。
-
[適用] をクリックします。
メニューが閉じて、クエリが更新されます。
- 検出クエリに必要な属性がすべて表示されるまで、この操作を繰り返します。
クエリが正しい結果と一致しない場合は、必要に応じてクエリを修正し、結果を再度プレビューします。結果に満足するまで、この手順を繰り返します。
ミュートルールを保存する
[保存] をクリックします。 Google Cloud コンソールにミュートルールのリストが表示されます。
gcloud
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ミュートルールを作成するには、
gcloud scc muteconfigs createコマンドを実行します。gcloud scc muteconfigs create CONFIG_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --description="RULE_DESCRIPTION" \ --filter="FILTER" \ --type=MUTE_TYPE \ --expiry-time=TIMESTAMP
次のように置き換えます。
CONFIG_ID: ミュートルールの名前。ID には英数字とハイフンを使用し、1 文字から 63 文字までの長さにする必要があります。PARENT: ミュートルールが適用されるリソース階層内の範囲(organization、folder、またはproject)。PARENT_ID: 親組織、フォルダ、またはプロジェクトの数値 ID、または親プロジェクトの英数字 ID。LOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。RULE_DESCRIPTION: 1,024 文字以内のミュートルールの説明。FILTER: 検出結果のフィルタを定義する式。たとえば、OPEN_FIREWALLの検出結果をミュートするには、フィルタをFILTER="category=\"OPEN_FIREWALL\""にします。MUTE_TYPE: 作成するミュートルールのタイプ。有効なミュートルールのタイプはDYNAMICとSTATICです。ミュートルールのタイプは、デフォルトでSTATICに設定されています。作成後にミュートルールのタイプを変更することはできません。TIMESTAMP: 動的ミュートルールを作成する場合にのみ適用されます。動的ミュートルールの有効期限を示す日時文字列。この値は、今後 1 日以上先の日付に設定する必要があります。設定しないと、リクエストは拒否されます。時間形式については、gcloud topic datetimesをご覧ください。動的ミュートルールが期限切れになると、一致したすべての検出結果から削除されます。一致した検出結果に対して動的ミュートルールを無期限に動作させる場合は、このフィールドを省略します。
レスポンスにはミュートルール ID が含まれます。この ID を使用して、ミュートルールを管理するで説明されているミュートルールを表示、更新、削除できます。
Terraform
組織のミュートルールを作成します。
フォルダのミュートルールを作成します。
プロジェクトのミュートルールを作成します。
Go
Java
Python
REST
Security Command Center API で、muteConfigs.create メソッドを使用してミュートルールを作成できます。リクエストの本文は MuteConfig のインスタンスです。
POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs?muteConfigId=MUTE_CONFIG_ID -d
{
"description": "RULE_DESCRIPTION",
"filter": "FILTER",
"type": "MUTE_TYPE",
"expiryTime": "TIMESTAMP"
}
次のように置き換えます。
PARENT: ミュートルールの親リソース(organizations、folders、またはprojects)PARENT_ID: 親組織、フォルダ、またはプロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。MUTE_CONFIG_ID: ミュートルールの名前(1~63 文字)RULE_DESCRIPTION: ミュートルールの説明(最大: 1,024 文字)FILTER: 検出結果のフィルタを定義する式たとえば、
OPEN_FIREWALLの検出結果をミュートするには、フィルタを"category=\"OPEN_FIREWALL\""にします。MUTE_TYPE: 作成するミュートルールのタイプ。有効なミュートルールのタイプはDYNAMICとSTATICです。作成後にミュートルールのタイプを変更することはできません。TIMESTAMP: 動的ミュートルールを作成する場合にのみ適用されます。動的ミュートルールの有効期限を示す日時文字列。この値は、今後 1 日以上先の日付に設定する必要があります。設定しないと、リクエストは拒否されます。時間形式については、gcloud topic datetimesをご覧ください。動的ミュートルールが期限切れになると、一致したすべての検出結果から削除されます。一致した検出結果に対して動的ミュートルールを無期限に動作させる場合は、このフィールドを省略します。
レスポンスにはミュート構成 ID が含まれます。この ID を使用して、ミュートルールを管理するで説明されているミュートルールを表示、更新、削除できます。
フィルタと完全に一致する新しい検出結果は非表示になり、検出結果の mute 属性は MUTED に設定されます。
ミュートルールでサポートされていない検出プロパティ
ミュートルールは、フィルタ内の検出プロパティをすべてサポートしているわけではありません。次のセクションを開くと、ミュートルールのフィルタでサポートされていないプロパティのリストが表示されます。
サポートされていない検出結果のプロパティ
caiResourcecanonicalNamecreateTimedescriptioneventTimeexternalUrigcpMetadata.folders1libraryPathsmutemuteAnnotationmuteInfomuteInitiatormuteUpdateTimenamenextStepsoriginalProviderIdparentprocesses.binaryPathprocesses.libraryPathspropertyDataTypesresource.tagsresourceNamesecurityMarkssourcePropertiesstateworkflowState
1gcpMetadata.folders プロパティには、ミュート フィルタでサポートされているサブフィールドが含まれています。
ミュートルールを一覧表示する
組織、フォルダ、プロジェクトのミュートルールを一覧表示するには、 Google Cloud コンソール、gcloud CLI、または Security Command Center API を使用します。
特定のスコープのミュートルールを一覧表示できるかどうかは、IAM ロールに付与されている権限によって異なります。
Security Command Center のデータ所在地が有効になっている場合、list コマンドは、Security Command Center のロケーションに制限されます。
ミュートルールを一覧表示するサンプルコードについては、ミュートルールを一覧表示するをご覧ください。
組織、フォルダ、またはプロジェクトのミュートルールを一覧表示するには、使用するプロシージャのタブを使用します。
コンソール
Google Cloud コンソールで、Security Command Center の [設定] ページの [ミュートルール] タブに移動します。
必要に応じて、 Google Cloud プロジェクトまたは組織を選択します。
[ミュートルール] セクションに、次のようなアクティブなミュートルールの詳細が表示されます。
- 名前: ミュートルール ID
- 親リソース: ミュートルールが存在するリソース
- 説明: ミュートルールの説明(説明がある場合)
- 最終更新者: ルールを最後に更新したプリンシパル
- 最終更新: ルールが最後に更新された日時
gcloud
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ミュートルールを一覧表示するには、
gcloud scc muteconfigs listコマンドを実行します。gcloud scc muteconfigs list --PARENT=PARENT_ID \ --location=LOCATION
次のように置き換えます。
PARENT: 親organization、folder、またはproject(ミュートルールを一覧表示する場合)PARENT_ID: 親組織、フォルダ、またはプロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。
Go
Java
Python
REST
Security Command Center API で、muteConfigs.list メソッドを使用してミュートルールを一覧表示できます。
GET https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs
次のように置き換えます。
PARENT: ミュートルールの親リソース(organizations、folders、またはprojects)PARENT_ID: 親組織、フォルダ、またはプロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。
レスポンスには、ミュートルールの名前、説明、ミュートの構成 ID が含まれます。
ミュートルールの構成を表示する
ミュートルールの構成は、 Google Cloud コンソール、gcloud CLI、または Security Command Center API を使用して表示できます。
ミュートルールの構成を取得するサンプルコードについては、ミュートルールを表示するをご覧ください。
ミュートルールの構成を表示するには、使用する方法のタブをクリックします。
コンソール
Google Cloud コンソールで、Security Command Center の [設定] ページの [ミュートルール] タブに移動します。
必要に応じて、 Google Cloud プロジェクトまたは組織を選択します。
[ミュートルール] セクションにミュートルールの一覧が表示されます。
表示するルールの名前をクリックします。
ミュートルールの構成を示すページが表示されます。
gcloud
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ミュートルールの構成を表示するには、
gcloud scc muteconfigs getコマンドを実行します。gcloud scc muteconfigs get MUTE_CONFIG_ID \ --PARENT=PARENT_ID --location=LOCATION
次のように置き換えます。
MUTE_CONFIG_ID: ミュートルールの IDPARENT: ミュートルールの親リソース(organization、folder、またはproject)PARENT_ID: 組織、フォルダまたはプロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。
Go
Java
Python
REST
Security Command Center API で、muteConfigs.get メソッドを使用してミュートルールを構成します。
GET https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID
次のように置き換えます。
PARENT: ミュートルールの親リソース(organizations、folders、またはprojects)PARENT_ID: 組織、フォルダ、プロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。CONFIG_ID: ミュートルールの数値 ID
ミュートルールを更新する
Google Cloud コンソール、gcloud CLI、または Security Command Center API を使用して、ミュートルールの説明または検出フィルタを更新できます。
ID、親組織、フォルダ、またはプロジェクト、またはミュートルールのロケーションは変更できません。これらの値を変更するには、新しいミュートルールを作成する必要があります。
以前に検出結果のミュートを解除しても、その検出結果が Google Cloud コンソールで更新されたミュートルールと一致すると、再びミュートされます。詳細については、個々の検出結果のミュートを解除するをご覧ください。
ミュートルールを更新するサンプルコードについては、ミュートルールを更新するをご覧ください。
ミュートルールを更新するには、使用する方法のタブをクリックします。
コンソール
Google Cloud コンソールで、Security Command Center の [設定] ページの [ミュートルール] タブに移動します。
変更するミュートルールの親リソースである Google Cloud プロジェクトまたは組織を選択します。
変更するミュートルールの名前をクリックします。
適切なプロジェクトまたは組織を選択していない場合は、ミュートルールを変更する権限がないことを示す注が表示されることがあります。
ミュートルールを変更します。
省略可: フィルタを更新したら、[一致する検出結果をプレビュー] をクリックして、更新されたフィルタと一致する検出結果を表示します。新しいクエリに一致する検出結果がテーブルに読み込まれます。
[保存] をクリックします。
gcloud
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ミュートルールを更新するには、
gcloud scc muteconfigs updateコマンドを実行します。gcloud scc muteconfigs update MUTE_CONFIG_ID \ --PARENT=PARENT_ID \ --location=LOCATION \ --description=RULE_DESCRIPTION \ --filter=FILTER \ --type=MUTE_TYPE \ --expiry-time=TIMESTAMP次のように置き換えます。
MUTE_CONFIG_ID: ミュートルールの ID。PARENT: ミュートルールの親リソース(organization、folder、またはproject)PARENT_ID: 組織、フォルダ、プロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。RULE_DESCRIPTION: ミュートルールの説明(最大: 1,024 文字)。FILTER: 検出結果のフィルタを定義する式。たとえば、
OPEN_FIREWALLの検出結果をミュートするには、フィルタをFILTER="category=\"OPEN_FIREWALL\""にします。MUTE_TYPE: 更新するミュートルールのタイプ。有効なミュートルールのタイプはDYNAMICとSTATICです。作成後にミュートルールのタイプを変更することはできません。TIMESTAMP: 動的ミュートルールを更新する場合にのみ適用されます。動的ミュートルールの有効期限を示す日時文字列。この値は、今後 1 日以上先の日付に設定する必要があります。設定しないと、リクエストは拒否されます。時間形式については、gcloud topic datetimesをご覧ください。動的ミュートルールが期限切れになると、一致したすべての検出結果から削除されます。一致した検出結果に対して動的ミュートルールを無期限に動作させる場合は、このフィールドを省略します。
Go
Java
Python
REST
Security Command Center API で、muteConfigs.patch メソッドを使用してミュートルールを更新できます。リクエストの本文は MuteConfig のインスタンスです。
PATCH https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID
{
"description": "RULE_DESCRIPTION",
"filter": "FILTER",
"type": "MUTE_TYPE",
"expiryTime": "TIMESTAMP"
}
次のように置き換えます。
PARENT: ミュートルールの親リソース(organizations、folders、またはprojects)PARENT_ID: 組織、フォルダ、プロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。CONFIG_ID: ミュートルールの数値 IDRULE_DESCRIPTION: ミュートルールの説明(最大: 1,024 文字)FILTER: 検出結果のフィルタを定義する式MUTE_TYPE: 更新するミュートルールのタイプ。有効なミュートルールのタイプはDYNAMICとSTATICです。作成後にミュートルールのタイプを変更することはできません。TIMESTAMP: 動的ミュートルールを更新する場合にのみ適用されます。動的ミュートルールの有効期限を示す日時文字列。この値は、今後 1 日以上先の日付に設定する必要があります。設定しないと、リクエストは拒否されます。時間形式については、gcloud topic datetimesをご覧ください。動的ミュートルールが期限切れになると、一致したすべての検出結果から削除されます。一致した検出結果に対して動的ミュートルールを無期限に動作させる場合は、このフィールドを省略します。
ミュートルールを削除する
ミュートルールは、 Google Cloud コンソール、gcloud CLI、または Security Command Center API を使用して削除できます。
ミュートルールを削除する前に、次の点にご注意ください。
- 削除したミュートルールは復元できません。
- 静的ミュートルールを削除しても、ミュートされている検出結果のミュートが自動的に解除されることはありません。手動またはプログラムで検出結果のミュートを解除する必要があります。
- 動的ミュートルールを削除すると、以前に一致したすべての検出結果からルールが自動的に削除され、他のルールと一致しない場合、ミュートが解除されます。
- 削除されたミュートルールのフィルタと一致する将来の検出結果はミュートの対象となりません。
ミュートルールを削除するサンプルコードについては、ミュートルールを削除するをご覧ください。
ミュートルールを削除するには、使用する方法のタブをクリックします。
コンソール
Google Cloud コンソールで、Security Command Center の [設定] ページの [ミュートルール] タブに移動します。
必要に応じて、 Google Cloud プロジェクトまたは組織を選択します。
削除するミュートルールの名前をクリックします。
[delete削除] をクリックします。
ダイアログを読み、問題がなければ [削除] をクリックします。
gcloud
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
ミュートルールを削除するには、
gcloud scc muteconfigs deleteコマンドを実行します。gcloud scc muteconfigs delete MUTE_CONFIG_ID \ --PARENT=PARENT_ID --location=LOCATION
次のように置き換えます。
MUTE_CONFIG_ID: ミュート構成の IDPARENT: ミュートルールの親リソース(organization、folder、またはproject)PARENT_ID: 組織、フォルダ、プロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。
ミュートルールを削除するリクエストを確定します。
Go
Java
Python
REST
Security Command Center API で、muteConfigs.delete メソッドを使用してミュートルールを削除できます。
DELETE https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID
次のように置き換えます。
PARENT: ミュートルールの親リソース(organizations、folders、またはprojects)PARENT_ID: 組織、フォルダ、プロジェクトの IDLOCATION: ミュートルールを管理する Security Command Center のロケーション。データ所在地が有効になっている場合は、eu、sa、usを使用します。それ以外の場合は、globalを使用します。CONFIG_ID: ミュートルールの数値 ID