このページでは、次に挙げる例など、Security Command Center API の通知機能を使用する方法について説明します。
NotificationConfig
を作成するNotificationConfig
の取得NotificationConfig
の更新NotificationConfig
の削除NotificationConfig
の一覧表示- Pub/Sub 通知の受信
また、Security Command Center Premium のお客様には、Security Command Center で Pub/Sub の継続的エクスポートを設定する方法もあります。
始める前に
このページの例を使用するには、検出通知の設定のガイドを完了する必要があります。
以降の例を実行するには、適切な権限を持つ Identity and Access Management(IAM)ロールが必要です。
NotificationConfig
の作成: セキュリティ センター通知構成編集者(roles/securitycenter.notificationConfigEditor
)NotificationConfig
の取得と一覧表示: セキュリティ センター通知構成閲覧者(roles/securitycenter.notificationConfigViewer
)またはセキュリティ センター通知構成編集者(roles/securitycenter.notificationConfigEditor
)NotificationConfig
の更新と削除: セキュリティ センター通知の編集者(roles/securitycenter.notificationConfigEditor
)
notificationConfig
にアクセスするプリンシパルに適切なロールを付与するには、次のいずれかの IAM ロールが必要です。
- 組織管理者(
roles/resourcemanager.organizationAdmin
) - フォルダ IAM 管理者(
roles/resourcemanager.folderIamAdmin
) - プロジェクト IAM 管理者(
roles/resourcemanager.projectIamAdmin
)
Security Command Center の IAM ロールは、組織レベル、フォルダレベル、またはプロジェクト レベルで付与できます。検出結果、アセット、セキュリティ ソースを表示、編集、作成、更新する権限は、アクセス権が付与されているレベルによって異なります。Security Command Center のロールの詳細については、アクセス制御をご覧ください。
データ所在地と通知
Security Command Center でデータ所在地が有効になっている場合、Pub/Sub(notificationConfig
リソース)への継続的なエクスポートを定義する構成はデータの対象であり、Security Command Center のロケーションに保存されます。
Security Command Center のロケーションの検出結果を Pub/Sub にエクスポートするには、検出結果と同じ Security Command Center のロケーションに継続的なエクスポートを構成する必要があります。
継続的なエクスポートで使用されるフィルタには、所在地管理の対象となるデータが含まれる可能性があるため、作成する前に正しいロケーションを指定していることを確認してください。Security Command Center では、エクスポートを作成するロケーションは制限されません。
継続的エクスポートは作成場所にのみ保存され、他のロケーションで表示や編集はできません。
継続的なエクスポートを作成した後に、そのロケーションを変更することはできません。ロケーションを変更するには、継続的なエクスポートを削除して、新しいロケーションに再作成する必要があります。
API 呼び出しを使用して継続的なエクスポートを取得するには、notificationConfig
の完全なリソース名でロケーションを指定する必要があります。次に例を示します。
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01}
同様に、gcloud CLI を使用して継続的なエクスポートを取得するには、構成の完全なリソース名または --locations
フラグを使用してロケーションを指定する必要があります。次に例を示します。
gcloud scc notifications describe myContinuousExport organizations/123 \ --location=locations/us
NotificationConfig の作成
NotificationConfig
を作成するには、以下が必要です。
- 通知の送信先にする既存の Pub/Sub トピック。
notificationConfig
を作成するプリンシパルに必要な IAM ロール。
詳細については、検出通知の設定ガイドの Pub/Sub トピックを設定する手順をご覧ください。
NotificationConfig
を作成する前に、各組織で保持できる NotificationConfig
ファイルの数に上限があることを確認してください。詳細については、割り当てと上限をご覧ください。
NotificationConfig
には、通知を有用なイベントに限定する filter
フィールドが含まれています。このフィールドは、Security Command Center API の findings.list
メソッドで使用できるすべてのフィルタを受け入れます。
NotificationConfig
を作成する場合は、Google Cloud リソース階層(組織、フォルダ、プロジェクトのいずれか)から NotificationConfig
の親を指定します。後で NotificationConfig
を取得、更新、削除する必要がある場合は、参照時に親の組織、フォルダ、またはプロジェクトの数値 ID を指定する必要があります。
任意の言語やプラットフォームを使用して NotificationConfig
を作成するには:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
以下を置き換えます。
NOTIFICATION_NAME
: 通知の名前。 1~128 文字で、英数字、アンダースコア、ハイフンのみを使用できます。PARENT
: 通知が適用されるリソース階層内の範囲(organization
、folder
、またはproject
)。PARENT_ID
: 親組織、フォルダー、またはプロジェクトの ID で、organizations/123
、folders/456
、またはprojects/789
の形式で指定されます。LOCATION
: データ所在地が有効になっている場合は、通知を作成する Security Command Center のロケーションを指定します。生成されたnotificationConfig
リソースは、このロケーションにのみ保存されます。このロケーションで発行された検出結果のみが Pub/Sub に送信されます。
データ所在地が有効になっていない場合、--location
フラグを指定すると、Security Command Center API v2 を使用して通知が作成されます。フラグの有効な値は global
のみです。* NOTIFICATION_DESCRIPTION
: 通知の説明(最大 1,024 文字)。* PUBSUB_TOPIC
: 通知を受信する Pub/Sub トピック。形式は projects/PROJECT_ID/topics/TOPIC
です。
* FILTER
: Pub/Sub に送信する検出結果を選択するために定義する式。例: state=\"ACTIVE\"
。
Python
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Java
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Go
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Node.js
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
PHP
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Ruby
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
C#
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
これで、指定した Pub/Sub トピックに通知がパブリッシュされるようになりました。
通知をパブリッシュするため、サービス アカウントが service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
の形式で作成されます。このサービス アカウントは、最初の NotificationConfig
を作成するときに作成され、通知構成の作成時に PUBSUB_TOPIC の IAM ポリシーに対する securitycenter.notificationServiceAgent
ロールが自動的に付与されます。 通知が機能するには、このサービス アカウントのロールが必要です。
NotificationConfig の取得
NotificationConfig
を取得するには、securitycenter.notification.get
権限を含む IAM ロールが必要です。
gcloud
gcloud scc notifications describe PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
以下を置き換えます。
PARENT_TYPE
は、通知構成で指定されたリソース階層のレベルに応じてorganizations
、folders
、projects
のいずれかに置き換えます。PARENT_ID
は親リソースの数値 ID に置き換えます。LOCATION
: データ所在地が有効になっているか、API v2 を使用してnotificationConfig
リソースが作成された場合は必須。: データ所在地が有効になっている場合は、通知が保存される Security Command Center のロケーションを指定します。
データ所在地が有効になっていない場合、Security Command Center API v2 を使用して、
notificationConfig
リソースが作成された場合/locations/LOCATION
のみを含めます。この場合、唯一の有効な場所がglobal
です。NOTIFICATION_NAME
: 通知の名前。
Python
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Java
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Go
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Node.js
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
PHP
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Ruby
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
C#
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
NotificationConfig の更新
NotificationConfig
を更新するには、securitycenter.notification.update
権限を含む IAM ロールが必要です。
フィールド マスクを使用して更新する場合、指定したフィールドのみが更新されます。フィールド マスクを使用しない場合は、NotificationConfig
内のすべての変更可能なフィールドが新しい値に置き換えられます。フィールド マスクを使用することで、Pub/Sub のトピックと説明文を更新できます。
この例を完了するには、新しいトピックに登録されていることと、通知のサービス アカウントにそのトピックに対する pubsub.topics.setIamPolicy
権限が付与されている必要があります。
必要な権限を付与したら、任意の言語を使用して NotificationConfig
の説明、Pub/Sub トピック、フィルタを更新します。
gcloud
gcloud scc notifications update PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
--description="NOTIFICATION_DESCRIPTION" \
--pubsub-topic=PUBSUB_TOPIC \
--filter="FILTER"
以下を置き換えます。
PARENT_TYPE
は、通知構成で指定されたリソース階層のレベルに応じてorganizations
、folders
、projects
のいずれかに置き換えます。PARENT_ID
は親リソースの数値 ID に置き換えます。LOCATION
: データ所在地が有効になっているか、API v2 を使用してnotificationConfig
が作成された場合は必須。データ所在地が有効になっている場合は、通知が保存される Security Command Center のロケーションを指定します。
データ所在地が有効になっていない場合は、フルネームに
/locations/LOCATION
を含めるか、notificationConfig
リソースが Security Command Center API を使用して作成された場合にのみ--location
フラグを指定します。v2 の場合、有効な場所はglobal
のみです。NOTIFICATION_NAME
: 通知の名前。NOTIFICATION_DESCRIPTION
: 通知の説明(最大 1,024 文字)。PUBSUB_TOPIC
: 通知を受け取る Pub/Sub トピック。形式はprojects/PROJECT_ID/topics/TOPIC
です。FILTER
: Pub/Sub に送信する検出結果を選択するために定義する式。例:state="ACTIVE"
Python
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Java
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Go
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Node.js
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
PHP
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Ruby
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
C#
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
NotificationConfig の削除
NotificationConfig
を削除するには、securitycenter.notification.delete
権限を含む IAM ロールが必要です。
NotificationConfig
を削除しても、securitycenter.notificationServiceAgent
ロールは Pub/Sub トピックに残ります。他のどの NotificationConfig
でもその Pub/Sub トピックを使用していない場合は、トピックからロールを削除します。詳細については、アクセス制御をご覧ください。
任意の言語を使用して、NotificationConfig
を削除します。
gcloud
gcloud scc notifications delete PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
以下を置き換えます。
PARENT_TYPE
は、通知構成で指定されたリソース階層のレベルに応じてorganizations
、folders
、projects
のいずれかに置き換えます。PARENT_ID
は親リソースの数値 ID に置き換えます。LOCATION
: データ所在地が有効になっているか、API v2 を使用してnotificationConfig
が作成された場合は必須。データ所在地が有効になっている場合は、通知が保存される Security Command Center のロケーションを指定します。
データ所在地が有効になっていない場合は、フルネームに
/locations/LOCATION
を含めるか、notificationConfig
が Security Command Center API v2 を使用して作成された場合にのみ--location
フラグを指定します。その場合、有効な場所はglobal
のみです。NOTIFICATION_NAME
: 通知の名前。
Python
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Java
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Go
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Node.js
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
PHP
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Ruby
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
C#
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
NotificationConfig の一覧表示
NotificationConfigs
を一覧表示するには、securitycenter.notification.list
権限を含む IAM ロールが必要です。
Security Command Center API のすべてのリストはページ分けされます。各レスポンスでは、結果のページと次のページを返すためのトークンが戻されます。デフォルトの pageSize
は 10 です。ページサイズは最小値の 1 から最大値の 1,000 まで構成できます。
任意の言語を使用して、NotificationConfigs
を一覧表示します。
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID/locations/LOCATION
以下を置き換えます。
PARENT_TYPE
は、通知を一覧表示する範囲に応じてorganizations
、folders
、またはprojects
に置き換えます。PARENT_ID
は親リソースの数値 ID に置き換えます。LOCATION
: データ所在地が有効になっているか、API v2 を使用してnotificationConfig
リソースが作成された場合は必須。: データ所在地が有効になっている場合は、通知が保存される Security Command Center のロケーションを指定します。
データ所在地が有効になっていない場合、名前に
/locations/LOCATION
を指定する、またはコマンドに--location
フラグを指定すると、Security Command Center API v2 を使用して作成されたもので、有効な場所がglobal
のみのnotificationConfig
リソースが一覧表示されます。
Python
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Java
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Go
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Node.js
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
PHP
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Ruby
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
C#
次のサンプルでは、v1 API を使用します。v2 のサンプルを変更するには、v1
を v2
に置き換え、/locations/LOCATION
をリソース名に追加します。
ほとんどのリソースでは、/PARENT/PARENT_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、PARENT
は organizations
、folders
、または projects
です。
検出結果の場合は、/sources/SOURCE_ID
の後に /locations/LOCATION
をリソース名に追加します。ここで、SOURCE_ID
は、検出結果を発行した Security Command Center サービスの ID です。
Pub/Sub 通知の受信
このセクションでは、サンプルの通知メッセージと、検出結果を含む NotificationMessage
に Pub/Sub メッセージを変換する方法の例について説明します。
通知は JSON
形式で Pub/Sub に発行されます。次に示しているのは、通知メッセージの例です。
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/CONFIG_ID",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"state": "ACTIVE",
"category": "TEST-CATEGORY",
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2019-07-26T07:32:37Z",
"createTime": "2019-07-29T18:45:27.243Z"
}
}
任意の言語を使用して Pub/Sub メッセージを NotificationMessage
に変換します。
gcloud
gcloud CLI を使用して、Pub/Sub メッセージを NotificationMessage
に変換することはできません。gcloud CLI を使用して NotificationMessage
を取得し、ターミナルで直接 JSON
を出力できます。
# The subscription used to receive published messages from a topic
PUBSUB_SUBSCRIPTION="projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
gcloud pubsub subscriptions pull $PUBSUB_SUBSCRIPTION
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
- SUBSCRIPTION_ID はサブスクリプション ID に置き換えます。
Python
Java
Go
Node.js
PHP
次のステップ
- 通知のフィルタリングを確認する。