Configura la búsqueda de notificaciones

>

Habilita la función de notificaciones de la API de Security Command Center. Las notificaciones envían información a un tema de Pub/Sub para proporcionar actualizaciones y resultados nuevos en unos minutos. Debido a que Security Command Center funciona a nivel de la organización, las notificaciones de la API de Security Command Center incluyen toda la información de búsqueda que se muestra en el panel de Security Command Center.

Puedes conectar las notificaciones de Pub/Sub de Security Command Center directamente a las acciones de Cloud Functions. Para ver ejemplos de funciones de seguridad que pueden ayudar con la respuesta, el enriquecimiento y la solución, consulta la app de ejemplo de Alertas de las herramientas de Security Command Center.

Como alternativa, los clientes de Security Command Center Premium pueden configurar exportaciones continuas de Pub/Sub en el panel de Security Command Center.

Antes de comenzar

  • Para habilitar las notificaciones de la API de Security Command Center, debes tener la función de IAM de Administrador del centro de seguridad.
  • Para acceder al panel de Security Command Center, debes tener la función de IAM de Visualizador administrador del centro seguridad.
  • Para otorgar las funciones adecuadas a la cuenta de servicio de notificaciones o a la cuenta de herramienta de gcloud, debes tener la función de Administrador de la organización.

Las funciones de Security Command Center se otorgan a nivel de organización, carpeta o proyecto. Tu capacidad para ver, editar, crear o actualizar resultados, recursos, fuentes de seguridad y marcas de seguridad depende del nivel al que se te otorgue acceso. Para obtener más información sobre las funciones de Security Command Center, consulta Control de acceso.

Configura las notificaciones de la API de Security Command Center

Para configurar las notificaciones, primero habilita la API de Security Command Center.

Habilita la API de Security Command Center

Para habilitar la API de Security Command Center, haz lo siguiente:

  1. Ve a la página Biblioteca de API en Cloud Console.
    Ir a la página Biblioteca de API
  2. Selecciona el proyecto en el que quieres habilitar la API de notificaciones.
  3. En el cuadro Buscar, ingresa Security Command Center y, luego, haz clic en Security Command Center en los resultados de la búsqueda.
  4. En la página de la API que aparece, haz clic en Habilitar.

La API de Security Command Center ahora está habilitada para tu proyecto. A continuación, usa la herramienta de gcloud o las bibliotecas cliente para suscribirte a un tema de Pub/Sub y configurar los permisos.

Configura un tema de Pub/Sub

En este paso, crearás y te suscribirás al tema de Pub/Sub al que desea enviar notificaciones. Si no necesitas llamar a la API de manera programática, se recomiendan los comandos de la herramienta de gcloud porque es más fácil de configurar.

gcloud

Para configurar la función de notificaciones de la API de Security Command Center con la herramienta de gcloud, debes hacer lo siguiente:

  1. Configura una suscripción y un tema de Pub/Sub
  2. Configura los permisos de la cuenta de la herramienta de gcloud.

Paso 1: Configura Pub/Sub

Para configurar un tema de Pub/Sub y suscribirse a él, sigue estos pasos:

  1. Ve a Google Cloud Console.
    Ir a Google Cloud Console
  2. Selecciona el proyecto para el que habilitaste la API de Security Command Center.
  3. Haz clic en Activate Cloud Shell (Activar Cloud Shell).
  4. Crea un tema nuevo o vuelve a usar uno existente. Ejecuta el siguiente comando para crear un tema nuevo:

       gcloud pubsub topics create TOPIC_ID
    

    Reemplaza TOPIC_ID por el nombre del tema.

  5. Configura la variable de entorno del ID del tema:

       export TOPIC_ID=TOPIC_ID
    
  6. Crea una suscripción al tema:

       gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic TOPIC_ID
    

    Reemplaza SUBSCRIPTION_ID por el nombre de tu suscripción.

Para obtener más información sobre cómo configurar Pub/Sub, consulta Administra temas y suscripciones. A continuación, configura los permisos para tu cuenta.

Paso 2: Configura los permisos de la cuenta de la herramienta de gcloud

