Use fluxos em guias interativos
Suportado em:
Este documento explica como o componente Fluxo direciona os passos seguintes de um manual de estratégias através de um sistema de ramificação para tomar decisões.
Os fluxos de condições são essenciais para permitir que um manual tome decisões, encaminhando um registo por diferentes caminhos com base nos dados de alerta recebidos, nos resultados de ações anteriores ou na introdução do utilizador.
Estão disponíveis as seguintes opções de fluxo:
- Condição: condições complexas baseadas em marcadores de posição, dados de registos existentes e no fluxo de Ações anteriores.
- Pergunta de escolha múltipla: perguntas às quais os analistas têm de responder manualmente.
Adicione fluxos de condições
Esta secção descreve como usar fluxos de condições para criar lógica dinâmica e ramificada nos seus manuais de procedimentos.
Adicione um único fluxo de condições
Para adicionar um único fluxo de condição, siga estes passos:
- Na página Resposta > Playbooks, clique em Abrir seleção de passos.
- Em Seleção de passos, selecione a secção Fluxo.
- Arraste a condição para o passo ou entre duas ações, consoante a forma como está a criar o seu manual de soluções.
- Clique duas vezes na condição para abrir a caixa de diálogo.
- Selecione as entidades necessárias. Se estiver a usar marcadores de posição, estes são definidos para este grupo de entidades.
- Decida quantas ramificações quer criar. Cada ramificação tem um OU entre elas.
- Selecione e adicione parâmetros para cada ramificação, da seguinte forma:
- Selecione o marcador de posição relevante que quer avaliar na lista de marcadores de posição existentes. Para novos utilizadores, este campo está vazio se ainda não tiver carregado alertas.
- Selecione o operador necessário (por exemplo, Igual a, Não contém)
- Escolha um valor.
- Defina um "ramo alternativo" para evitar condições com falhas. Se uma condição se basear em ações anteriores e uma dessas ações falhar (e for ignorada), a condição continua para o ramo alternativo, em vez de parar. Para selecionar um ramo alternativo, consulte o artigo Defina um ramo alternativo.
- Clique em Guardar. O guia interativo tem agora três ramificações: 1, 2 e E (Else).
- Defina o resultado de (pelo menos) um ramo para marcar o manual de soluções como concluído.
Adicione um fluxo de perguntas de escolha múltipla
- Arraste a condição Perguntas de escolha múltipla para a caixa Passo final.
- Clique em Perguntas de escolha múltipla para abrir a caixa de diálogo.
- Adicione uma pergunta com o número de respostas que quiser.
- Clique em Guardar. O manual abre quatro ramificações.
- Defina o resultado de, pelo menos, um ramo para o marcar como concluído.
Adicione um fluxo de condições
Para adicionar um fluxo de condições, siga estes passos:
- Arraste as Condições para a caixa Passo final.
- Clique em Condições para abrir a caixa de diálogo.
- Decida quantas ramificações criar. Cada ramificação tem um OU entre elas.
- Adicione um parâmetro: selecione o parâmetro necessário. A lista mostra apenas os resultados do script de ação desta estratégia.
- Selecione o operador necessário: É igual a/Não é igual a, Contém/Não contém, Começa com ou Superior a/Inferior a.
- Escolha o valor (o resultado da ação).
- Pode adicionar mais parâmetros a cada ramificação e escolher um operador lógico: E ou OU.
- Clique em Guardar. O playbook abre três ramificações: 1, 2 e Else.
- Defina o resultado de, pelo menos, um ramo para concluir o manual de estratégias.
Defina um ramo alternativo
- Num dos fluxos (Condição), selecione o ramo a usar como ramo alternativo. Este exemplo usa Branch – not risky. Não tem de adicionar uma ramificação alternativa.
- Quando o playbook é executado e as ações anteriores falham, o playbook escolhe o ramo alternativo e continua.
Faça a gestão das falhas de passos
Os passos do manual de soluções podem falhar durante a execução. Por predefinição, um manual de procedimentos é concebido para parar se um passo falhar, o que é um mecanismo de segurança crucial para evitar continuar com dados incompletos ou incorretos. No entanto, existem casos em que quer que um manual continue mesmo que um passo não devolva os resultados esperados. Isto é particularmente verdadeiro para ações de enriquecimento em que os dados que procura podem não existir em todos os casos. Pode decidir se quer parar o manual de estratégias ou avançar para o passo seguinte. Se o passo com falha for crucial para a tomada de decisões, pode verificar se o passo anterior falhou no passo seguinte e decidir como proceder em conformidade (por exemplo, se um passo falhar, aceda a um ramo alternativo).
Ignorar em caso de falha
Para qualquer ação, pode configurá-la para ignorar o passo se falhar. Quando ativa esta definição, o manual de soluções avança para o passo seguinte, mesmo que a ação não seja executada ou devolva um erro.
Para ativar esta definição, siga estes passos:
- Clique duas vezes no bloco de ação para abrir o respetivo painel de definições.
- No separador Definições, aceda à secção Se o passo falhar.
- Selecione Ignorar passo.
Use uma condição para o processamento de erros avançado
A opção "Ignorar se falhar" funciona bem para casos básicos, mas um método mais robusto consiste em usar um fluxo de Condição para criar um caminho de processamento de erros dedicado. Isto permite que o manual de soluções tome um conjunto diferente de ações quando um passo falha, como notificar um analista ou registar o erro.
Para criar um caminho de processamento de erros, siga estes passos:
- Após uma ação que possa falhar e para a qual quer definir um caminho de falha específico, adicione um bloco de fluxo Condição.
- Clique duas vezes no bloco Condição para abrir a respetiva caixa de diálogo.
- Aceda ao separador Definições e, na secção Se a ação anterior falhar, selecione o ramo para o qual quer direcionar o fluxo. Importante: a condição Se a ação anterior falhar não verifica simplesmente se houve alguma falha anterior. Verifica se uma ação anterior cujos resultados estão a ser usados na avaliação da condição atual falhou. Se essa ação dependente falhar, não é possível decidir a condição, e o fluxo é direcionado para o ramo selecionado. Isto permite-lhe processar casos em que uma dependência falhou, impedindo a resolução da condição.
- Neste ramo de falha, pode adicionar ações como enviar um email de notificação, criar uma tarefa ou registar a falha.
Por exemplo, considere um manual de estratégias que tenta resolver o proprietário de um utilizador. Se a ação Resolver proprietário do utilizador falhar (por exemplo, o utilizador não existir no Active Directory), o manual de soluções não é interrompido. Em alternativa, o bloco de condições deteta a falha e direciona o fluxo para um ramo separado, onde pode enviar um email à equipa de segurança sobre os dados em falta, garantindo que o manual continua a ser executado sem interrupções. <
Remova um fluxo
Quando remove um fluxo de um guião, o sistema pede-lhe que remova todo o ramo ou apenas um aspeto do mesmo.
Unir ramos
Pode unir diferentes ramificações do manual num único ramo. Para o fazer, arraste uma ação de um dos ramos e largue-a na caixa Passo final de outro ramo. O manual de estratégias pode continuar após este passo ou terminar aqui.
Como funcionam os operadores lógicos numa condição
Esta secção esclarece como os operadores condicionais nos manuais de soluções avaliam os campos com itens únicos ou múltiplos (por exemplo, entidades ou eventos num alerta). Compreender se um campo é uma string ou uma lista é fundamental para a lógica do manual de soluções.
O papel dos tipos de dados na avaliação da condição
O comportamento do operador (Equals, Contains) varia consoante o tipo de dados:
- Contexto de item único: os campos como
[Entity.Identifier]de um alerta com uma entidade são tratados como uma string única. - Contexto de vários itens: o mesmo campo de um alerta com várias entidades é uma lista de strings.
Comportamento do operador de equals e contains
As secções seguintes abordam o funcionamento destes operadores.
Equals operador
O operador Equals compara diretamente dois valores.
- O campo de item único (string) verifica se existe uma correspondência exata.
- Partindo do princípio de que
[Entity.Identifier]é"Tom". - Então, a condição
if [Entity.Identifier] equals "Tom"é True.
- Partindo do princípio de que
- O campo de vários itens (lista) verifica se toda a lista é igual à string especificada. Uma lista nunca é igual a uma única string.
- Partindo do princípio de que
[Entity.Identifier]é uma lista(Tom, Kai) - Então, a condição
if [Entity.Identifier] equals "Tom, Kai"é sempre Falso. Isto deve-se ao facto de[Entity.Identifier]ser uma lista e "Tom, Kai" ser uma string.
- Partindo do princípio de que
Contains operador
O operador Contains também muda consoante o tipo de dados:
- O campo de item único (string) executa uma pesquisa de substring. Devolve
Truese a string contiver o valor.- Partindo do princípio de que
[Entity.Identifier]é"user-1234". - Então, a condição
if [Entity.Identifier] contains "user"é True.
- Partindo do princípio de que
- O campo de vários itens (lista) procura uma correspondência exata de um item na lista. Não é feita nenhuma pesquisa de substring.
- Assumindo que
[Entity.Identifier]é uma lista ("UserA@corp.com", "UserB@corp.com"). - Então, a condição
if [Entity.Identifier] contains "corp"é False.
- Assumindo que
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.