Google Chat

Versão da integração: 2.0

Permissões de produtos

Criar uma conta de serviço

  1. No console do Google Cloud , selecione um projeto do Google Cloud ou crie um novo. O projeto Google Cloud selecionado precisa fazer parte da organização em Google Cloud.
  2. Clique no ☰ Menu e selecione o item APIs e serviços > Credenciais.
  3. Na parte de cima da página, clique em + CRIAR CREDENCIAIS > Conta de serviço.
  4. Insira um nome de conta de serviço a ser exibido no console.
  5. Opcional: digite uma descrição da conta de serviço.
  6. Clique em CRIAR, CONTINUAR e CONCLUÍDO para terminar de criar a conta de serviço.

Criar credenciais de conta de serviço

  1. Depois de criar a conta de serviço, você será redirecionado para a lista de credenciais que podem ser usadas no projeto Google Cloud . Na seção Contas de serviço, clique na conta de serviço-criada. Ele será chamado de: service-account-name@project-name-XXXXXX.iam.gserviceaccount.com.
  2. Clique em ADICIONAR CHAVE > Criar nova chave.
  3. Mantenha JSON selecionado e clique em CRIAR.

Isso inicia o download do arquivo de credenciais necessário para acessar a API como essa conta de serviço.

Configurar um novo projeto do Apps Script

  1. Acesse o Google Apps Script.
  2. Crie um projeto do Apps Script.
  3. Para executar a funcionalidade de integração, adicione o seguinte código ao projeto recém-criado:

    var SCOPE = 'https://www.googleapis.com/auth/chat.bot';
    // The values below are copied from the JSON file downloaded upon
    // service account creation.
    // For SERVICE_ACCOUNT_PRIVATE_KEY, remember to include the BEGIN and END lines of the private key
    var SERVICE_ACCOUNT_PRIVATE_KEY = '...';
    var SERVICE_ACCOUNT_EMAIL = 'service-account@project-id.iam.gserviceaccount.com';
    
    // Posts a message into the given space ID via the API, using
    // service account authentication.
    function postMessage(spaceId, message) {
      var service = OAuth2.createService('chat')
          .setTokenUrl('https://accounts.google.com/o/oauth2/token')
          .setPrivateKey(SERVICE_ACCOUNT_PRIVATE_KEY)
          .setClientId(SERVICE_ACCOUNT_EMAIL)
          .setPropertyStore(PropertiesService.getUserProperties())
          .setScope(SCOPE);
      if (!service.hasAccess()) {
        Logger.log('Authentication error: %s', service.getLastError());
        return;
      }
      var url = 'https://chat.googleapis.com/v1/' + spaceId + '/messages';
      UrlFetchApp.fetch(url, {
        method: 'post',
        headers: { 'Authorization': 'Bearer ' + service.getAccessToken() },
        contentType: 'application/json',
        payload: JSON.stringify(message),
      });
    }
    
  4. Abra o arquivo de credenciais da conta de serviço baixado do console doGoogle Cloud .

  5. Copie o valor de private_key (aquele que começa com -----BEGIN PRIVATE KEY-----) e cole em SERVICE_ACCOUNT_PRIVATE_KEY no projeto do Apps Script.

  6. Copie o valor "client_email" do arquivo de credenciais e cole-o em SERVICE_ACCOUNT_EMAIL no projeto do Apps Script.

  7. Vincule o projeto do Apps Script ao projeto Google Cloud que você criou.

  8. Volte ao console Google Cloud e selecione o item de menu ☰ > IAM e administrador > Configurações.

  9. Copie o número do projeto definido nesta página.

  10. No seu projeto do Apps Script, selecione o item de menu Configurações do projeto > Google Cloud Projeto e cole o número do projeto na caixa de diálogo "Insira o número do projeto aqui".

  11. Clique em Definir projeto.

Ativar a API Google Chat

  1. Acesse ☰ > APIs e serviços e selecione Biblioteca.
  2. Pesquise API Google Chat e clique no único resultado.
  3. Clique em ATIVAR.