Para crear un NotificationConfig, necesitas las siguientes funciones de administración de identidades y accesos (IAM) en tu cuenta de herramienta de gcloud:

  • roles/securitycenter.admin o bien roles/securitycenter.notificationConfigEditor
  • roles/pubsub.admin en el tema de Pub/Sub que recibe notificaciones

Para otorgar esos permisos, sigue estos pasos:

  1. Ve a Google Cloud Console.
    Ir a Google Cloud Console
  2. Selecciona el proyecto para el que habilitaste la API de Security Command Center.
  3. Haz clic en Activate Cloud Shell (Activar Cloud Shell).

    1. Establece el nombre de la organización:

        export ORGANIZATION_ID=ORGANIZATION_ID
      

      Reemplaza ORGANIZATION_ID por el ID de tu organización.

    2. Configura el ID del proyecto del proyecto al que pertenece el tema de Pub/Sub:

        export PUBSUB_PROJECT=PROJECT_ID
      

      Reemplaza PROJECT_ID con el ID del proyecto.

    3. Configura la cuenta de herramienta de gcloud que estás usando:

        export GCLOUD_ACCOUNT=EMAIL
      

      Reemplaza EMAIL por tu dirección de correo electrónico de los comandos de la herramienta de gcloud que ejecutan la cuenta.

    4. Configura el ID del tema o usa el tema del Paso 1.

        export TOPIC_ID=TOPIC_ID
      

      Reemplaza TOPIC_ID por el nombre del tema.

    5. Otorga a la cuenta de la herramienta de gcloud una función de Pub/Sub con el permiso pubsub.topics.setIamPolicy:

        gcloud pubsub topics add-iam-policy-binding \
          projects/$PUBSUB_PROJECT/topics/$TOPIC_ID \
          --member="user:$GCLOUD_ACCOUNT" \
          --role='roles/pubsub.admin'
      
    6. Otorga a la cuenta de herramienta de gcloud una función para la organización que incluye todos los permisos securitycenter.notification, como roles/securitycenter.notificationConfigEditor o roles/securitycenter.admin.

        gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
          --member="user:$GCLOUD_ACCOUNT" \
          --role='ROLE_NAME'
      

      Reemplaza ROLE_NAME por la función que se asignará.

A continuación, crea una NotificationConfig.

Bibliotecas cliente

Para configurar la función de notificaciones de la API de Security Command Center mediante las bibliotecas cliente, sigue estos pasos:

  1. Configura una cuenta de servicio
  2. Descarga las bibliotecas cliente de la API.
  3. Configura un entorno de desarrollo.
  4. Configura una suscripción y un tema de Pub/Sub

Paso 1: Configura una cuenta de servicio

La función de notificaciones de la API de Security Command Center usa una cuenta de servicio con los permisos adecuados para configurar las notificaciones. Esta cuenta de servicio solo se usa para la configuración inicial de una configuración; puedes usarla a fin de crear más archivos de configuración de notificaciones más adelante. Esta cuenta de servicio es independiente de la que se creó para configurar Security Command Center.

Para crear una cuenta de servicio:

  1. Ve a Google Cloud Console.
    Ir a Google Cloud Console
  2. Selecciona el proyecto para el que habilitaste la API de Security Command Center.
  3. Haz clic en Activate Cloud Shell (Activar Cloud Shell).
  4. Establece las variables de entorno:

    1. Establece el nombre de la organización:

        export ORGANIZATION_ID=ORGANIZATION_ID
      

      Reemplaza ORGANIZATION_ID por el ID de tu organización.

    2. Establece el ID del proyecto en el que deseas habilitar la API de notificaciones:

        export PROJECT_ID=PROJECT_ID
      

      Reemplaza PROJECT_ID con el ID del proyecto.

    3. Configura el ID personalizado que deseas usar para la cuenta de servicio nueva, como scc-notifications. El nombre de la cuenta de servicio debe tener entre 6 y 30 caracteres, debe comenzar con una letra y contener todos los caracteres alfanuméricos en minúscula y guiones:

        export SERVICE_ACCOUNT=CUSTOM_ID
      

      Reemplaza CUSTOM_ID por el nombre personalizado para la cuenta de servicio.

    4. Configura la ruta en la que se debe almacenar la clave de la cuenta de servicio, como export KEY_LOCATION=/home/$USER/mykeys/$SERVICE_ACCOUNT.json:

        export KEY_LOCATION=FULL_KEY_LOCATION_PATH
        # This is used by client libraries to find the key
        export GOOGLE_APPLICATION_CREDENTIALS=$KEY_LOCATION
      

      Reemplaza FULL_KEY_LOCATION_PATH por la ruta completa a la clave de tu cuenta de servicio.

  5. Crea una cuenta de servicio asociada a tu ID del proyecto:

       gcloud iam service-accounts create $SERVICE_ACCOUNT  --display-name \
        "Service Account for [USER]"  --project $PROJECT_ID
    
  6. Crea una clave para asociar a la cuenta de servicio. La clave se usa cuando creas un NotificationConfig y se almacena de forma persistente en el KEY_LOCATION que especificaste en los pasos anteriores.

       gcloud iam service-accounts keys create $KEY_LOCATION  --iam-account \
        $SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com
    
  7. Otorga a la cuenta de servicio una función para la organización que incluya todos los permisos de securitycenter.notification, como roles/securitycenter.notificationConfigEditor o roles/securitycenter.admin.

       gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
         --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \
         --role='ROLE_NAME'
    

    Reemplaza ROLE_NAME por la función que se asignará.

