Nesta página, explicamos como ativar as notificações da API Security Command Center.
As notificações enviam descobertas e descobertas sobre um tópico do Pub/Sub em minutos. As notificações da API Security Command Center incluem todas as informações de descoberta exibidas pelo Security Command Center no console do Google Cloud.
É possível conectar as notificações do Security Command Center no Pub/Sub diretamente às ações do Cloud Run. Para ver funções de exemplo que podem ajudar com resposta, aprimoramento e remediação, consulte o repositório de código aberto do Security Command Center em código do Cloud Run functions. O repositório contém soluções para ajudar você a tomar ações automatizadas sobre as descobertas de segurança.
Como alternativa, é possível exportar descobertas para o BigQuery ou configurar exportações contínuas para o Pub/Sub no console do Google Cloud.
Antes de começar
-
Para receber as permissões necessárias a fim de configurar as notificações da API Security Command Center, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Administrador da Central de segurança (
roles/securitycenter.admin
) na organização ou no projeto em que o Security Command Center está ativado -
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin
) no projeto em que você vai criar o tópico do Pub/Sub
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
-
Administrador da Central de segurança (
-
Enable the Security Command Center API:
gcloud services enable securitycenter.googleapis.com
Residência de dados e notificações
Se a residência de dados
estiver ativada para o Security Command Center, as configurações que definem
exportações contínuas para
o Pub/Sub, ou seja, recursos notificationConfig
, estão sujeitas
ao controle de residência de dados e são armazenadas no
local do Security Command Center.
Para exportar descobertas em um local do Security Command Center para o Pub/Sub, configure a exportação contínua no mesmo local do Security Command Center.
Como os filtros usados nas exportações contínuas podem conter dados sujeitos a controles de residência, especifique o local correto antes de criá-los. O Security Command Center não restringe o local em que você cria as exportações.
As exportações contínuas são armazenadas apenas no local em que são criadas e não podem ser visualizadas ou editadas em outros locais.
Depois de criar uma exportação contínua, não é possível mudar o local dela. Para mudar o local, exclua a exportação contínua e a recrie no novo local.
Para recuperar uma exportação contínua usando chamadas de API,
especifique o local no nome completo do recurso do
notificationConfig
. Exemplo:
GET https://securitycenter.googleapis.com/v2/organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01
Da mesma forma, para recuperar uma exportação contínua usando a CLI gcloud, é necessário especificar o local usando a flag --location
. Exemplo:
gcloud scc notifications describe myContinuousExport --organization=123 \ --location=us
Configurar um tópico do Pub/Sub
Nesta tarefa, você cria e se inscreve no tópico do Pub/Sub para onde quer enviar notificações.
Etapa 1: configurar o Pub/Sub
Para configurar e se inscrever em um tópico do Pub/Sub, faça o seguinte:
Acesse o console do Google Cloud.
Selecione o projeto em que você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Opcional: para criar um novo tópico do Pub/Sub, execute o seguinte comando:
gcloud pubsub topics create TOPIC_ID
Substitua
TOPIC_ID
pelo nome de um tópico.Crie uma assinatura para o tópico:
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Substitua:
SUBSCRIPTION_ID
: O ID da assinatura.TOPIC_ID
: o ID do tópico
Para saber mais sobre como configurar o Pub/Sub, consulte Como gerenciar tópicos e assinaturas.
Etapa 2: conceder função no tópico do Pub/Sub
Para criar um NotificationConfig
, você precisa ter o papel de administrador do Pub/Sub (roles/pubsub.admin
) no tópico do Pub/Sub para o qual você criou uma assinatura.
Para conceder esse papel, faça o seguinte:
Acesse o console do Google Cloud.
Selecione o projeto para o qual você ativou a API Security Command Center.
Clique em Ativar o Cloud Shell.
Conceda o papel necessário à sua Conta do Google no tópico do Pub/Sub:
gcloud pubsub topics add-iam-policy-binding \ projects/PUBSUB_PROJECT/topics/TOPIC_ID \ --member="user:GOOGLE_ACCOUNT" \ --role="roles/pubsub.admin"
Substitua:
PUBSUB_PROJECT
: o projeto do Google Cloud que contém seu tópico do Pub/SubTOPIC_ID
: o ID do tópicoGOOGLE_ACCOUNT
: o endereço de e-mail da sua Conta do Google
Criar um NotificationConfig
Antes de criar um NotificationConfig
, observe que cada organização pode ter um
número limitado de arquivos NotificationConfig
. Para mais informações, consulte Cotas e limites.
O NotificationConfig
inclui um campo filter
, que limita as notificações a eventos úteis. Esse campo aceita todos os filtros disponíveis no
método findings.list
da API Security Command Center.
Ao criar um NotificationConfig
, você especifica um pai para o
NotificationConfig
da hierarquia de recursos do Google Cloud, seja uma
organização, uma pasta ou um projeto. Se for necessário recuperar,
atualizar ou excluir o NotificationConfig
mais tarde, será necessário incluir
o ID numérico da organização, pasta ou projeto pai ao fazer referência a ele.
No console do Google Cloud, alguns recursos NotificationConfig
podem ter um rótulo Legacy, o que indica que eles foram criados com a API v1 do Security Command Center. É possível gerenciar esses
recursos NotificationConfig
com o console do Google Cloud, a CLI gcloud, a API Security Command Center v1 ou as bibliotecas de cliente v1 do Security Command Center.
Para gerenciar esses recursos NotificationConfig
com a CLI gcloud, não especifique
um local ao executar o comando da CLI gcloud.
Para criar o NotificationConfig
usando o idioma ou a plataforma
de sua escolha:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Substitua:
NOTIFICATION_NAME
: o nome da notificação. Precisa ter entre 1 e 128 caracteres e conter apenas caracteres alfanuméricos, sublinhados ou hifens.PARENT
: o escopo na hierarquia de recursos a que a notificação se aplica,organization
,folder
ouproject
.PARENT_ID
: o ID da organização, pasta ou projeto pai, especificado no formatoorganizations/123
,folders/456
ouprojects/789
.LOCATION
: se a residência de dados estiver ativada, o local do Security Command Center em que; se a residência de dados não estiver ativada, use o valorglobal
.NOTIFICATION_DESCRIPTION
: uma descrição da notificação de no máximo 1.024 caracteres.PUBSUB_TOPIC
: o tópico do Pub/Sub que vai receber notificações. O formato éprojects/PROJECT_ID/topics/TOPIC
.FILTER
: a expressão que você define para selecionar quais resultados são enviados ao Pub/Sub. Por exemplo,state=\"ACTIVE\"
.
Go
Java
Node.js
Python
Agora, as notificações são publicadas no tópico Pub/Sub que você especificou.
Para publicar notificações, uma conta de serviço é criada para você na forma de
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
.
Essa conta de serviço é criada quando você cria seu primeiro NotificationConfig
e recebe automaticamente o papel securitycenter.notificationServiceAgent
na política do IAM para PUBSUB_TOPIC ao criar a configuração de notificação. Esse
papel de conta de serviço é necessário para que as notificações funcionem.
Conceder acesso ao perímetro no VPC Service Controls
Se você usar o VPC Service Controls e o tópico do Pub/Sub fizer parte de um projeto dentro de um perímetro de serviço, será necessário conceder acesso a projetos para criar notificações.
Para conceder acesso a projetos, crie regras de entrada e saída para os principais
e projetos usados para criar notificações. As regras permitem o
acesso a recursos protegidos e permitem que o Pub/Sub verifique se os usuários têm a
permissão setIamPolicy
no tópico do Pub/Sub.
Antes de criar uma NotificationConfig
Antes de concluir as etapas em Como criar uma NotificationConfig, faça o seguinte:
Acesse a página VPC Service Controls no console do Cloud.
Se necessário, selecione a organização.
Clique no nome do perímetro de serviço que você quer alterar.
Para encontrar o perímetro de serviço que você precisa modificar, verifique nos registros as entradas que mostram violações
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Nessas entradas, verifique o camposervicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Clique em Editar perímetro.
No menu de navegação, clique em Política de entrada.
Para configurar regras de entrada para usuários ou contas de serviço, use os seguintes parâmetros:
- Atributos FROM do cliente da API:
- No menu suspenso Origem, selecione Todas as origens.
- No menu suspenso Identidades, escolha Identidades selecionadas.
- Clique em Selecionar e insira o principal usado para chamar a API Security Command Center.
- Atributos "Para" dos serviços/recursos do Google Cloud:
- No menu suspenso Projeto, escolha Projetos selecionados.
- Clique em Selecionar e insira o projeto que contém o tópico do Pub/Sub.
- No menu suspenso Serviços, escolha Serviços selecionados e, em seguida, selecione API Cloud Pub/Sub.
- No menu suspenso Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
Clique em Save.
No menu de navegação, clique em Política de saída.
Clique em Add Rule.
Para configurar regras de saída para contas de usuário ou serviço, insira os seguintes parâmetros:
- Atributos FROM do cliente da API:
- No menu suspenso Identidades, escolha Identidades selecionadas.
- Clique em Selecionar e insira o principal usado para chamar a API Security Command Center.
- Atributos "Para" dos serviços/recursos do Google Cloud:
- No menu suspenso Projeto, escolha Todos os projetos.
- No menu suspenso Serviços, escolha Serviços selecionados e, em seguida, selecione API Cloud Pub/Sub.
- No menu suspenso Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
Clique em Save.
Criar uma regra de entrada para a NotificationConfig
Para criar uma regra de entrada para um NotificationConfig
, faça o seguinte:
- Conclua as instruções de Como criar uma NotificationConfig.
- Abra novamente o perímetro de serviço da seção anterior.
- Clique em Política de entrada.
- Clique em Add Rule.
- Para configurar a regra de entrada para a conta de serviço
NotificationConfig
criada, insira os seguintes parâmetros:- Atributos FROM do cliente da API:
- No menu suspenso Origem, selecione Todas as origens.
- No menu suspenso Identidades, escolha Identidades selecionadas.
- Clique em Selecionar e insira o nome da conta de serviço
NotificationConfig
:service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- Atributos TO de serviços/recursos do GCP:
- No menu suspenso Projeto, escolha Projetos selecionados.
- Clique em Selecionar e selecione o projeto que contém o tópico do Pub/Sub.
- No menu suspenso Serviços, escolha Serviços selecionados e, em seguida, selecione API Cloud Pub/Sub.
- No menu suspenso Métodos, escolha Todas as ações.
- Atributos FROM do cliente da API:
- No menu de navegação, clique em Salvar.
As contas de serviço, usuários e projetos selecionados agora podem acessar os recursos protegidos e criar notificações.
Se você seguiu todas as etapas deste guia e as notificações estão funcionando corretamente, agora é possível excluir o seguinte:
- A regra de entrada do principal
- A regra de saída para a principal
Essas regras só eram necessárias para configurar o NotificationConfig
. No entanto, para que as
notificações continuem funcionando, mantenha a regra de entrada da
NotificationConfig
, que permite publicar notificações no seu
tópico do Pub/Sub atrás do perímetro de serviço.
A seguir
- Saiba como ativar notificações de chat e e-mail em tempo real.
- Saiba como gerenciar a API de notificações.
- Saiba mais sobre como filtrar notificações.