Isso ativa a API para seu projeto.

Implantar um bot

  1. Na interface do Apps Script, acesse Implantar > Nova implantação.
  2. Selecione Adicionar para o novo tipo de implantação.
  3. Insira um nome e uma descrição para a implantação e clique em Salvar.
  4. Quando a ação terminar, clique em Receber ID ao lado da implantação que você acabou de criar e copie o valor do ID.

Configure o bot do Google Chat:

  1. No console Google Cloud , acesse ☰ > APIs e serviços > Painel.
  2. Na lista de APIs ativadas, selecione API Google Chat.
  3. Clique em Gerenciar para abrir a página da API Google Chat.
  4. Na página aberta, selecione a guia Configuração e configure o bot:

    • No campo Nome do app, insira "App de chat do Google Security Operations".
    • No campo URL do avatar, insira https://developers.google.com/chat/images/chat-product-icon.png.
    • No campo Descrição, insira "App de chat do Google SecOps que pode ser usado para enviar mensagens do Google SecOps para um espaço do Google Chat".
    • Na seção Funcionalidade, selecione O app funciona em espaços com vários usuários.
    • Na seção Configurações de conexão, selecione Projeto do Apps Script e cole o ID de implantação obtido no procedimento Implantar um bot.
    • Na seção Permissões, selecione Pessoas e grupos específicos no seu domínio e especifique quem pode interagir com o bot.
    • Clique em Salvar. A configuração do app foi concluída.

Como o app Google Chat não pode criar espaços (iniciar conversas), o app Google SecOps Chat precisa ser adicionado aos espaços em que deve enviar mensagens.

Depois que a integração for configurada, a ação "Listar espaços" poderá ser usada para buscar os espaços a que o app Google SecOps tem acesso (pode enviar mensagens).

Se a ação "Listar espaços" não mostrar nenhum espaço disponível, isso significa que seu app não poderá enviar mensagens em nenhum espaço. Volte às instruções detalhadas acima e confira se você seguiu cada etapa com atenção.

Configurar a integração do Google Chat no Google SecOps

Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
URL raiz da API String https://chat.googleapis.com/ Sim URL raiz da API que a integração usa para se conectar ao serviço do Google Chat.
Conta de serviço Senha N/A Sim Conteúdo do arquivo JSON da conta de serviço que o chatbot usa para trabalhar com o serviço do Google Chat.
Verificar SSL Caixa de seleção Selecionado Sim Se ativado, verifique se o certificado SSL da conexão com o serviço do Google Chat é válido.

Ações

Ping

Descrição

Teste a conectividade com o Google Chat usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace" do Google Security Operations.

Executar em

Essa ação não é executada em entidades nem tem parâmetros de entrada obrigatórios.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se tudo der certo: "Conexão com o serviço do Google Chat estabelecida com os parâmetros fornecidos!"

A ação precisa falhar e interromper a execução de um playbook:

Se um erro crítico, como credenciais incorretas ou perda de conectividade, for informado: "Não foi possível se conectar ao serviço do Google Chat. Erro: {0}".format(exception.stacktrace)"

Geral

Listar espaços

Descrição

Lista os espaços em que o bot do Google Chat configurado no momento foi adicionado.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Chave de filtro DDL

Selecione uma opção.

Valores possíveis:

  • Nome
  • Nome de exibição
  • Tipo
Não Especifique a chave que precisa ser usada para filtrar os espaços do Google Chat.
Lógica de filtro DDL

Não especificado

Valores possíveis:

  • Não especificado
  • Igual
  • Contém
Não Especifique qual lógica de filtro deve ser aplicada. A lógica de filtragem está funcionando com base no valor fornecido no parâmetro "Chave de filtro".
Valor do filtro String N/A Não

Especifique o valor que será usado no filtro.

Se "Igual" estiver selecionado, a ação tentará encontrar a correspondência exata entre os resultados.