La cuenta de servicio ahora está configurada para usarse con notificaciones, y la clave de la cuenta de servicio se almacena en el KEY_LOCATION que especificaste. Para obtener más información sobre las cuentas de servicio, consulta Crea y administra claves de cuentas de servicio.

Paso 2: Configura un entorno de desarrollo

Para usar la característica de notificaciones de la API de Security Command Center, puedes usar la herramienta de gcloud o descargar las bibliotecas cliente y configurar tu entorno de desarrollo para el lenguaje que elijas.

Python

  1. Opcional: Antes de instalar la biblioteca de Python, te recomendamos usar Virtualenv para crear un entorno aislado de Python.

     virtualenv YOUR_ENV
     source YOUR_ENV/bin/activate
    

    Reemplaza YOUR_ENV por el nombre de tu entorno virtual.

  2. Instala pip para administrar la instalación de la biblioteca de Python.

  3. Ejecuta los siguientes comandos para instalar la biblioteca de Python:

     pip install google-cloud-securitycenter
    

Java

Para incluir la biblioteca de Java de Security Command Center como una dependencia en tu proyecto, selecciona un artefacto del repositorio de Maven. Se incluyen las notificaciones en la versión de la biblioteca 0.119.0 y versiones posteriores.

Si usas IntelliJ, configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS como la ruta absoluta de la clave de la cuenta de servicio de notificaciones que descargaste en los pasos anteriores:

  1. En IntelliJ, haz clic en Run (Ejecutar) > Edit Configurations (Editar configuraciones).
  2. Configura la siguiente variable en Aplicación > Run_Configuration_For_Sample > Variables de entorno:

      GOOGLE_APPLICATION_CREDENTIALS=ABSOLUTE_PATH_TO_SERVICE_ACCOUNT_KEY
    

    Reemplaza ABSOLUTE_PATH_TO_SERVICE_ACCOUNT_KEY por la ruta completa a la clave de tu cuenta de servicio.

Comienza a usarlo

Para instalar las dependencias de Go de la API de Go, ejecuta el siguiente comando:

Para descargar la biblioteca de Go, ejecuta el siguiente comando:

  go get -u cloud.google.com/go/securitycenter/apiv1

Node.js

En la carpeta del proyecto, usa npm para instalar las dependencias necesarias de la API de notificaciones:

  npm install --save @google-cloud/security-center/

Paso 3: Configura Pub/Sub

