A orquestração de resposta fornece componentes de sistema para definir parâmetros de entrada e saída em playbooks e criar fluxos de trabalho básicos.
Início/fim
Todo fluxo de trabalho deve ter um nó de Início e um nó de Fim. Um fluxo de trabalho pode ter apenas um nó de Início, mas vários nós de Fim.
O nó de Início usa event como nome padrão. Para evitar conflitos de nomenclatura, não use "event" como nome de nenhum outro componente ao orquestrar um playbook.
Gateways de saída
Os gateways controlam as ramificações de execução e o fluxo de um fluxo de trabalho. A figura a seguir mostra um exemplo.
|
Nome |
Lógica de execução |
Descrição |
|
Gateway de saída padrão |
Direciona a saída de um nó para várias ramificações downstream e executa todas as ramificações. |
Nenhum componente é necessário. Conecte os nós diretamente usando linhas de conexão. Nota
Não há suporte para configuração de condições. |
|
Saída única (gateway exclusivo) |
Quando um fluxo de trabalho possui várias ramificações, executa apenas a primeira ramificação que atende à condição especificada. |
Selecione o componente de saída única e conclua a configuração da condição. Nota
Uma condição ELSE padrão está disponível para todos os casos que não atendem a nenhuma das condições personalizadas. |
|
Saída múltipla |
Quando um fluxo de trabalho possui várias ramificações, executa todas as ramificações que atendem às condições especificadas. |
Selecione o componente de saída múltipla e conclua a configuração da condição. |
Gateway de saída padrão

Instruções de configuração
Clique em um nó e use uma linha de conexão para ligar diretamente o nó do componente atual aos seus nós de ramificação downstream. Não há suporte para configuração de condições.

Saída única (gateway exclusivo)

Instruções de configuração
Na área de nós básicos, arraste o componente Single output para a tela do editor de fluxo.
-
Clique no componente Single output. Na aba de informações básicas à direita, clique em Configure para abrir a página de configuração de condições. Após configurar as condições, clique em OK para salvá-las.
Conforme seu cenário de negócios, clique em ADD IF ou AND ELSE IF para adicionar um grupo de condições. Cada grupo corresponde a uma ramificação do fluxo de trabalho. Para mais informações, consulte Configuração de condições do componente. Renomeie os grupos de condições para facilitar o entendimento e a distinção.
-
Configure as linhas de conexão do gateway.
Passe o mouse sobre o ícone do gateway de saída única e clique em um ponto de conexão para ligar a um nó de ramificação.

-
Clique em uma linha de conexão. No painel de configuração à direita, selecione uma condição configurada na Etapa 2 na lista suspensa.
ImportanteUma condição ELSE padrão está disponível para casos que não atendem a nenhuma das condições personalizadas.
Selecione uma condição diferente para cada linha de conexão.
Saída múltipla

Instruções de configuração
Na área de nós básicos, arraste o componente Multiple output para a tela do editor de fluxo.
-
Clique no componente Multiple output. Na aba de informações básicas à direita, clique em Configure para abrir a página de configuração de condições. Após configurar as condições, clique em OK para salvá-las e usá-las na seleção de ramificações.
Conforme seu cenário de negócios, clique em ADD IF para adicionar um grupo de condições. Cada grupo pode corresponder a várias ramificações do fluxo de trabalho. Para mais informações, consulte Configuração de condições do componente. Renomeie os grupos de condições para facilitar o entendimento e a distinção.
-
Configure as linhas de conexão do gateway.
Passe o mouse sobre o ícone do gateway de saída múltipla e clique em um ponto de conexão para ligar a um nó de ramificação.

-
Clique em uma linha de conexão. No painel de configuração à direita, selecione uma condição configurada na Etapa 2 na lista suspensa.
NotaÉ possível selecionar a mesma condição para diferentes linhas de conexão.
Gateways de entrada
Existem dois tipos de gateways de entrada. Quando as ramificações são executadas normalmente, ambos funcionam de forma idêntica. A diferença reside no tratamento de falhas na execução das ramificações.
|
Nome |
Lógica de execução |
Descrição |
|
Gateway de entrada padrão |
Continua a execução após a conclusão de todas as ramificações upstream. A execução prossegue mesmo se uma ramificação falhar. |
Nenhum componente é necessário. Conecte os nós diretamente usando linhas de conexão. |
|
Gateway de convergência |
Aguarda a conclusão de todos os nós upstream e verifica se todas as ramificações upstream marcadas como "obrigatórias" foram executadas. Em caso positivo, aciona os nós downstream. Caso contrário, a execução do nó falha. |
|
Gateway de entrada padrão

Instruções de configuração
Clique em um nó e use uma linha de conexão para ligá-lo diretamente às suas ramificações downstream.

Gateway de convergência

Instruções de configuração
Na área de nós básicos, arraste o componente Converging para a tela do editor de fluxo.
-
Configure as linhas de conexão do gateway.
-
Clique em um nó e use uma linha de conexão para ligá-lo diretamente ao componente Converging.

-
Clique na linha de conexão e, no painel de configuração à direita, selecione "must-pass" ou "optional" na lista suspensa.
NotaSe você selecionar "must-pass", o nó no caminho atual deverá ser executado. Caso contrário, os nós subsequentes não serão acionados.
-
Fluxo filho
Assim como um fluxo de trabalho padrão, um fluxo filho também requer nós de Início e Fim. Use fluxos filhos para agrupar fluxos de trabalho complexos, tornando-os mais claros e fáceis de entender. Fluxos filhos também suportam loops.
Fluxos filhos e fluxos pai compartilham o mesmo escopo de variáveis. O fluxo filho pode usar dados do fluxo pai, incluindo entradas, valores de retorno de nós upstream e variáveis. Quaisquer modificações nas variáveis dentro do fluxo filho afetam os resultados do fluxo pai.
Nós fora do fluxo filho podem acessar o resultado da última execução dos nós internos desse fluxo.
Loop de fluxo filho

