En esta página, se describe cómo usar la función de notificaciones de la API de Security Command Center, incluidos los siguientes ejemplos:
- Crea una
NotificationConfig
- Obtén una
NotificationConfig
- Actualiza una
NotificationConfig
- Borra una
NotificationConfig
- Enumera
NotificationConfig
- Recibe notificaciones de Pub/Sub
Por otro lado, los clientes Premium de Security Command Center pueden configurar las exportaciones continuas para Pub/Sub en Security Command Center.
Antes de comenzar
Para usar los ejemplos de esta página, debes completar la guía para configurar las notificaciones de resultados
Para ejecutar los siguientes ejemplos, necesitas una función de administración de identidades y accesos (IAM) con los permisos adecuados:
- Crear
NotificationConfig
: Parámetros de configuración de notificaciones del centro de seguridad Editor (roles/securitycenter.notificationConfigEditor
) - Obtener y enumerar
NotificationConfig
: notificación del centro de seguridad Visualizador de configuraciones (roles/securitycenter.notificationConfigViewer
) o Editor de configuraciones de notificación del centro de seguridad (roles/securitycenter.notificationConfigEditor
) - Actualizar y borrar
NotificationConfig
: notificación del centro de seguridad Editor de configuraciones (roles/securitycenter.notificationConfigEditor
)
Para otorgar los roles adecuados a una principal que accede a un notificationConfig
,
debes tener uno de los siguientes roles de IAM:
- Administrador de la organización (
roles/resourcemanager.organizationAdmin
) - Administrador de IAM de carpeta (
roles/resourcemanager.folderIamAdmin
) - Administrador del proyecto de IAM (
roles/resourcemanager.projectIamAdmin
)
Los roles de IAM para Security Command Center se pueden otorgar a nivel de la organización, a nivel de carpeta o proyecto. Tu capacidad para ver, editar, crear o actualizar resultados, recursos, y las fuentes de seguridad dependen del nivel al que se te otorgue acceso. Para obtener más información Para los roles de Security Command Center, consulta Control de acceso.
Residencia de los datos y notificaciones
Si la residencia de datos
para Security Command Center, los parámetros de configuración que definen
las exportaciones continuas a
Pub/Sub (notificationConfig
recursos) están sujetos
al control de residencia de datos y se almacenan en tu
Ubicación de Security Command Center.
Para exportar los resultados de una ubicación de Security Command Center a Pub/Sub, debes configurar la infraestructura exportar en la misma ubicación de Security Command Center que los resultados.
Debido a que los filtros que se usan en las las exportaciones pueden contener datos sujetos a controles de residencia, asegúrate de especificar la ubicación correcta antes de crearlos. Security Command Center no restringe la ubicación que creas exportarás.
Las exportaciones continuas se almacenan solo en la ubicación en las que se crean y no se pueden ver ni editar en otras ubicaciones.
Después de crear una exportación continua, no puedes cambiar su ubicación. Para cambiar la ubicación, debes borrar la exportación continua y volver a crearla en la nueva ubicación.
Para recuperar una exportación continua mediante llamadas a la API, haz lo siguiente:
debes especificar la ubicación en el nombre completo del recurso de la
notificationConfig
Por ejemplo:
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01}
Del mismo modo, para recuperar una exportación continua usando
en gcloud CLI, debes especificar la ubicación
en el nombre completo del recurso de la configuración o mediante --locations
marca. Por ejemplo:
gcloud scc notifications describe myContinuousExport organizations/123 \ --location=locations/us
Crea un NotificationConfig
Para crear un NotificationConfig
, debes tener lo siguiente:
- Un tema de Pub/Sub existente al que desees enviar notificaciones.
- Roles de IAM obligatorios para la principal que crea la
notificationConfig
Para obtener más información, consulta el paso a configura un tema de Pub/Sub de la guía para configurar las notificaciones de resultados.
Antes de crear un NotificationConfig
, ten en cuenta que cada organización
puede tener una cantidad limitada de archivos NotificationConfig
. Para obtener más información, consulta Cuotas y límites.
El NotificationConfig
incluye un campo filter
que limita las notificaciones a eventos útiles. Este campo acepta todos los filtros disponibles en la
API de Security Command Center findings.list
.
Cuando creas un NotificationConfig
, especificas un elemento superior para el
NotificationConfig
de la jerarquía de recursos de Google Cloud,
una organización, una carpeta o un proyecto. Si necesitas recuperar,
actualizar o borrar la NotificationConfig
más tarde, deberás incluir
el ID numérico de la organización, la carpeta o el proyecto superior cuando
hacer referencia a él.
Para crear el NotificationConfig
con el lenguaje o la plataforma
que elijas:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Reemplaza lo siguiente:
NOTIFICATION_NAME
: Es el nombre de la notificación. Debe tener entre 1 y 128 caracteres, y contener caracteres alfanuméricos solo caracteres, guiones bajos o guiones.PARENT
: Es el permiso en la jerarquía de recursos. a la que se aplica la notificación,organization
,folder
oproject
.PARENT_ID
: Es el ID de la organización superior. carpeta o proyecto, especificada en el formato deorganizations/123
,folders/456
oprojects/789
.LOCATION
: Si la residencia de datos está habilitada, especifica el Ubicación de Security Command Center en la que se creará la notificación. ElnotificationConfig
resultante recurso se almacena solo en esta ubicación. Solo los resultados que son emitidas en esta ubicación se envían a Pub/Sub.Especifica la marca
--location
si la residencia de datos no está habilitada crea la notificación con la API de Security Command Center v2 el único valor válido para la marca esglobal
.NOTIFICATION_DESCRIPTION
: Es una descripción de la de no más de 1,024 caracteres.PUBSUB_TOPIC
: el Pub/Sub que recibirá notificaciones. Su formato esprojects/PROJECT_ID/topics/TOPIC
.FILTER
: Es la expresión que defines para seleccionar. qué resultados se envían a Pub/Sub. Por ejemplo,state="ACTIVE"
Python
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Java
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Go
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Node.js
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
PHP
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Ruby
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
C#
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Las notificaciones ahora se publican en el tema de Pub/Sub que especificaste.
Para publicar notificaciones, se crea una cuenta de servicio para ti con el formato service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
.
Esta cuenta de servicio se crea cuando creas tu primer NotificationConfig
y se le otorga automáticamente el rol de securitycenter.notificationServiceAgent
en la política de IAM de PUBSUB_TOPIC cuando se crea la configuración de notificaciones.
Este rol de la cuenta de servicio es obligatorio para que funcionen las notificaciones.
Obtén una NotificationConfig
Para obtener una NotificationConfig
, debes tener una función de IAM que incluya el permiso securitycenter.notification.get
.
gcloud
gcloud scc notifications describe PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
Reemplaza lo siguiente:
PARENT_TYPE
conorganizations
,folders
, oprojects
, según el nivel de la jerarquía de recursos se especifican en la configuración de notificaciones.PARENT_ID
por el ID numérico del recurso superiorLOCATION
: Obligatorio si cualquiera de las opciones de residencia de los datos está habilitado o los recursosnotificationConfig
se crearon con el Versión 2 de la API.Si la residencia de datos está habilitada, especifica Ubicación de Security Command Center en la que se almacenan las notificaciones.
Si la residencia de datos no está habilitada, incluye
/locations/LOCATION
solo si El recursonotificationConfig
se creó con el Security Command Center API v2, en cuyo caso, la única ubicación válida esglobal
.NOTIFICATION_NAME
: Es el nombre de la notificación.
Python
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Java
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Go
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Node.js
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
PHP
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Ruby
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
C#
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Actualiza una NotificationConfig
Para actualizar una NotificationConfig
, debes tener una función de IAM que incluya el permiso securitycenter.notification.update
.
Cuando actualizas con una máscara de campo, solo se actualizan los campos que especificas. Si no usas una máscara de campo, todos los campos mutables de NotificationConfig
se reemplazan por los valores nuevos. Puedes usar una máscara de campo para actualizar el tema y la descripción de Pub/Sub.
Para completar este ejemplo, debes suscribirte al tema nuevo y tu cuenta de servicio de notificaciones debe tener el permiso pubsub.topics.setIamPolicy
en el tema.
Después de otorgar los permisos necesarios, actualiza NotificationConfig
.
descripción, tema de Pub/Sub y filtro usando el lenguaje de tu
opción:
gcloud
gcloud scc notifications update PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
--description="NOTIFICATION_DESCRIPTION" \
--pubsub-topic=PUBSUB_TOPIC \
--filter="FILTER"
Reemplaza lo siguiente:
PARENT_TYPE
conorganizations
,folders
, oprojects
, según el nivel de la jerarquía de recursos se especifican en la configuración de notificaciones.PARENT_ID
por el ID numérico del recurso superiorLOCATION
: Obligatorio si cualquiera de las opciones de residencia de los datos está habilitada, o bien lanotificationConfig
se creó con el Versión 2 de la API.Si la residencia de datos está habilitada, especifica Ubicación de Security Command Center en la que se almacena la notificación.
Si la residencia de datos no está habilitada, incluye
/locations/LOCATION
en el nombre completo o especifica la marca--location
solo si elnotificationConfig
recurso se creó con la API de Security Command Center v2, en cuyo caso, la única ubicación válida esglobal
.NOTIFICATION_NAME
: Es el nombre de la notificación.NOTIFICATION_DESCRIPTION
: Es una descripción de la de no más de 1,024 caracteres.PUBSUB_TOPIC
: Es el Pub/Sub. que recibirá notificaciones. Su formato esprojects/PROJECT_ID/topics/TOPIC
.FILTER
: Es la expresión que defines para seleccionar. qué resultados se envían a Pub/Sub. Por ejemplo,state="ACTIVE"
Python
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Java
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Go
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Node.js
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
PHP
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Ruby
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
C#
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Borra una NotificationConfig
Para borrar una NotificationConfig
, debes tener una función de IAM que incluya el permiso securitycenter.notification.delete
.
Cuando borras una NotificationConfig
, la función securitycenter.notificationServiceAgent
permanece en el tema de Pub/Sub. Si no usas el tema de Pub/Sub en ningún otro NotificationConfig
, quita la función del tema. Para obtener más información, consulta control de acceso.
Borra un NotificationConfig
con el lenguaje que elijas:
gcloud
gcloud scc notifications delete PARENT_TYPE/PARENT_ID/locations/LOCATION/notificationConfigs/NOTIFICATION_NAME
Reemplaza lo siguiente:
PARENT_TYPE
conorganizations
,folders
, oprojects
, según el nivel de la jerarquía de recursos se especifican en la configuración de notificaciones.PARENT_ID
por el ID numérico del recurso superiorLOCATION
: Obligatorio si cualquiera de las opciones de residencia de los datos está habilitada, o bien lanotificationConfig
se creó con el Versión 2 de la API.Si la residencia de datos está habilitada, especifica Ubicación de Security Command Center en la que se almacena la notificación.
Si la residencia de datos no está habilitada, incluye
/locations/LOCATION
en el nombre completo o especifica la marca--location
solo si elnotificationConfig
se creó con la API de Security Command Center v2, en cuyo caso, la única ubicación válida esglobal
.NOTIFICATION_NAME
: Es el nombre de la notificación.
Python
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Java
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Go
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Node.js
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
PHP
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Ruby
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
C#
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Enumera NotificationConfigs
Para enumerar NotificationConfigs
, debes tener una función de IAM que incluya el permiso securitycenter.notification.list
.
Se paginan todas las listas de la API de Security Command Center. Cada respuesta muestra una página de resultados y un token para mostrar la página siguiente. El valor predeterminado pageSize
es 10. Puedes configurar el tamaño de la página a un mínimo de 1 y un máximo de 1,000.
Enumera NotificationConfigs
con el lenguaje que elijas:
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID/locations/LOCATION
Reemplaza lo siguiente:
PARENT_TYPE
conorganizations
,folders
, oprojects
, según el permiso en el que necesites enumerar notificaciones.PARENT_ID
por el ID numérico del elemento superior recurso.LOCATION
: Obligatorio si cualquiera de las opciones de residencia de los datos está habilitado o los recursosnotificationConfig
se crearon con el Versión 2 de la API.Si la residencia de datos está habilitada, especifica Ubicación de Security Command Center en la que se almacenan las notificaciones.
Si la residencia de datos no está habilitada,
/locations/LOCATION
en el nombre o la marca--location
en el comando solo enumera losnotificationConfig
recursos creados con el Security Command Center API v2 y la única ubicación válida esglobal
.
Python
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Java
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Go
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Node.js
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
PHP
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Ruby
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
C#
En el siguiente ejemplo, se usa la API v1. Para modificar
la muestra para la v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
para el nombre del recurso
Para la mayoría de los recursos, agrega /locations/LOCATION
al
el nombre del recurso después de /PARENT/PARENT_ID
, donde
PARENT
es organizations
, folders
,
o projects
.
Para los resultados, agrega /locations/LOCATION
al recurso
nombre después de /sources/SOURCE_ID
, donde SOURCE_ID
es el ID del
Servicio de Security Command Center
que emitió el hallazgo.
Recibe notificaciones de Pub/Sub
En esta sección, se proporciona un mensaje de notificación de muestra y ejemplos que muestran cómo convertir un mensaje de Pub/Sub en una NotificationMessage
que contiene un resultado.
Las notificaciones se publican en Pub/Sub en formato JSON
.
A continuación, se incluye un ejemplo de un mensaje de notificación:
{
"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"
}
}
Convierte un mensaje de Pub/Sub en un NotificationMessage
con el lenguaje que elijas:
gcloud
La CLI de gcloud no admite la conversión de un mensaje de Pub/Sub a NotificationMessage
. Puedes usar la CLI de gcloud para obtener un NotificationMessage
y, luego, imprimir el JSON
directamente en tu terminal:
# The subscription used to receive published messages from a topic
PUBSUB_SUBSCRIPTION="projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
gcloud pubsub subscriptions pull $PUBSUB_SUBSCRIPTION
Reemplaza lo siguiente:
- PROJECT_ID por el ID del proyecto
- SUBSCRIPTION_ID por tu ID de suscripción.
Python
Java
Go
Node.js
PHP
¿Qué sigue?
- Más información sobre filtrar notificaciones.