Google Chat
Versão da integração: 2.0
Permissões de produtos
Criar uma conta de serviço
- 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.
- Clique no ☰ Menu e selecione o item APIs e serviços > Credenciais.
- Na parte de cima da página, clique em + CRIAR CREDENCIAIS > Conta de serviço.
- Insira um nome de conta de serviço a ser exibido no console.
- Opcional: digite uma descrição da conta de serviço.
- Clique em CRIAR, CONTINUAR e CONCLUÍDO para terminar de criar a conta de serviço.
Criar credenciais de conta de serviço
- 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.
- Clique em ADICIONAR CHAVE > Criar nova chave.
- 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
- Acesse o Google Apps Script.
- Crie um projeto do Apps Script.
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), }); }
Abra o arquivo de credenciais da conta de serviço baixado do console doGoogle Cloud .
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.
Copie o valor "client_email" do arquivo de credenciais e cole-o em SERVICE_ACCOUNT_EMAIL no projeto do Apps Script.
Vincule o projeto do Apps Script ao projeto Google Cloud que você criou.
Volte ao console Google Cloud e selecione o item de menu ☰ > IAM e administrador > Configurações.
Copie o número do projeto definido nesta página.
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".
Clique em Definir projeto.
Ativar a API Google Chat
- Acesse ☰ > APIs e serviços e selecione Biblioteca.
- Pesquise API Google Chat e clique no único resultado.
- Clique em ATIVAR.
Isso ativa a API para seu projeto.
Implantar um bot
- Na interface do Apps Script, acesse Implantar > Nova implantação.
- Selecione Adicionar para o novo tipo de implantação.
- Insira um nome e uma descrição para a implantação e clique em Salvar.
- 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:
- No console Google Cloud , acesse ☰ > APIs e serviços > Painel.
- Na lista de APIs ativadas, selecione API Google Chat.
- Clique em Gerenciar para abrir a página da API Google Chat.
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:
|
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 | 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.