Como ativar notificações de chat e e-mail em tempo real

Visão geral

O Security Command Center fornece notificações em tempo real das descobertas no console do Google Cloud. Este guia descreve como usar os serviços do Google Cloud e APIs de terceiros para estender essa funcionalidade e receber notificações quase em tempo real em aplicativos de e-mail e bate-papo. Ao concluir o guia, você recebe alertas para novas descobertas em serviços de terceiros configurados sem fazer login no console do Google Cloud, o que permite uma triagem mais rápida de vulnerabilidades e ameaças. Saiba mais sobre os diferentes tipos de vulnerabilidades e ameaças no Security Command Center.

Topologia

Neste guia, você criará a configuração ilustrada no diagrama a seguir.

Fluxo de trabalho de notificações quase em tempo real (clique para ampliar)
Fluxo de trabalho de notificações quase em tempo real para o Security Command Center (clique para ampliar)

Objetivos

Neste guia, você:

  1. Configurar um tópico do Pub/Sub
  2. Configure o Slack, o WebEx Teams e o SendGrid Email.
  3. Escrever código nas funções do Cloud Run.
  4. Configure o Pub/Sub e o Cloud Run Functions para enviar notificações ao Slack, às equipes do WebEx ou ao e-mail do SendGrid sempre que uma nova descoberta de gravidade alta ou crítica for gravada no Security Command Center.
  5. Resolver problemas de notificação.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

  • Pub/Sub
  • Funções do Cloud Run
  • Cloud Build

Use a calculadora de preços para gerar uma estimativa de custo com base na projeção de uso.

Antes de começar

Para concluir este guia, você precisa ter os seguintes papéis de gerenciamento de identidade e acesso (IAM):

  • Administrador da organização (roles/resourcemanager.organizationAdmin)
  • Administrador da Central de segurança (roles/securitycenter.admin)
  • Administrador de segurança (roles/iam.securityAdmin)
  • Um papel com a permissão serviceusage.services.use, como proprietário (roles/owner), editor (roles/editor) ou um papel personalizado
  • Criar contas de serviço (roles/iam.serviceAccountCreator)
  • Editor do Pub/Sub (roles/pubsub.editor)
  • Administrador da conta de faturamento (roles/billing.admin)

Os papéis do IAM para o Security Command Center podem ser concedidos no nível da organização, da pasta ou do projeto. A capacidade de ver, editar, criar ou atualizar descobertas, recursos e fontes de segurança depende do nível a que você tem acesso. Para saber mais sobre os papéis do Security Command Center, consulte Controle de acesso.

Como configurar um projeto

Conclua as etapas a seguir para criar ou selecionar um projeto.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Build API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Tempo estimado: leva aproximadamente uma hora para configurar e testar notificações de um único serviço.

Como configurar um tópico do Pub/Sub

O Pub/Sub é um serviço de mensagens em tempo real que permite que as mensagens sejam enviadas e recebidas entre aplicativos independentes. Saiba mais sobre o Pub/Sub.

Nesta seção, você configura o Security Command Center para publicar descobertas em um tópico do Pub/Sub.

Para configurar e inscrever-se em um tópico do Pub/Sub, faça o seguinte:

  1. Armazene o projeto do Google Cloud em uma variável de ambiente.

    export PROJECT_ID=PROJECT_ID
    

    Substitua PROJECT_ID pela ID do seu projeto.

  2. Especifique sua organização do Google Cloud em uma variável de ambiente.

    export ORG_ID=ORG_ID
    

    Substitua ORG_ID pelo ID da organização.

  3. Defina o ID do projeto para os comandos gcloud.

    gcloud config set project PROJECT_ID
    
  4. Crie o tópico do Pub/Sub em que as notificações são publicadas.

    gcloud pubsub topics create scc-critical-and-high-severity-findings-topic
    
  5. Especifique o tópico em uma variável de ambiente.

    export TOPIC=projects/$PROJECT_ID/topics/scc-critical-and-high-severity-findings-topic
    
  6. Crie a assinatura que notifica as funções do Cloud Run para enviar um e-mail ou uma mensagem de chat quando as mensagens forem publicadas no tópico.

    gcloud pubsub subscriptions create scc-critical-and-high-severity-findings-sub \
      --topic scc-critical-and-high-severity-findings-topic
    
  7. Configure o Security Command Center para publicar notificações no tópico. Qualquer filtro compatível com a API ListFindings pode ser usado.

    O filtro a seguir publica notificações para descobertas ativas de gravidade alta e crítica no local global. Saiba mais sobre como filtrar descobertas.

     gcloud scc notifications create scc-critical-high-severity \
         --pubsub-topic=$TOPIC \
         --organization=$ORG_ID \
         --location=global \
         --filter "(severity=\"HIGH\" OR severity=\"CRITICAL\") AND state=\"ACTIVE\""
    