Clique no botão Enable loop.
Loop mode: Do-while: Executa primeiro o corpo do loop e depois verifica a condição. while-do: Verifica a condição antes de executar o corpo do loop.
Maximum loop count: Defina o número máximo de loops para evitar loops infinitos.
Defina a loop exit condition: Os parâmetros de todos os nós internos de cada execução do fluxo filho podem ser usados como condição. Para configuração de parâmetros, consulte Configuração de condições do componente.
Lógica de conclusão de loop
Cada iteração do loop é considerada concluída somente quando todos os seus nós executáveis terminarem.
Por exemplo, se um nó "Notify 2" tiver terminado e alcançado um nó de Fim, mas um nó "Delay" ainda estiver em execução, a iteração atual do loop aguardará a conclusão de todos os nós executáveis antes de iniciar a próxima.
Parâmetros de loop padrão
Um fluxo filho fornece parâmetros padrão que permitem aos componentes internos recuperar informações sobre o loop atual.
Contagem de loops: Começa em 1. Formato: ${child_flow_name.curLoop}.
Índice do loop: Começa em 0. Formato: ${child_flow_name.curIndex}.
Exemplo:
Ao compor um e-mail com o componente NotifyMessage em um fluxo filho, use o índice do loop para recuperar um valor de parâmetro de array do nó de Início.
Condições do componente
Em cenários como gateways de saída única, gateways de saída múltipla, saídas de loop de fluxo filho e componentes de filtro, configure condições para determinar o fluxo de execução. O SOAR fornece uma interface de configuração comum com as seguintes regras:

|
Número |
Descrição |
|
1 - Operador lógico |
AND: Todas as condições devem ser atendidas. OR: Pelo menos uma das condições deve ser atendida. Importante
O operador lógico determina apenas a relação lógica entre regras dentro do mesmo grupo. |
|
2 - Chave de negação |
Nega a avaliação da condição para o grupo atual. |
|
3 - Adicionar regra ao grupo |
Adiciona uma regra ao grupo. A relação lógica entre várias regras em um grupo é determinada pelo 1 - Operador lógico no canto superior esquerdo. |
|
4 - Adicionar grupo de condições |
Adiciona um grupo de condições de filtro. Importante
A relação entre diferentes grupos é sempre AND e não é afetada pelo 1 - Operador lógico. |
|
5 - Campo de condição |
Suporta expressões e constantes, geralmente um campo de saída de um nó anterior. |
|
6 - Regra de julgamento de condição |
Suporta operações como IN e = para strings (String), números (Number) e listas de observação. Para mais informações, consulte a documentação do componente de filtro. |
|
7 - Valor da condição |
Suporta expressões e constantes. |
Exemplo de configuração

No exemplo acima, a condição é atendida se o campo name do nó for 'john' ou 'alice' E o campo age estiver entre 12 e 20 (inclusive).
Regras de julgamento de condição
|
Regra |
Descrição |
Observações |
|
NOT IN IP Dataset |
Não está na lista de observação de IP. |
Antes de selecionar uma lista de observação, configure-a em Security Center > Agentic SOC > Integration Center > Observation Lists. |
|
IN IP Dataset |
Está na lista de observação de IP. |
|
|
NOT IN Dataset |
Não está na lista de observação. |
|
|
IN Dataset |
Está na lista de observação. |
|
|
String| equals |
Verifica se a string é igual ao valor especificado. |
Nenhuma |
|
String| not equal to |
Verifica se a string não é igual ao valor especificado. |
Nenhuma |
|
String| contains |
Verifica se a string contém o valor especificado. |
Exemplo: 'abc' contém 'bc'. |
|
String| does not contain |
Verifica se a string não contém o valor especificado. |
Exemplo: 'abc' não contém 'd'. |
|
String| starts with |
Verifica se a string começa com o valor especificado. |
Exemplo: 'abc' começa com 'ab'. |
|
String| ends with |
Verifica se a string termina com o valor especificado. |
Exemplo: 'abc' termina com 'bc'. |
|
String| does not end with |
Verifica se a string não termina com o valor especificado. |
Exemplo: 'abc' não termina com 'ab'. |
|
String| regex match |
Verifica se a string corresponde à expressão regular especificada. |
Exemplo: 'abcabc' corresponde à regex '(abc)+'. |
|
String| not regex match |
Verifica se a string não corresponde à expressão regular especificada. |
Exemplo: 'abab' não corresponde à regex '(abc)+'. |
|
String| is empty |
Verifica se a string está vazia. |
Strings vazias (''), null e NULL são consideradas vazias. |
|
String| is not empty |
Verifica se a string não está vazia. |
Nenhuma |
|
Number| equals |
Verifica se o número é igual ao valor especificado. |
Nenhuma |
|
Number| not equal to |
Verifica se o número não é igual ao valor especificado. |
Nenhuma |
|
Number| greater than |
Verifica se o número é maior que o valor especificado. |
Nenhuma |
|
Number| greater than or equal to |
Verifica se o número é maior ou igual ao valor especificado. |
Nenhuma |
|
Number| less than |
Verifica se o número é menor que o valor especificado. |
Nenhuma |
|
Number| less than or equal to |
Verifica se o número é menor ou igual ao valor especificado. |
Nenhuma |
|
Number| in range |
Verifica se o número está dentro do intervalo configurado. Formato: número,número. |
Exemplo: 1 está no intervalo -1,5. |