Para entregar notificaciones a Pub/Sub, debes suscribirte a un tema de Pub/Sub y otorgar a la cuenta de servicio de notificaciones una función de IAM que incluya el permiso pubsub.topics.setIamPolicy:

  1. Crea un tema nuevo o vuelve a usar uno existente. Para crear un tema nuevo, sigue estos pasos:

       gcloud pubsub topics create TOPIC_ID
    

    Reemplaza TOPIC_ID por el ID del tema.

  2. Establece las variables de entorno:

    1. Configura el ID del tema:

        export TOPIC_ID=TOPIC_ID
      
    2. Configura el ID del proyecto para el proyecto en el que habilitaste la API de notificaciones:

        export CONSUMER_PROJECT=PROJECT_ID
      

      Reemplaza PROJECT_ID con el ID del proyecto.

    3. Configura el correo electrónico de la cuenta de servicio que creaste en los pasos anteriores:

        export SERVICE_ACCOUNT_EMAIL=SERVICE_ACCOUNT_NAME@$CONSUMER_PROJECT.iam.gserviceaccount.com
      

      Reemplaza SERVICE_ACCOUNT_NAME por el nombre de la cuenta de servicio.

  3. Crea una suscripción al tema:

       gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic TOPIC_ID
    

    Reemplaza SUBSCRIPTION_ID por el ID de suscripción.

  4. Otorga a la cuenta de servicio de notificaciones una función con el permiso pubsub.topics.setIamPolicy:

       gcloud pubsub topics add-iam-policy-binding \
         projects/$CONSUMER_PROJECT/topics/$TOPIC_ID \
         --member="serviceAccount:$SERVICE_ACCOUNT_EMAIL" \
         --role='roles/pubsub.admin'
    

Para obtener más información sobre cómo configurar Pub/Sub, consulta Administra temas y suscripciones. En el paso siguiente, completa el proceso con la creación de un NotificationConfig.

Crea una NotificationConfig

Antes de crear un NotificationConfig, ten en cuenta la siguiente información:

  • Cada organización puede tener una cantidad limitada de archivos NotificationConfig. Para obtener más información, consulta Cuotas y límites.
  • Debes tener la función de IAM Administrador de la organización para otorgar las funciones adecuadas a la cuenta de servicio de notificaciones o a la cuenta de herramientas gcloud.

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.

Para otorgar a la cuenta la función de IAM de Editor de configuraciones de notificaciones del centro de seguridad mediante la herramienta de línea de comandos de gcloud, haz lo siguiente:

  1. Establece las variables de entorno:

    1. Establece el nombre de la organización:

        export ORGANIZATION_ID=ORGANIZATION_ID
      

      Reemplaza ORGANIZATION_ID por el ID de tu organización.

    2. Configura el correo electrónico de la cuenta de servicio que creaste cuando configuraste la búsqueda de notificaciones o la cuenta que usas para ejecutar los comandos de la herramienta de gcloud:

        export EMAIL=EMAIL_ADDRESS
      
      • O bien, configura el correo electrónico de la cuenta de servicio:

        export EMAIL=SERVICE_ACCOUNT@$CONSUMER_PROJECT.iam.gserviceaccount.com
        

      Según su elección, reemplace lo siguiente:

      • EMAIL_ADDRESS con la dirección de correo electrónico de la cuenta que se usa para ejecutar los comandos de la herramienta de gcloud
      • SERVICE_ACCOUNT con el nombre de la cuenta de servicio
  2. Otorga la función necesaria a la cuenta de servicio o a la cuenta que usaste con los comandos de la herramienta de gcloud:

    • Otorga la función a la cuenta que se usó para ejecutar los comandos de la herramienta de gcloud:

         gcloud organizations add-iam-policy-binding \
           $ORGANIZATION_ID \
           --member="user:$EMAIL" \
           --role='roles/securitycenter.notificationConfigEditor'
      
    • O bien, otorga la función a la cuenta de servicio:

         gcloud organizations add-iam-policy-binding \
           $ORGANIZATION_ID \
           --member="serviceAccount:$EMAIL" \
           --role='roles/securitycenter.notificationConfigEditor'
      

Después de otorgar la cuenta de servicio o los permisos de la cuenta de la herramienta de gcloud, crea la NotificationConfig con el lenguaje o la plataforma que prefieras:

gcloud

  # The numeric ID of the organization
  ORGANIZATION_ID=ORGANIZATION_ID

  # The topic to which the notifications are published
  PUBSUB_TOPIC="projects/PROJECT_ID/topics/TOPIC_ID"

  # The description for the NotificationConfig
  DESCRIPTION="Notifies for active findings"

  # Filters for active findings
  FILTER="state=\"ACTIVE\""

  gcloud scc notifications create NOTIFICATION_NAME \
    --organization "$ORGANIZATION_ID" \
    --description "$DESCRIPTION" \
    --pubsub-topic $PUBSUB_TOPIC \
    --filter "$FILTER"

