En esta página, se explica cómo habilitar las notificaciones de la API de Security Command Center.
Las notificaciones envían resultados y actualizaciones de resultados a un tema de Pub/Sub en cuestión de minutos. Las notificaciones de la API de Security Command Center incluyen toda la información de búsqueda que Security Command Center muestra en la consola de Google Cloud.
Puedes conectar las notificaciones de Security Command Center en Pub/Sub directamente a las acciones de funciones de Cloud Run. Para ver ejemplos de funciones que pueden ayudar con la respuesta, el enriquecimiento y la solución, consulta el repositorio de código abierto de Security Command Center del código de funciones de Cloud Run. El repositorio contiene soluciones que te ayudan a realizar acciones automatizadas con respecto a los resultados de seguridad.
Como alternativa, puedes exportar los resultados a BigQuery o configurar exportaciones continuas para Pub/Sub en la consola de Google Cloud.
Antes de comenzar
-
Para obtener los permisos que necesitas para configurar las notificaciones de la API de Security Command Center, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Administrador del centro de seguridad (
roles/securitycenter.admin
) en la organización o el proyecto en el que se activó Security Command Center -
Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin
) en el proyecto en el que crearás tu tema de Pub/Sub
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Administrador del centro de seguridad (
-
Enable the Security Command Center API:
gcloud services enable securitycenter.googleapis.com
Notificaciones y residencia de datos
Si la residencia de datos está habilitada para Security Command Center, las configuraciones que definen las exportaciones continuas a Pub/Sub (recursos notificationConfig
) están sujetas al control de residencia de datos y se almacenan en tu ubicación de Security Command Center.
Para exportar resultados de una ubicación de Security Command Center a Pub/Sub, debes configurar la exportación contínua 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 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 ubicación nueva.
Para recuperar una exportación continua con 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/organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01
Del mismo modo, para recuperar una exportación continua con la
gcloud CLI, debes especificar la ubicación con la
marca --location
. Por ejemplo:
gcloud scc notifications describe myContinuousExport --organization=123 \ --location=us
Configura un tema de Pub/Sub
En esta tarea, crearás y te suscribirás al tema de Pub/Sub al que deseas enviar notificaciones.
Paso 1: Configura Pub/Sub
Para configurar un tema de Pub/Sub y suscribirte a él, haz lo siguiente:
Ve a la consola de Google Cloud.
Ve a la consola de Google Cloud.
Selecciona el proyecto en el que habilitaste la API de Security Command Center.
Haz clic en Activate Cloud Shell (Activar Cloud Shell).
Opcional: Para crear un tema nuevo de Pub/Sub, ejecuta el siguiente comando:
gcloud pubsub topics create TOPIC_ID
Reemplaza
TOPIC_ID
por un nombre de tema.Crea una suscripción al tema:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Reemplaza lo siguiente:
SUBSCRIPTION_ID
: El ID de suscripción.TOPIC_ID
: El ID del tema
Para obtener más información sobre cómo configurar Pub/Sub, consulta Administra temas y suscripciones.
Paso 2: Otorga un rol en el tema de Pub/Sub
Para crear un NotificationConfig
, necesitas el rol de administrador de Pub/Sub (roles/pubsub.admin
) en el tema de Pub/Sub para el que creaste una suscripción.
Para otorgar este rol, haz lo siguiente:
Ve a la consola de Google Cloud.
Ve a la consola de Google Cloud.
Selecciona el proyecto para el que habilitaste la API de Security Command Center.
Haz clic en Activate Cloud Shell (Activar Cloud Shell).
Otorga el rol requerido a tu Cuenta de Google en el tema de Pub/Sub:
gcloud pubsub topics add-iam-policy-binding \ projects/PUBSUB_PROJECT/topics/TOPIC_ID \ --member="user:GOOGLE_ACCOUNT" \ --role="roles/pubsub.admin"
Reemplaza lo siguiente:
PUBSUB_PROJECT
: Es el proyecto de Google Cloud que contiene tu tema de Pub/Sub.TOPIC_ID
: El ID del temaGOOGLE_ACCOUNT
: La dirección de correo electrónico de tu Cuenta de Google
Crear una NotificationConfig
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
, especificas un elemento superior para el
NotificationConfig
de la jerarquía de recursos de Google Cloud, ya sea una
organización, una carpeta o un proyecto. Si necesitas recuperar, actualizar o borrar
el NotificationConfig
más adelante, debes incluir el ID numérico de la
organización, la carpeta o el proyecto superior cuando hagas referencia a él.
En la consola de Google Cloud, es posible que algunos recursos NotificationConfig
tengan la etiqueta Heredado, que indica que se crearon con la API de Security Command Center v1. Puedes administrar estos recursos de NotificationConfig
con la consola de Google Cloud, gcloud CLI, la API de Security Command Center v1 o las bibliotecas cliente de Security Command Center v1.
Para administrar estos recursos NotificationConfig
con gcloud CLI, no debes especificar
una ubicación cuando ejecutes el comando de gcloud CLI.
Para crear la NotificationConfig
con el lenguaje o la plataforma que prefieras, haz lo siguiente:
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 solo caracteres alfanuméricos, guiones bajos o guiones.PARENT
: Es el permiso en la jerarquía de recursos al que se aplica la notificación,organization
,folder
oproject
.PARENT_ID
: 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, es la ubicación de Security Command Center en la que se encuentra. Si la residencia de datos no está habilitada, usa el valorglobal
.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\"
Go
Java
Node.js
Python
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 te otorga de forma automática el rol securitycenter.notificationServiceAgent
en la política de IAM para PUBSUB_TOPIC cuando creas la configuración de notificaciones. Esta función de cuenta de servicio es obligatoria para que las notificaciones funcionen.
Otorga acceso al perímetro en los Controles del servicio de VPC
Si usas los Controles del servicio de VPC y tu tema de Pub/Sub forma parte de un proyecto dentro de un perímetro de servicio, debes otorgar acceso a los proyectos para crear notificaciones.
Para otorgar acceso a los proyectos, crea reglas de entrada y salida para las principales
y los proyectos que se usan para crear notificaciones. Las reglas permiten el acceso a los recursos protegidos y permiten que Pub/Sub verifique que los usuarios tengan el permiso setIamPolicy
en el tema de Pub/Sub.
Antes de crear una NotificationConfig
Antes de completar los pasos de Crea una NotificationConfig, haz lo siguiente:
Ve a la página Controles del servicio de VPC en la consola de Google Cloud.
Si es necesario, selecciona tu organización.
Haz clic en el nombre del perímetro de servicio que deseas cambiar.
Para encontrar el perímetro de servicio que necesitas modificar, puedes revisar los registros en busca de entradas que muestren incumplimientos de
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. En esas entradas, verifica el camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Haz clic en Editar perímetro.
En el menú de navegación, haz clic en Política de entrada.
Si quieres configurar reglas de entrada para usuarios o cuentas de servicio, usa los siguientes parámetros:
- DESDE atributos del cliente de la API:
- En el menú desplegable Fuente, selecciona Todas las fuentes.
- En el menú desplegable Identidades, elige Identidades seleccionadas.
- Haz clic en Seleccionar y, luego, ingresa el principal que se usa para llamar a la API de Security Command Center.
- HACIA atributos de los servicios o recursos de Google Cloud:
- En el menú desplegable Proyecto, elige Proyectos seleccionados.
- Haz clic en Seleccionar y, luego, ingresa el proyecto que contiene el tema de Pub/Sub.
- En el menú desplegable Servicios, selecciona Servicios seleccionados y, luego, selecciona API de Cloud Pub/Sub.
- En el menú desplegable Métodos, selecciona Todas las acciones.
- DESDE atributos del cliente de la API:
Haz clic en Guardar.
En el menú de navegación, haz clic en Política de salida.
Haz clic en Agregar regla.
A fin de configurar reglas de salida para cuentas de usuario o servicio, ingresa los siguientes parámetros:
- DESDE atributos del cliente de la API:
- En el menú desplegable Identidades, elige Identidades seleccionadas.
- Haz clic en Seleccionar y, luego, ingresa el principal que se usa para llamar a la API de Security Command Center.
- HACIA atributos de los servicios o recursos de Google Cloud:
- En el menú desplegable Proyecto, selecciona Todos los proyectos.
- En el menú desplegable Servicios, selecciona Servicios seleccionados y, luego, selecciona API de Cloud Pub/Sub.
- En el menú desplegable Métodos, selecciona Todas las acciones.
- DESDE atributos del cliente de la API:
Haz clic en Guardar.
Crea una regla de entrada para la NotificationConfig
A fin de crear una regla de entrada para una NotificationConfig
, haz lo siguiente:
- Completa las instrucciones de Crea una NotificationConfig.
- Vuelve a abrir el perímetro de servicio de la sección anterior.
- Haz clic en Política de entrada.
- Haz clic en Agregar regla.
- Para configurar la regla de entrada de la cuenta de servicio
NotificationConfig
que creaste, ingresa los siguientes parámetros:- DESDE atributos del cliente de la API:
- En el menú desplegable Fuente, selecciona Todas las fuentes.
- En el menú desplegable Identidades, elige Identidades seleccionadas.
- Haz clic en Seleccionar y, luego, ingresa el nombre de la cuenta de servicio
NotificationConfig
:service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- HACIA atributos de los servicios o recursos de GCP:
- En el menú desplegable Proyecto, elige Proyectos seleccionados.
- Haz clic en Seleccionar y, luego, selecciona el proyecto que contiene el tema de Pub/Sub.
- En el menú desplegable Servicios, selecciona Servicios seleccionados y, luego, selecciona API de Cloud Pub/Sub.
- En el menú desplegable Métodos, selecciona Todas las acciones.
- DESDE atributos del cliente de la API:
- En el menú de navegación, haz clic en Guardar.
Los proyectos, los usuarios y las cuentas de servicio seleccionados ahora pueden acceder a los recursos protegidos y crear notificaciones.
Si seguiste todos los pasos de esta guía y las notificaciones funcionan de forma correcta, ahora puedes borrar lo siguiente:
- La regla de entrada para el principal
- La regla de salida del principal
Esas reglas solo eran necesarias para configurar la NotificationConfig
. Sin embargo, para que las notificaciones continúen funcionando, debes conservar la regla de entrada de la NotificationConfig
, que le permite publicar notificaciones en tu tema de Pub/Sub detrás del perímetro de servicio.
¿Qué sigue?
- Obtén información para habilitar las notificaciones de chat y correo electrónico en tiempo real.
- Obtén más información para administrar la API de notificaciones.
- Obtén más información para filtrar notificaciones.