Se "Contém" estiver selecionado, a ação tentará encontrar resultados que contenham a substring especificada.

Se nada for fornecido nesse parâmetro, o filtro não será aplicado. A lógica de filtragem está funcionando com base no valor fornecido no parâmetro "Chave de filtro".

Número máximo de registros a serem retornados Número inteiro 50 Não

Especifique o número de registros a serem retornados.

Se nada for fornecido, a ação vai retornar 50 registros.

Incluir assinaturas de usuário Caixa de seleção Desmarcado Não Se ativada, as informações de associação do usuário serão adicionadas à tabela "Mural de casos" e ao resultado JSON.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se os dados estiverem disponíveis (is_success=true): "Encontramos espaços adicionados para os critérios fornecidos no Google Chat."

Se os dados não estiverem disponíveis (is_success=false): "Nenhum espaço foi encontrado para os critérios fornecidos no Google Chat"

Se o parâmetro "Valor do filtro" não tiver um valor (is_success=true):

"O filtro não foi aplicado porque o parâmetro "Valor do filtro" está vazio."

A ação precisa falhar e interromper a execução de um playbook:

Se o parâmetro "Chave de filtro" estiver definido como "Selecionar um" e o parâmetro "Lógica de filtro" estiver definido como "Igual a" ou "Contém":

"Erro ao executar a ação "Listar espaços". Motivo: é necessário selecionar um campo no parâmetro "Chave de filtro".

Se um valor inválido for fornecido para o parâmetro "Número máximo de registros a serem retornados":

"Erro ao executar a ação "Listar espaços". Motivo: "Um valor inválido foi fornecido para "Número máximo de registros a serem retornados". É necessário informar um número positivo."

Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado:

"Erro ao executar a ação "Listar espaços". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome da tabela:o bot de espaços disponíveis foi adicionado a Colunas da tabela: {fields}

Observação:se a caixa de seleção "Incluir associações de usuários" estiver marcada, outras colunas com um nome de exibição para os participantes do espaço serão adicionadas.

Geral

Enviar mensagem

Descrição

Envie uma mensagem para um espaço do Google Chat em que o aplicativo do Google SecOps foi adicionado.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do espaço String N/A Sim

Especifique o nome do espaço para enviar a mensagem.

Exemplo de nome do espaço: AAAAdaTsel0

Texto da mensagem String N/A Sim Especifique o texto da mensagem a ser enviada.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se uma mensagem for enviada com sucesso (is_success=true): "A mensagem foi enviada com sucesso".

A ação precisa falhar e interromper a execução de um playbook:

Se um erro crítico, como falta de conexão ou credenciais incorretas, for informado: "Erro ao executar a ação "Enviar mensagem". Motivo: {0}''.format(error.Stacktrace)

Geral

Enviar mensagem avançada

Descrição

Envie uma mensagem avançada para um espaço do Google Chat com base no payload JSON da mensagem fornecida.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do espaço String N/A Sim

Especifique o nome do espaço para enviar a mensagem.

Exemplo de nome do espaço: AAAAdaTsel0

Payload JSON da mensagem String {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://..."}},{"buttons":[{"textButton":{"text":"ABRIR NO GOOGLE MAPS","onClick":{"openLink":{"url":"https://..."}}}}]}]}]}]} Sim

Especifique o payload JSON a ser enviado com a mensagem.

Para ver exemplos de um payload de mensagens, consulte este artigo.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se uma mensagem for enviada com sucesso (is_success=True): "A mensagem foi enviada com sucesso".

A ação precisa falhar e interromper a execução de um playbook:

Se o payload JSON fornecido não for válido: "Erro ao executar a ação "Enviar mensagem avançada". Motivo: o payload JSON da mensagem fornecida não é válido. "

Se um erro crítico, como falta de conexão ou credenciais incorretas, for informado: "Erro ao executar a ação "Enviar mensagem avançada". Motivo: {0}''.format(error.Stacktrace)

Geral

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.