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
Como alternativa, los clientes de Security Command Center Premium pueden configurar exportaciones continuas para Pub/Sub en el panel de Security Command Center.
Antes de comenzar
Para usar los ejemplos de esta página, debes completar la guía Configura la búsqueda de notificaciones.
Para ejecutar los siguientes ejemplos, necesitas una función de administración de identidades y accesos (IAM) con los permisos adecuados:
- Crear
NotificationConfig
: Editor de configuración de notificaciones del centro de seguridad (roles/securitycenter.notificationConfigEditor
) - Obtener y enumerar
NotificationConfig
: Visualizador de configuraciones de notificaciones del centro de seguridad (roles/securitycenter.notificationConfigViewer
) o editor de configuraciones de notificaciones del centro de seguridad (roles/securitycenter.notificationConfigEditor
) - Actualizar y borrar
NotificationConfig
: Editor de configuraciones de notificaciones del centro de seguridad (roles/securitycenter.notificationConfigEditor
)
Para otorgar los roles adecuados a una principal que accede a notificationConfig
,
debes tener una de las siguientes funciones 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
)
Las funciones de IAM para Security Command Center se pueden otorgar a nivel de organización, carpeta o proyecto. Tu capacidad de ver, editar, crear o actualizar los resultados, los elementos y las fuentes de seguridad depende del nivel para el que se te otorgue acceso. Para obtener más información sobre las funciones de Security Command Center, consulta Control de acceso.
Residencia de datos y notificaciones
Si la residencia de datos está habilitada para Security Command Center, la configuración que define las exportaciones continuas a Pub/Sub (recursos notificationConfig
) está sujeta al control de residencia de datos y se almacena 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 exportación continua en la misma ubicación de Security Command Center que los resultados.
Debido a que los filtros que se usan en las exportaciones continuas 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 en la que creas las exportaciones.
Las exportaciones continuas se almacenan solo en la ubicación en la que se crearon 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 ubicación nueva.
Para recuperar una exportación continua mediante llamadas a la API, debes especificar la ubicación en el nombre completo del recurso de 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 con
gcloud CLId, debes especificar la ubicación, ya sea
en el nombre completo del recurso de la configuración o con la marca
--locations
. 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 el
notificationConfig
.
Para obtener más información, consulta el paso Configura un tema de Pub/Sub en la guía Configura 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 el método findings.list
de la API de Security Command Center.
Cuando creas un NotificationConfig
, debes especificar un elemento superior para el NotificationConfig
desde la jerarquía de recursos de Google Cloud, ya sea una organización, una carpeta o un proyecto. Si más adelante necesitas recuperar, actualizar o borrar el NotificationConfig
, debes incluir el ID numérico de la organización, la carpeta o el proyecto superior cuando hagas referencia a ellos.
Para crear el NotificationConfig
con el lenguaje o la plataforma que prefieras, sigue estos pasos:
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 solo puede contener caracteres alfanuméricos, guiones bajos o guiones.PARENT
: Es el alcance en la jerarquía de recursos al que se aplica la notificación,organization
,folder
oproject
.PARENT_ID
: Es el ID de la organización, la carpeta o el proyecto superior, especificado en el formatoorganizations/123
,folders/456
oprojects/789
.LOCATION
: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se crea la notificación. El recursonotificationConfig
resultante se almacena solo en esta ubicación. Solo los resultados que se emiten en esta ubicación se envían a Pub/Sub.Si la residencia de datos no está habilitada, especificar la marca
--location
crea la notificación con la API de Security Command Center v2 y el único valor válido para la marca esglobal
.NOTIFICATION_DESCRIPTION
: Es una descripción de la notificación de no más de 1,024 caracteres.PUBSUB_TOPIC
: Es el tema de 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. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Java
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Go
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Node.js
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
PHP
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Rita
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
C#
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
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 securitycenter.notificationServiceAgent
en la política de IAM para PUBSUB_TOPIC cuando se crea la configuración de notificaciones.
Se requiere este rol de cuenta de servicio 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 que se especificó en la configuración de notificacionesPARENT_ID
por el ID numérico del recurso superiorLOCATION
: Es obligatorio si la residencia de datos está habilitada o si los recursosnotificationConfig
se crearon con la versión 2 de la API.Si la residencia de datos está habilitada, especifica la 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 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. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Java
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Go
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Node.js
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
PHP
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Rita
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
C#
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
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 la descripción NotificationConfig
, el tema de Pub/Sub y filtra con el lenguaje que prefieras:
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 que se especificó en la configuración de notificacionesPARENT_ID
por el ID numérico del recurso superiorLOCATION
: Es obligatorio si la residencia de datos está habilitada o si se creónotificationConfig
con la versión 2 de la API.Si la residencia de datos está habilitada, especifica la 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 el recursonotificationConfig
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 notificación de no más de 1,024 caracteres.PUBSUB_TOPIC
: Es el tema de 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. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Java
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Go
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Node.js
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
PHP
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Rita
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
C#
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
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 que se especificó en la configuración de notificacionesPARENT_ID
por el ID numérico del recurso superiorLOCATION
: Es obligatorio si la residencia de datos está habilitada o si se creónotificationConfig
con la versión 2 de la API.Si la residencia de datos está habilitada, especifica la 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 lanotificationConfig
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. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Java
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Go
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Node.js
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
PHP
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Rita
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
C#
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
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 alcance en el que necesites enumerar las notificaciones.PARENT_ID
por el ID numérico del recurso superiorLOCATION
: Es obligatorio si la residencia de datos está habilitada o si los recursosnotificationConfig
se crearon con la versión 2 de la API.Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacenan las notificaciones.
Si la residencia de datos no está habilitada, incluir
/locations/LOCATION
en el nombre o la marca--location
en el comando enumera solo los recursosnotificationConfig
que se crearon con la API de Security Command Center v2 y la única ubicación válida esglobal
.
Python
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Java
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Go
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Node.js
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
PHP
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
Rita
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
C#
En el siguiente ejemplo, se usa la API v1. Si deseas modificar
la muestra para v2, reemplaza v1
por v2
y agrega
/locations/LOCATION
al nombre del recurso.
Para la mayoría de los recursos, agrega /locations/LOCATION
al nombre del recurso después de /PARENT/PARENT_ID
, donde PARENT
es organizations
, folders
o projects
.
Para los resultados, agrega /locations/LOCATION
al nombre del
recurso después de /sources/SOURCE_ID
, en el que SOURCE_ID
es el ID del
servicio de Security Command Center
que emitió el resultado.
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?
- Aprende a filtrar notificaciones.