Em seguida, crie ou configure seu aplicativo de e-mail ou de bate-papo para receber notificações do Pub/Sub.

Como configurar um app de mensagens

Esta seção descreve como usar o Pub/Sub e o Cloud Run functions ou o Cloud Run functions (1ª geração) para ativar notificações quase em tempo real para a API SendGrid Email, o Slack e o WebEx Teams.

E-mail do SendGrid

Para ativar as notificações por e-mail, faça o seguinte:

  • Crie uma conta da API SendGrid Email e receba uma chave de API.
  • Crie e implante uma função do Cloud Run que envia e-mails quando as notificações são recebidas do Pub/Sub.

Criar conta da API SendGrid Email

Nesta seção, você cria uma conta da API SendGrid Email e recebe uma chave de API. Se você já tiver o SendGrid ativado, pule para Receber uma chave de API Sendgrid Email e verifique se a chave de API atual tem as permissões adequadas.

  1. Acesse o console do Google Cloud.
    Acesse o Console do Google Cloud
  2. Na caixa de pesquisa na parte superior da página, pesquise API SendGrid Email. Pesquisa do SendGrid
  3. Na próxima página, selecione o plano que melhor atende às suas necessidades.

    • O plano gratuito permite até 12.000 e-mails por mês e é suficiente para este guia, mas grandes organizações podem exigir mais. Se você espera um volume maior de notificações por e-mail, considere adicionar mais filtros às notificações para excluir descobertas com ruído.
    • Talvez seja necessário selecionar um projeto para associar ao SendGrid. Prossiga selecionando um projeto. Talvez você precise de permissões adequadas para gerenciar compras da conta de faturamento associada do projeto.
  4. Leia os termos e, se você preferir, clique em Assinar.

  5. Ative o serviço do SendGrid clicando em Registrar com o SendGrid.

  6. Na tela de registro, digite um nome de usuário, senha e endereço de e-mail. Aceite os Termos de Serviço e clique em Continuar.

  7. Na caixa de diálogo de confirmação, clique em Retornar ao Google.

Conseguir uma chave da API de e-mail do SendGrid

  1. Clique em Gerenciar chaves de API no site do SendGrid. Uma nova guia será aberta para o site do SendGrid. Gerenciar chaves de API

  2. Preencha o formulário ou faça login, se solicitado. Em seguida, clique em Primeiros passos.

  3. No painel do menu, expanda Configurações e clique em Chaves de API.

  4. Na próxima tela, clique no botão Criar chave de API.

  5. Em Nome da chave de API, digite Notificações de e-mail SCC, selecione Acesso total e clique no botão Criar e visualizar.

    Nome da chave de API

  6. A chave de API é exibida. Registre o valor. Você precisará dele na próxima seção.

  7. Clique em Concluído. Você verá o conjunto atual de chaves de API. Feche a guia e volte ao console do Google Cloud.

Em seguida, implante uma função do Cloud Run para enviar notificações a um endereço de e-mail.

Criar a função do Cloud Run do SendGrid

