Usar flujos en guías
Disponible en:
En este documento se explica cómo dirige el componente Flujo los pasos siguientes de un manual de procedimientos mediante un sistema de ramificación para tomar decisiones.
Los flujos de condiciones son esenciales para que una guía pueda tomar decisiones, como dirigir un caso por diferentes rutas en función de los datos de las alertas entrantes, los resultados de las acciones anteriores o las entradas de los usuarios.
Estas son las opciones de flujo disponibles:
- Condición: condiciones complejas basadas en marcadores de posición, datos de casos de asistencia y el flujo Acciones anteriores.
- Pregunta con varias opciones: preguntas que los analistas deben responder manualmente.
Añadir flujos de condición
En esta sección se describe cómo usar los flujos de condiciones para crear una lógica dinámica y ramificada en tus cuadernos de estrategias.
Añadir un solo flujo de condición
Para añadir un solo flujo de condición, sigue estos pasos:
- En la página Respuesta > Playbooks, haz clic en Abrir selección de pasos.
- En Selección de paso, selecciona la sección Flujo.
- Arrastra la condición al paso o entre dos acciones, según cómo estés creando el manual de respuestas.
- Haz doble clic en la condición para abrir el cuadro de diálogo.
- Selecciona las entidades necesarias. Si usas marcadores de posición, se limitan a este grupo de entidades.
- Decide cuántas ramas quieres crear. Cada rama tiene un OR entre ellas.
- Selecciona y añade parámetros para cada rama de la siguiente manera:
- En la lista de marcadores de posición, selecciona el que quieras evaluar. En el caso de los usuarios nuevos, este campo está vacío si aún no has insertado ninguna alerta.
- Seleccione el operador necesario (por ejemplo, Igual a o No contiene).
- Elige un valor.
- Define una "rama alternativa" para evitar que se produzcan errores en las condiciones. Si una condición se basa en acciones anteriores y una de esas acciones falla (y se omite), la condición continúa por la rama alternativa en lugar de detenerse. Para seleccionar una rama alternativa, consulta Definir una rama alternativa.
- Haz clic en Guardar. Ahora, la guía tiene tres ramas: 1, 2 y E (Else).
- Define el resultado de (al menos) una rama para marcar el manual de procedimientos como completado.
Añadir un flujo de preguntas de selección múltiple
- Arrastra la condición Preguntas con varias opciones al cuadro Paso final.
- Haz clic en Preguntas con varias opciones para abrir el cuadro de diálogo.
- Añade una pregunta con tantas respuestas como necesites.
- Haz clic en Guardar. El manual se divide en cuatro ramas.
- Define el resultado de al menos una rama para marcarla como completada.
Añadir un flujo de condiciones
Para añadir un flujo de condiciones, sigue estos pasos:
- Arrastre Condiciones al cuadro Paso final.
- Haz clic en Condiciones para abrir el cuadro de diálogo.
- Decide cuántas ramas quieres crear. Cada rama tiene un OR entre ellas.
- Añadir un parámetro: seleccione el parámetro que quiera. La lista solo muestra los resultados de la secuencia de comandos de acción de este cuaderno de estrategias.
- Seleccione el operador necesario: Igual a/No es igual a, Contiene/No contiene, Empieza por o Mayor que/Menor que.
- Elige el valor (el resultado de la acción).
- Puedes añadir más parámetros a cada rama y elegir un operador lógico: Y u O.
- Haz clic en Guardar. El manual se abre en tres ramas: 1, 2 y Else.
- Define el resultado de al menos una rama para completar la guía.
Definir una rama de respaldo
- En uno de los flujos (Condición), selecciona la rama que quieras usar como rama alternativa. En este ejemplo se usa Rama – no riesgo. No es obligatorio añadir una rama alternativa.
- Cuando se ejecuta la guía y fallan las acciones anteriores, la guía elige la rama alternativa y continúa.
Gestionar errores de pasos
Los pasos de la guía pueden fallar durante la ejecución. De forma predeterminada, un cuaderno de estrategias se ha diseñado para detenerse si falla un paso, lo que supone un mecanismo de seguridad crucial para evitar que se continúe con datos incompletos o incorrectos. Sin embargo, hay casos en los que quieres que un manual siga funcionando aunque un paso no devuelva los resultados esperados. Esto es especialmente cierto en el caso de las acciones de enriquecimiento, en las que los datos que buscas pueden no existir en todos los casos. Puedes decidir si quieres detener el manual de procedimientos o pasar al siguiente paso. Si el paso fallido era crucial para tomar una decisión, puedes comprobar si el paso anterior ha fallado en el siguiente paso y decidir cómo proceder en consecuencia (por ejemplo, si un paso falla, ve a una rama alternativa).
Saltar si no se completa
En cualquier acción, puedes configurarla para que se salte el paso si falla. Cuando habilitas este ajuste, el manual de estrategias continúa con el siguiente paso, aunque la acción no se ejecute o devuelva un error.
Para habilitar este ajuste, sigue estos pasos:
- Haz doble clic en el bloque de acción para abrir el panel de ajustes.
- En la pestaña Configuración, ve a la sección Si falla un paso.
- Selecciona Saltar paso.
Usar una condición para la gestión avanzada de errores
La opción "Saltar si falla" funciona bien en casos básicos, pero un método más sólido es usar un flujo Condición para crear una ruta de gestión de errores específica. De esta forma, el playbook puede llevar a cabo una serie de acciones diferentes cuando falla un paso, como notificar a un analista o registrar el error.
Para crear una ruta de gestión de errores, sigue estos pasos:
- Después de una acción que pueda fallar y para la que quieras definir una ruta de error específica, añade un bloque de flujo Condición.
- Haz doble clic en el bloque Condición para abrir su cuadro de diálogo.
- Ve a la pestaña Configuración y, en la sección Si falla la acción anterior, selecciona la rama a la que quieres dirigir el flujo. Importante: La condición Si la acción anterior falla no solo comprueba si se ha producido un error anterior, sino que también comprueba si ha fallado una acción anterior cuyos resultados se están usando en la evaluación de la condición actual. Si esa acción dependiente falla, no se puede decidir la condición y el flujo se dirige a la rama seleccionada. De esta forma, puedes gestionar los casos en los que se produce un error en una dependencia, lo que impide que se resuelva la condición.
- En esta rama de error, puedes añadir acciones como enviar un correo de notificación, crear una tarea o registrar el error.
Por ejemplo, supongamos que tienes un manual de procedimientos que intenta resolver el propietario de un usuario. Si la acción Resolver propietario del usuario falla (por ejemplo, si el usuario no existe en Active Directory), el runbook no se detendrá. En su lugar, el bloque de condición detectará el error y dirigirá el flujo a una rama independiente, donde podrá enviar un correo al equipo de seguridad sobre los datos que faltan, lo que permitirá que el runbook siga ejecutándose sin interrupciones. <
Quitar un flujo
Cuando quitas un flujo de trabajo de un manual de procedimientos, el sistema te pide que elimines toda la rama o solo un aspecto de ella.
Combinar ramas
Puedes combinar diferentes ramas del manual en una sola. Para ello, arrastra una acción de una de las ramas y suéltala en el cuadro Paso final de otra rama. El manual puede continuar después de esto o terminar aquí.
Cómo funcionan los operadores lógicos en una condición
En esta sección se explica cómo evalúan los operadores condicionales de los cuadernos de estrategias los campos con uno o varios elementos (por ejemplo, las entidades o los eventos de una alerta). Es fundamental saber si un campo es una cadena o una lista para la lógica de los cuadernos de estrategias.
El papel de los tipos de datos en la evaluación de las condiciones
El comportamiento de los operadores (Equals y Contains) varía según el tipo de datos:
- Contexto de un solo elemento: los campos como
[Entity.Identifier]de una alerta con una entidad se tratan como una cadena única. - Contexto de varios elementos: el mismo campo de una alerta con varias entidades es una lista de cadenas.
Comportamiento de los operadores equals y contains
En las siguientes secciones se explica cómo funcionan estos operadores.
Operador Equals
El operador Equals compara directamente dos valores.
- Campo de un solo elemento (cadena): comprueba si hay una coincidencia exacta.
- Suponiendo que
[Entity.Identifier]es"Tom". - Entonces, la condición
if [Entity.Identifier] equals "Tom"es Verdadero.
- Suponiendo que
- Campo de varios elementos (lista): comprueba si toda la lista es igual a la cadena especificada. Una lista nunca será igual a una sola cadena.
- Supongamos que
[Entity.Identifier]es una lista(Tom, Kai) - En ese caso, la condición
if [Entity.Identifier] equals "Tom, Kai"siempre será False. Esto se debe a que[Entity.Identifier]es una lista y "Tom, Kai" es una cadena.
- Supongamos que
Operador Contains
El operador Contains también cambia según el tipo de datos:
- Campo de un solo elemento (cadena): realiza una búsqueda de subcadenas. Devuelve
Truesi la cadena contiene el valor.- Suponiendo que
[Entity.Identifier]es"user-1234". - A continuación, la condición
if [Entity.Identifier] contains "user"es Verdadero.
- Suponiendo que
- El campo de varios elementos (lista) busca una coincidencia exacta de un elemento de la lista. No se realiza ninguna búsqueda de subcadenas.
- Supongamos que
[Entity.Identifier]es una lista ("UserA@corp.com", "UserB@corp.com"). - Entonces, la condición
if [Entity.Identifier] contains "corp"es False.
- Supongamos que
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.