このガイドでは、Security Command Center API を使用した検出結果の作成、更新について説明します。
始める前に
知見を作成および更新する前に、次の手順を行う必要があります。
このガイドを完了するには、組織レベルで Identity and Access Management(IAM)のSecurity Center 検出結果編集者(securitycenter.findingsEditor
)ロールが必要です。Security Command Center のロールの詳細については、アクセス制御をご覧ください。
セキュリティ マークが付いた知見を作成するには、使用するマークの種類に対する権限を含む次の IAM ロールも必要です。
- Asset セキュリティ マーク ライター(
securitycenter.assetSecurityMarksWriter
) - セキュリティ マーク ライターの検出(
securitycenter.findingSecurityMarksWriter
)
マークの詳細については、Security Command Center のセキュリティ マークの使用をご覧ください。
知見の作成
ソースに対してアクティブな検出結果を作成します。
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME --resource-name $RESOURCE_NAME
他の例については、次のコマンドを実行します。
gcloud scc findings create --help
Python
Java
Go
Node.js
検出結果のデータが Security Command Center に保存される期間については、検出結果の保持をご覧ください。
ソース プロパティを使用して知見を作成する
Security Command Center では、「ソース プロパティ」と呼ばれる Key-Value メタデータを使用して、コンテキストを知見に追加できます。ソース プロパティは作成時に初期化できます。以下の例は、ソース プロパティを使用して知見を作成する方法を示しています。
ソース プロパティを使用して知見を作成します。source_properties
マップ内のキー名の長さは 1〜255 文字で、文字で始まり、英数字またはアンダースコアのみを含む必要があります。Security Command Center は、ブール値、数値、文字列の値のみをサポートしています。
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=value RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE --resource-name $RESOURCE_NAME
- Key-Value ペアのカンマ区切りリストを使用して、さらにソース プロパティを追加できます。
他の例については、次のコマンドを実行します。
gcloud scc findings create --help
Python
Java
Go
Node.js
検出結果のソース プロパティの更新
次の例は、個別のソース プロパティとイベント時間を更新する方法を示しています。フィールド マスクを使用して、特定のフィールドのみを更新しています。フィールド マスクを使用しない場合は、新しい値によって、検出結果の変更可能なすべてのフィールドが置き換えられます。
新しい知見を作成する場合と同様に、source_properties
マップのキー名は 1〜255 文字で、先頭は文字で始まり、英数字またはアンダースコアのみを含む必要があります。Security Command Center は、ブール値、数値、文字列の値のみをサポートしています。
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T08:00:06.861Z SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=VALUE UPDATE_MASK=source_properties,event_time gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE \ --update-mask=$UPDATE_MASK
- すべての変更可能なフィールドをオーバーライドするには、--update-mask "(空)を使用します。
- Key-Value ペアのカンマ区切りリストを使用して、さらにソース プロパティを追加できます。
他の例については、次のコマンドを実行します。
gcloud scc findings update --help
Python
Java
Go
Node.js
検出結果の状態の更新
Security Command Center には、知見の状態だけを更新する API も用意されています。この API は、知見の状態だけを更新する方法を提供するために存在します。これは、プリンシパルに状態の変更のみを許可し、知見の他の部分を変更できないようにするシンプルな API です。下記の例では、知見の状態を非アクティブに変更する方法を示します。
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T09:00:06.861Z STATE=INACTIVE gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --event-time $EVENT_TIME
他の例については、次のコマンドを実行します。
gcloud scc findings update --help
Python
Java
Go
Node.js
検出結果の権限の確認
知見を作成または更新するには、次のいずれかの IAM 権限が必要です。
- 知見の作成と更新:
securitycenter.findings.update
。 - 知見の更新のみ:
securitycenter.findings.setState
。
ソースの検出結果を作成できない場合は、次のコードを使用して、始める前にのセクションに記載されている必要な権限がアカウントに付与されていることを確認してください。必要な権限が付与されていない場合は、セキュリティ ソースの作成と管理を参照して適切な IAM ポリシーを設定してください。
Python
Java
Go
Node.js
次のステップ
クライアント ライブラリを使用した Security Command Center へのアクセスについて詳細を確認する。