Python

from google.cloud import securitycenter as securitycenter

client = securitycenter.SecurityCenterClient()

# TODO: organization_id = "your-org-id"
# TODO: notification_config_id = "your-config-id"
# TODO: pubsub_topic = "projects/{your-project-id}/topics/{your-topic-ic}"
# Ensure this ServiceAccount has the "pubsub.topics.setIamPolicy" permission on the new topic.

org_name = "organizations/{org_id}".format(org_id=organization_id)

created_notification_config = client.create_notification_config(
    request={
        "parent": org_name,
        "config_id": notification_config_id,
        "notification_config": {
            "description": "Notification for active findings",
            "pubsub_topic": pubsub_topic,
            "streaming_config": {"filter": 'state = "ACTIVE"'},
        },
    }
)

print(created_notification_config)

Java

import com.google.cloud.securitycenter.v1.CreateNotificationConfigRequest;
import com.google.cloud.securitycenter.v1.NotificationConfig;
import com.google.cloud.securitycenter.v1.NotificationConfig.StreamingConfig;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;
  public static NotificationConfig createNotificationConfig(
      String organizationId, String notificationConfigId, String projectId, String topicName)
      throws IOException {
    // String organizationId = "{your-org-id}";
    // String notificationConfigId = {"your-unique-id"};
    // String projectId = "{your-project}"";
    // String topicName = "{your-topic}";

    String orgName = String.format("organizations/%s", organizationId);

    // Ensure this ServiceAccount has the "pubsub.topics.setIamPolicy" permission on the topic.
    String pubsubTopic = String.format("projects/%s/topics/%s", projectId, topicName);

    try (SecurityCenterClient client = SecurityCenterClient.create()) {
      CreateNotificationConfigRequest request =
          CreateNotificationConfigRequest.newBuilder()
              .setParent(orgName)
              .setConfigId(notificationConfigId)
              .setNotificationConfig(
                  NotificationConfig.newBuilder()
                      .setDescription("Java notification config")
                      .setPubsubTopic(pubsubTopic)
                      .setStreamingConfig(
                          StreamingConfig.newBuilder().setFilter("state = \"ACTIVE\"").build())
                      .build())
              .build();

      NotificationConfig response = client.createNotificationConfig(request);
      System.out.println(String.format("Notification config was created: %s", response));
      return response;
    }
  }

Go

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1"
)

func createNotificationConfig(w io.Writer, orgID string, pubsubTopic string, notificationConfigID string) error {
	// orgID := "your-org-id"
	// pubsubTopic := "projects/{your-project}/topics/{your-topic}"
	// notificationConfigID := "your-config-id"

	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)

	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %v", err)
	}
	defer client.Close()

	req := &securitycenterpb.CreateNotificationConfigRequest{
		Parent:   fmt.Sprintf("organizations/%s", orgID),
		ConfigId: notificationConfigID,
		NotificationConfig: &securitycenterpb.NotificationConfig{
			Description: "Go sample config",
			PubsubTopic: pubsubTopic,
			NotifyConfig: &securitycenterpb.NotificationConfig_StreamingConfig_{
				StreamingConfig: &securitycenterpb.NotificationConfig_StreamingConfig{
					Filter: `state = "ACTIVE"`,
				},
			},
		},
	}

	notificationConfig, err := client.CreateNotificationConfig(ctx, req)
	if err != nil {
		return fmt.Errorf("Failed to create notification config: %v", err)
	}
	fmt.Fprintln(w, "New NotificationConfig created: ", notificationConfig)

	return nil
}

Node.js

// npm install @google-cloud/security-center/
const {SecurityCenterClient} = require('@google-cloud/security-center');

const client = new SecurityCenterClient();

// organizationId = "your-org-id";
// configId = "your-config-name";
// pubsubTopic = "projects/{your-project}/topics/{your-topic}";
// Ensure this Service Account has the "pubsub.topics.setIamPolicy" permission on this topic.

const orgName = client.organizationPath(organizationId);