Nesta seção, você implantará uma função que envia notificações para sua conta de e-mail.

  1. Acesse as funções do Cloud Run.
    Acessar as funções do Cloud Run

  2. Verifique se você está usando o mesmo PROJECT_ID usado para criar o tópico do Pub/Sub.

  3. Clique em Criar função. Função SendGrid

  4. Defina o Nome da função como send-high-and-critical-finding-email-notification e o Tipo de acionador como Pub/Sub.

  5. Selecione o tópico do Pub/Sub criado em Como configurar um tópico do Pub/Sub.

  6. Clique em Salvar e depois em Próxima.

  7. Na próxima página, defina Ambiente de execução como Python 3.8. O exemplo de código nesta seção é escrito em Python, mas é possível usar qualquer linguagem compatível com as funções do Cloud Run.

  8. Na lista de arquivos, clique em requirements.txt e adicione o seguinte ao campo de texto: sendgrid.

    Requisitos do SendGrid

  9. Clique em main.py e substitua o conteúdo pelo snippet de código a seguir.

    import base64
    import json
    from sendgrid import SendGridAPIClient
    from sendgrid.helpers.mail import Mail
    
    def send_email_notification(event, context):
        """Triggered from a message on a Pub/Sub topic.
        Args:
             event (dict): Event payload.
             context (google.cloud.functions.Context): Metadata for the event.
        """
        pubsub_message = base64.b64decode(event['data']).decode('utf-8')
        message_json = json.loads(pubsub_message)
        message = Mail(
            from_email='noreply@yourdomain.com',
            to_emails='$EMAIL_ADDRESS',
            subject='New High or Critical Severity Finding Detected',
            html_content='A new high or critical severity finding was
            detected: ' + ''.join(message_json['finding']['category']))
        try:
            sg = SendGridAPIClient('$SENDGRID_EMAIL_API_KEY')
            response = sg.send(message)
            print(response.status_code)
            print(response.body)
            print(response.headers)
        except Exception as e:
            print(e)
    
        print(pubsub_message)
    
  10. Substitua:

    • Altere noreply@yourdomain.com para o endereço de e-mail que originou as mensagens.
    • Altere $EMAIL_ADDRESS para o endereço de e-mail do destinatário. Observação: essa variável pode conter uma matriz de endereços de e-mail (['user1@yourdomain.com', 'user2@yourdomain.com']) ou você pode escrever um código personalizado para criar uma variável dinâmica definida, por exemplo, uma lista rotativa de indivíduos que estão de plantão.
    • Altere $SENDGRID_EMAIL_API_KEY para a chave de API que você já tem ou aquela que você criou na seção anterior.
  11. Navegue até o campo Ponto de entrada e insira o nome da função no snippet de código (send_email_notification, neste exemplo).

  12. Clique em Implantar. Você retorna à lista de funções do Cloud Run, onde vai encontrar a nova função. Quando uma marca de seleção verde aparecer ao lado do nome da função, ela terá sido implantada com sucesso. O processo pode levar alguns minutos.Implantação de funções do SendGrid

Slack

Para enviar notificações a um canal do Slack, faça o seguinte:

  • Crie um novo aplicativo Slack com privilégios suficientes para postar mensagens em um canal público do Slack.
  • Crie e implante uma função do Cloud Run que publique mensagens de chat no Slack quando as notificações forem recebidas do Pub/Sub.

Crie um novo aplicativo do Slack

Nesta seção, você cria um novo aplicativo do Slack para receber notificações.

  1. Acesse Apps da API Slack. A página é aberta em uma nova guia.
  2. Faça login ou Crie uma conta.

  3. Selecione Criar um app.

  4. Defina o Nome do app como SCC Finding Notifier.

  5. Selecione o Espaço de trabalho do Slack em desenvolvimento em que você quer que o bot do Slack publique mensagens e clique em Criar aplicativo.

  6. No painel de navegação, selecione OAuth e permissões.

    Permissões do Slack

  7. Navegue até a seção Escopos. Os escopos se dividem em duas categorias:

    • Escopos do token do bot
    • Escopos do token do usuário
  8. Para este exercício, não é necessário adicionar um escopo de token de usuário. Em "Bot Token Scopes", clique em Add a OAuth Scope e digite:

    • chat:write
    • chat:write.public

      Escopos do Slack
  9. Role até a parte superior da página OAuth e permissões e clique em Instalar aplicativo no espaço de trabalho.

  10. Na caixa de diálogo de confirmação, clique em Permitir.

  11. Copie o Token de acesso do OAuth do usuário de bot para usá-lo na Função do Cloud.

Em seguida, implante uma função do Cloud Run para enviar notificações a um grupo do Slack.

Criar a função do Cloud Run do Slack

Nesta seção, você implantará uma função para enviar notificações à sua conta do Slack.

  1. Acesse as funções do Cloud Run.
    Acessar as funções do Cloud Run

  2. Verifique se você está usando o mesmo PROJECT_ID em que o tópico do Pub/Sub foi criado.

  3. Clique em Criar função. Função SendGrid

  4. Defina o Nome da função como slack-chat-high-and-critical-findings e o Tipo de acionador como Pub/Sub.

  5. Selecione o tópico do Pub/Sub que você criou em Como configurar um tópico do Pub/Sub.

  6. Clique em Salvar e depois em Próxima.

  7. Na próxima página, defina Ambiente de execução como Python 3.8. O exemplo de código nesta seção é escrito em Python, mas é possível usar qualquer linguagem compatível com as funções do Cloud Run.

  8. Navegue até a lista de arquivos. Clique em requirements.txt e adicione o seguinte: requests. Requisitos do Slack

  9. Clique em main.py e substitua o conteúdo pelo snippet de código a seguir.

    import base64
    import json
    import requests
    
    TOKEN = "BOT_ACCESS_TOKEN"
    
    def send_slack_chat_notification(event, context):
        pubsub_message = base64.b64decode(event['data']).decode('utf-8')
        message_json = json.loads(pubsub_message)
        finding = message_json['finding']
    
        requests.post("https://slack.com/api/chat.postMessage", data={
            "token": TOKEN,
            "channel": "#general",
            "text": f"A high severity finding {finding['category']} was detected!"
        })
    
  10. Substitua BOT_ACCESS_TOKEN pelo token de acesso do OAuth do usuário de bot criado pelo aplicativo Slack.

  11. Navegue até o campo Ponto de entrada e insira o nome da função no snippet de código (send_slack_chat_notification, neste exemplo).

  12. Clique em Implantar. Você retorna à lista de funções do Cloud Run, onde vai encontrar a nova função. Quando uma marca de seleção verde aparecer ao lado do nome da função, ela terá sido implantada. Esse processo pode levar alguns minutos. As mensagens aparecem no canal #general do Slack. Função Slack

Webex

Para enviar notificações à sua conta das equipes do WebEx, faça o seguinte:

  • Crie uma nova conta de serviço com permissões para recuperar recursos do Security Command Center.
  • Crie um novo bot WebEx com privilégios suficientes para postar mensagens no espaço de trabalho.
  • Crie e implante uma função do Cloud Run que se inscreve no Pub/Sub e publica mensagens de chat no WebEx quando as notificações são recebidas do tópico do Pub/Sub.

Crie uma conta de serviço

O Cloud Run functions, por padrão, não pode recuperar recursos do Security Command Center. Nesta seção, você provisiona uma conta de serviço que permite que as funções do Cloud Run recuperem recursos associados às descobertas.

  1. Nomeie a conta de serviço e especifique-a como uma variável de ambiente.

    export SERVICE_ACCOUNT=ACCOUNT_NAME
    
  2. Crie a conta de serviço para seu projeto.

    gcloud iam service-accounts create $SERVICE_ACCOUNT \
     --display-name "Service Account for SCC Finding Notifier WebEx Cloud Function" \
     --project $PROJECT_ID
    
  3. Conceda à conta de serviço o papel securitycenter.assetsViewer no nível da organização.

     gcloud organizations add-iam-policy-binding $ORG_ID \
       --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \
       --role='roles/securitycenter.assetsViewer'
    

Criar um bot Webex

Nesta seção, você cria um bot do WebEx que posta mensagens no seu espaço de trabalho.

  1. Faça login na sua conta do WebEx Teams e navegue até a página New Bot.

  2. Defina o Nome do bot como SCC Finding Notifier.

  3. Selecione um Nome de usuário de bot descritivo e exclusivo (your-name-scc-finding-notifier-demo).

  4. Em Ícone, selecione Padrão 1.

  5. Defina Descrição como "Um bot que notifica a equipe quando uma nova descoberta de gravidade alta ou crítica é publicada no Security Command Center".

  6. Clique em Add Bot.

  7. Na página de confirmação, copie o Token de acesso do bot e salve-o para usar na função do Cloud Run.

Adicionar o Webex Bot ao espaço de trabalho

Nesta seção, você adiciona o bot do WebEx a um espaço de trabalho.

  1. No espaço WebEx em que você quer que o bot publique notificações, expanda o painel de atividades.Painel WebEx

  2. Selecione Adicionar pessoas.

  3. Digite "Notificador de descoberta do SCC" no campo de texto e selecione o bot que você criou no menu suspenso.Adição do WebEx

  4. Selecione o botão Adicionar e feche o painel.

  5. Consiga o ID da sala do espaço de trabalho para a função do Cloud Run. Em um computador, acesse https://developer.webex.com/docs/api/v1/rooms/list- rooms e faça login, se necessário. . Esta página usa a API WebEx para listar as salas às quais você pertence.Salas WebEx

  6. Navegue até o painel de pesquisa.

  7. Selecione a guia Testar na parte superior do painel.

  8. Deixe todas as opções com os valores padrão e clique em Executar.

  9. Na guia Resposta, você recebe uma resposta formatada em JSON com uma lista de items ou salas. Encontre o title da sala em que você quer que as notificações apareçam e registre o valor id associado. Resposta do WebEx

Em seguida, implante uma função do Cloud Run para enviar notificações ao seu espaço de trabalho do WebEx.

Criar a função do Cloud Run do WebEx

Nesta seção, você implantará uma função para enviar notificações à sua conta do WebEx.

  1. Acesse as funções do Cloud Run.
    Acessar as funções do Cloud Run

  2. Selecione o mesmo PROJECT_ID em que o tópico do Pub/Sub foi criado.

  3. Clique em Criar função. Função WebEx

  4. Defina o Nome da função como webex-teams-high-and-critical-findings e Tipo de acionador como Pub/Sub.

  5. Selecione o tópico do Pub/Sub que você criou em Como configurar um tópico do Pub/Sub.

  6. Expanda o campo Variables, Networking and Advanced Settings.

  7. Em Conta de serviço, filtre e selecione a conta de serviço webex-cloud-function-sa que você criou. Variáveis WebEx

  8. Clique em Salvar e depois em Próxima.

  9. Na próxima página, defina Ambiente de execução como Python 3.8. O exemplo de código nesta seção é escrito em Python, mas é possível usar qualquer linguagem compatível com as funções do Cloud Run.

  10. Navegue até a lista de arquivos. Clique em requirements.txt e adicione o seguinte:

    • requests==2.25.1
    • google-cloud-securitycenter==1.1.0 Requisitos do WebEx
  11. Clique em main.py e substitua o conteúdo pelo snippet de código a seguir.

    #!/usr/bin/env python3
    import base64
    import json
    
    import requests
    from google.cloud import securitycenter_v1
    
    WEBEX_TOKEN = "WEBEX_TOKEN"
    ROOM_ID = "ROOM_ID"
    
    TEMPLATE = """
    **Severity:** {severity}\n
    **Asset:** {asset}\n
    **SCC Category:** {category}\n
    **Project:** {project}\n
    **First observed:** {create_time}\n
    **Last observed:** {event_time}\n
    **Link to finding:** {finding_link}
    """
    
    PREFIX = "https://console.cloud.google.com/security/command-center/findings"
    
    def get_finding_detail_page_link(finding_name):
        """Constructs a direct link to the finding detail page."""
        org_id = finding_name.split("/")[1]
        return f"{PREFIX}?organizationId={org_id}&resourceId={finding_name}"
    
    def get_asset(parent, resource_name):
        """Retrieves the asset corresponding to `resource_name` from SCC."""
        client = securitycenter_v1.SecurityCenterClient()
        resp = client.list_assets(
            securitycenter_v1.ListAssetsRequest(
                parent=parent,
                filter=f'securityCenterProperties.resourceName="{resource_name}"',
            )
        )
        page = next(resp.pages)
        if page.total_size == 0:
            return None
        asset = page.list_assets_results[0].asset
        return json.loads(securitycenter_v1.Asset.to_json(asset))
    
    def send_webex_teams_notification(event, context):
        """Send the notification to WebEx Teams."""
        pubsub_message = base64.b64decode(event["data"]).decode("utf-8")
        message_json = json.loads(pubsub_message)
        finding = message_json["finding"]
    
        parent = "/".join(finding["parent"].split("/")[0:2])
        asset = get_asset(parent, finding["resourceName"])
    
        requests.post(
            "https://webexapis.com/v1/messages",
            json={
                "roomId": ROOM_ID,
                "markdown": TEMPLATE.format(
                    severity=finding["severity"],
                    asset=asset["securityCenterProperties"]["resourceDisplayName"],
                    category=finding["category"],
                    project=asset["resourceProperties"]["project"],
                    create_time=finding["createTime"],
                    event_time=finding["eventTime"],
                    finding_link=get_finding_detail_page_link(finding["name"]),
                ),
            },
            headers={"Authorization": f"Bearer {WEBEX_TOKEN}"},
        )
    
  12. Substitua:

    • WEBEX_TOKEN pelo token de acesso do bot da seção Criar um bot WebEx.
    • ROOM_ID com o ID da sala na seção Adicionar bot do WebEx ao espaço de trabalho.
  13. Navegue até o campo Ponto de entrada e insira o nome da função no snippet de código (send_webex_teams_notification, neste exemplo).

  14. Clique em Implantar. Você retorna à lista de funções do Cloud Run, onde vai encontrar a nova função. Quando uma marca de seleção verde aparecer ao lado do nome da função, ela terá sido implantada com sucesso. O processo pode levar alguns minutos. Implantação do WebEx

Se as etapas anteriores do serviço selecionado forem concluídas sem erros, a configuração será concluída e você começará a receber notificações. Lembre-se do seguinte:

  • Você recebe um e-mail ou uma mensagem de chat separada para cada descoberta crítica ou de alta gravidade. A frequência ou o número de notificações depende dos recursos dentro da organização.
  • As notificações são publicadas e enviadas quase em tempo real. No entanto, a imediação de e-mails ou mensagens não é garantida, e vários fatores podem causar atrasos, incluindo problemas com o SendGrid, o sistema de e-mail, o Slack ou o WebEx.

Para alterar o fluxo de trabalho de notificações, faça o seguinte:

  • Para atualizar os destinatários, atualize a função do Cloud Run.
  • Altere quais descobertas acionam as notificações atualizando o filtro do tópico do Pub/Sub.

Como testar notificações

Para testar se as notificações estão configuradas corretamente, siga as instruções abaixo para alternar as descobertas de alta gravidade entre estados ativos e inativos.

  1. Acesse a página Descobertas do Security Command Center.
    Acessar a página Descobertas
  2. Selecione sua organização, se solicitado.
  3. No painel Filtros rápidos, role para baixo até a seção Gravidade e selecione Alta ou Crítico. O painel Resultados da consulta de descobertas é atualizado para mostrar descobertas apenas da gravidade selecionada.
  4. No painel Resultados da consulta de descobertas, selecione uma descoberta marcando a caixa ao lado do nome dela.
  5. No menu Alterar estado ativo na barra de ações Resultados da consulta de descobertas, selecione Inativas. Se a consulta de descobertas atual mostrar apenas descobertas ativas, a descoberta será removida dos resultados da consulta.
  6. No painel Filtros rápidos, role para baixo até a seção Estado e mude as seleções para que apenas Inativo seja selecionado. O painel Resultados da consulta de descobertas é atualizado para mostrar somente descobertas inativas.
  7. No painel Resultados da consulta de descobertas, selecione a descoberta que você marcou como inativa.
  8. No menu Alterar estado ativo na barra de ações Resultados da consulta de descobertas, selecione Ativas.
  9. Verifique seu e-mail ou serviço de mensagens e você verá uma mensagem semelhante às imagens abaixo.

E-mail:

Notificação por e-mail

Slack

Notificação do Slack

As mensagens enviadas ao WebEx, que contêm mais informações neste guia, são semelhantes à imagem a seguir.

Notificação do WebEx

Solução de problemas

Se e-mails ou mensagens de chat não estiverem sendo enviados ou recebidos, siga as etapas abaixo para identificar e resolver possíveis problemas.

  • E-mail do SendGrid:

    • Para interromper o acesso dos e-mails à pasta de spam, adicione o valor from_email à sua lista de permissões de e-mail ou configure a autenticação do remetente no SendGrid.
    • Verifique se você não está excedendo o limite de taxa para seu plano do SendGrid.
    • Os e-mails com falha podem ser detectados por meio dos relatórios do SendGrid.
      • A política DMARC do domínio ou provedor de e-mail pode bloquear e-mails de remetentes não autenticados. Saiba como o SendGrid gerencia a identidade do remetente. Se houver um erro, tente outro endereço de e-mail no valor from_email.
  • E-mail do SendGrid, Slack e WebEx:

    1. Verifique a Função do Cloud nos registros do Stackdriver para determinar se a função está sendo invocada. Se ele não estiver sendo invocado, verifique se as notificações estão configuradas corretamente.

    2. Se a função do Cloud Run estiver sendo invocada, ela pode falhar. Verifique se há erros nas funções do Cloud Run usando o Error Reporting do console do Google Cloud.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Excluir o projeto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Como excluir recursos individuais

  1. Exclua a configuração de notificação:

    gcloud scc notifications delete scc-critical-high-severity \
        --organization=ORG_ID \
        --location=global
    

    SubstituaORG_ID pelo ID da organização.

    Para manter a configuração e pausar temporariamente as notificações, comente as chamadas send ou post na função do Cloud Run.

  2. Exclua a função do Cloud Run:

    1. Acesse as funções do Cloud Run.
      Acessar as funções do Cloud Run
    2. Clique na caixa de seleção ao lado do objeto a ser excluído.
    3. Clique em Excluir .
  3. Exclua a conta de serviço:

    1. Acessar a página Contas de serviço.
      Acessar a página Contas de serviço
    2. Selecione um projeto.
    3. Selecione a conta de serviço que você quer excluir e clique em Excluir .

A seguir