async function createNotificationConfig() {
  const [response] = await client.createNotificationConfig({
    parent: orgName,
    configId: configId,
    notificationConfig: {
      description: 'Sample config for node.js',
      pubsubTopic: pubsubTopic,
      streamingConfig: {filter: 'state = "ACTIVE"'},
    },
  });
  console.log('Notification config creation succeeded: ', response);
}

createNotificationConfig();

PHP

use Google\Cloud\SecurityCenter\V1\SecurityCenterClient;
use Google\Cloud\SecurityCenter\V1\NotificationConfig;
use Google\Cloud\SecurityCenter\V1\NotificationConfig\StreamingConfig;

/** Uncomment and populate these variables in your code */
// $organizationId = "{your-org-id}";
// $notificationConfigId = {"your-unique-id"};
// $projectId = "{your-project}"";
// $topicName = "{your-topic}";

$securityCenterClient = new SecurityCenterClient();
$organizationName = $securityCenterClient::organizationName($organizationId);
$pubsubTopic = $securityCenterClient::topicName($projectId, $topicName);

$streamingConfig = (new StreamingConfig())->setFilter("state = \"ACTIVE\"");
$notificationConfig = (new NotificationConfig())
    ->setDescription('A sample notification config')
    ->setPubsubTopic($pubsubTopic)
    ->setStreamingConfig($streamingConfig);

$response = $securityCenterClient->createNotificationConfig(
    $organizationName,
    $notificationConfigId,
    $notificationConfig
);
printf('Notification config was created: %s' . PHP_EOL, $response->getName());

Ruby

require "google/cloud/security_center"

# Your organization id. e.g. for "organizations/123", this would be "123".
# org_id = "YOUR_ORGANZATION_ID"

# Your notification config id. e.g. for
# "organizations/123/notificationConfigs/my-config" this would be "my-config".
# config_id = "YOUR_CONFIG_ID"

# The PubSub topic where notifications will be published.
# pubsub_topic = "YOUR_TOPIC"

client = Google::Cloud::SecurityCenter.security_center

org_path = client.organization_path organization: org_id

notification_config = {
  description:      "Sample config for Ruby",
  pubsub_topic:     pubsub_topic,
  streaming_config: { filter: 'state = "ACTIVE"' }
}

response = client.create_notification_config(
  parent:              org_path,
  config_id:           config_id,
  notification_config: notification_config
)
puts "Created notification config #{config_id}: #{response}."

C#


using Google.Api.Gax.ResourceNames;
using Google.Cloud.SecurityCenter.V1;
using System;

///<summary> Create NotificationConfig Snippet. </summary>
public class CreateNotificationConfigSnippets
{
    public static NotificationConfig CreateNotificationConfig(
        string organizationId, string notificationConfigId, string projectId, string topicName)
    {
        OrganizationName orgName = new OrganizationName(organizationId);
        TopicName pubsubTopic = new TopicName(projectId, topicName);

        SecurityCenterClient client = SecurityCenterClient.Create();
        CreateNotificationConfigRequest request = new CreateNotificationConfigRequest
        {
            ParentAsOrganizationName = orgName,
            ConfigId = notificationConfigId,
            NotificationConfig = new NotificationConfig
            {
                Description = ".Net notification config",
                PubsubTopicAsTopicName = pubsubTopic,
                StreamingConfig = new NotificationConfig.Types.StreamingConfig { Filter = "state = \"ACTIVE\"" }
            }
        };

        NotificationConfig response = client.CreateNotificationConfig(request);
        Console.WriteLine($"Notification config was created: {response}");
        return response;
    }
}

Las notificaciones ahora se publican en el tema de Pub/Sub que especificaste. Para publicar notificaciones, se crea una cuenta de servicio 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 la función securitycenter.notificationServiceAgent a nivel de organización. Se requiere esta función de la cuenta de servicio para que las notificaciones funcionen.

En los pasos anteriores, creaste una cuenta de servicio de notificaciones a nivel de proyecto con el formato SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com o usaste una cuenta de usuario con la herramienta gcloud. De forma opcional, puedes revocar los permisos que otorgó a esta cuenta. Para obtener más información, consulta Cómo otorgar, cambiar y revocar el acceso a los recursos en la documentación de IAM.

¿Qué sigue?