View a markdown version of this page

Configurar un Sandbox - AWS DevOps Agente

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar un Sandbox

Sandbox es una función preliminar que proporciona a AWS DevOps Agent un entorno Linux seguro y aislado en el que puede escribir y ejecutar código durante las investigaciones. Algunos problemas se resuelven de forma más rápida y fiable con código que con el razonamiento únicamente. Con Sandbox, el agente complementa su razonamiento con la computación, por ejemplo, para analizar un archivo de registro de gran tamaño, calcular las estadísticas de un conjunto de métricas o analizar y correlacionar datos de varias fuentes durante una investigación.

Cada sandbox es efímero y abarca una sola investigación, por lo que el código que ejecuta el agente permanece aislado del resto de sus recursos. Usted controla el acceso a la red saliente del entorno y los paquetes que vienen preinstalados. De forma predeterminada, el entorno limitado restringe el acceso a la red saliente: hasta que no añadas una entrada a la lista de redes permitidas, solo podrá llegar a los puntos finales del servicio. AWS

nota

El sandbox está disponible en versión preliminar y está sujeto a cambios.

Durante la versión preliminar, Sandbox solo está disponible en las siguientes regiones: AWS

  • Este de EE. UU. (Virginia del Norte) us-east-1

  • Oeste de EE. UU. (Oregón) us-west-2

  • Asia Pacífico (Tokio) ap-northeast-1

  • Europa (Irlanda) eu-west-1

Para obtener más información, consulte Disponibilidad de características por región.

¿Cómo funciona Sandbox

Cuando Sandbox está configurado para un espacio de agentes, el AWS DevOps agente aprovisiona automáticamente un entorno Linux nuevo mientras trabaja en una investigación. En este entorno, el agente puede ejecutar comandos de shell y leer y escribir archivos y, a continuación, volver a leer los resultados para analizarlos. El entorno solo dura mientras dure esa investigación y no hay dos investigaciones que compartan una.

El entorno incluye AWS perfiles preconfigurados para las AWS cuentas conectadas a su espacio de agente. El agente puede usar estos perfiles para realizar llamadas mediante la AWS CLI y boto3 (AWS SDK para Python) a esas cuentas, con los mismos permisos que ya tiene el agente. Esto permite al agente consultar y correlacionar los AWS recursos mediante programación con el código durante una investigación.

El agente también puede realizar solicitudes HTTP desde el entorno limitado (mediante herramientas de línea de comandos o Python y Node.js bibliotecas) a cualquier host y ruta permitidos por su política de red.

Hay dos opciones de configuración que controlan lo que puede hacer el entorno:

  • Política de redes: una lista explícita de los hosts, los métodos HTTP y las rutas a las que puede acceder el entorno. Una lista de permisos vacía deniega todas las solicitudes salientes, excepto las dirigidas a AWS los terminales de servicio.

  • Paquetes: los npm paquetes pip y que están preinstalados en el entorno. El código del agente puede importarlos sin recuperarlos en tiempo de ejecución.

nota

Durante la vista previa, el agente usa Sandbox solo durante las investigaciones. La compatibilidad con el chat, los agentes personalizados y otras funciones de los DevOps agentes estará disponible próximamente.

Aislamiento del entorno sandbox

AWS DevOps El agente ejecuta cada espacio aislado en una microVM Lambda aislada. Cada microVM se divide en una sola investigación y se descarta cuando finaliza la investigación. Cuando el agente realiza llamadas a la AWS CLI o al SDK desde el entorno limitado, las enruta a través de un proxy. Ese proxy limita las llamadas a operaciones de solo lectura, por lo que el código aislado no puede modificar ni eliminar los recursos. AWS

Habilidades en el entorno de pruebas

Con el Sandbox activado, el agente lo lee DevOps Habilidades de agente desde el sistema de archivos del sandbox en lugar de hacerlo desde un sistema de archivos virtual. Esto cambia la forma en que el agente trabaja con las habilidades de dos maneras:

  • Busca y lee con herramientas de línea de comandos: el agente puede usar herramientas de línea de comandos estándar para buscar entre tus habilidades y leer sus archivos, en lugar de cargarlos a través de un sistema de archivos virtual. Esto le ayuda a encontrar y aplicar la habilidad adecuada para la tarea.

  • Ejecute código empaquetado: el agente puede ejecutar y adaptar el código empaquetado con una habilidad. Sin Sandbox, una habilidad solo puede incluir archivos no ejecutables, como instrucciones, referencias y archivos de datos de Markdown. Con Sandbox, una habilidad puede incluir código ejecutable que el agente puede ejecutar en el entorno.

Antes de empezar

Sandbox no está configurado de forma predeterminada, por lo que el agente no podrá ejecutar código hasta que usted lo autorice. La siguiente imagen muestra la sección Sandbox antes de configurarla.

La sección Sandbox muestra que «Sandbox no está configurado» con campos vacíos de paquetes pip, paquetes npm y entradas de listas permitidas.

Antes de configurar Sandbox, determine lo siguiente:

  • Los hosts, los métodos HTTP y las rutas a las que debe llegar el código del agente, si los hubiera. Hasta que no añadas una entrada a la lista de permitidos, el entorno limitado solo puede llegar a los puntos finales del AWS servicio.

  • Los npm paquetes pip y paquetes que desea que estén preinstalados en el entorno.

Configure Sandbox para un espacio de agentes

  1. Inicie sesión en la consola AWS de administración y abra la consola del AWS DevOps agente.

  2. Seleccione su espacio de agente y elija la pestaña Capacidades.

  3. En la sección Sandbox, elija Configurar.

  4. Configure una política de red y los paquetes preinstalados tal y como se describe en las siguientes secciones.

  5. Guarde la configuración.

Tras configurar Sandbox, la sección Sandbox muestra los npm paquetes preinstalados pip y el número de entradas de la lista de permitidos. Para eliminar la configuración más adelante, consulta Eliminar Sandbox. #remove-sandbox

Configure la política de red

El entorno limitado restringe las solicitudes salientes a una lista de permitidos explícita. Una lista de permisos vacía deniega todas las solicitudes salientes, excepto las dirigidas a los terminales de servicio. AWS Para permitir que el entorno llegue a cualquier otro host, añada una entrada en la lista de permitidos.

Seleccione Agregar entrada y, a continuación, configure lo siguiente para la entrada de la lista de permitidos:

  • Patrón de host: el host al que se aplica la entrada. No se admite la coincidencia parcial de etiquetas. Utilice uno de los siguientes formularios:

    • **— Todos los anfitriones.

    • *.example.com— Un nivel de subdominio.

    • **.example.com— Cualquier profundidad de subdominio.

    • example.com— Un anfitrión exacto.

  • Métodos HTTP: los métodos HTTP permitidos para este host. Elija uno o más métodos, como GET yOPTIONS, en la lista desplegable.

  • Patrones de rutas: las rutas permitidas para este host. Elija Agregar ruta para agregar uno o más patrones:

    • *coincide con un segmento, por ejemplo/repos/*/pulls.

    • Se permite la coincidencia parcial, por ejemplo/users/aws-*/.

    • /**permite todas las rutas secundarias.

    • Los parámetros de consulta se ignoran.

La siguiente imagen muestra una entrada de la lista de permitidos completada.

Entrada de la lista de permitidos con el patrón de host *.github.com, los métodos GET y OPTIONS y el patrón de ruta /**.

Elige Agregar entrada para cada host adicional al que deba llegar el código del agente. Para eliminar una entrada, selecciona Eliminar.

Configure los paquetes preinstalados

En la sección Paquetes, especifique los npm paquetes pip y los paquetes que desea preinstalar en el entorno sandbox. A continuación, el código del agente puede importar estos paquetes directamente y el entorno no necesita acceso saliente a un registro de paquetes para usarlos. La siguiente imagen muestra la sección Paquetes con ejemplos de paquetes configurados.

Sección de paquetes con solicitudes de paquetes pip y paquetes axios de pandas y npm, cada uno con un botón Eliminar.
  • paquetes pip: elija Agregar paquete e introduzca un nombre de paquete, como requests opandas, para cada paquete de Python que desee preinstalar.

  • paquetes npm: elija Agregar paquete e introduzca un nombre de paquete, por ejemploaxios, para cada Node.js paquete que desee preinstalar.

Para eliminar un paquete, selecciona Eliminar junto a él.

Eliminar Sandbox

Para excluirse, elimine la configuración de Sandbox: seleccione su espacio de agente, vaya a la pestaña Capacidades y, en la sección Sandbox, elija Eliminar. Tras eliminar la configuración, el agente ya no aprovisiona entornos de pruebas para nuevas investigaciones.

Límites de configuración de sandbox

Los siguientes límites se aplican a cada configuración de Sandbox durante la versión preliminar.

Límite Valor
paquetes pip 50
paquetes npm 50
Entradas de la lista de redes permitidas 100
Patrones de ruta por entrada de la lista de permitidos 50
Métodos HTTP por entrada de la lista de permitidos Al menos 1

Consideraciones de seguridad

AWS DevOps El agente aísla cada investigación en su propio entorno aislado para que el código y los datos de una investigación nunca se compartan con otra. AWS DevOps El agente inspecciona y filtra todo el tráfico que sale del entorno limitado para que solo las solicitudes seguras y permitidas lleguen a su destino. Permite las solicitudes a los terminales de AWS servicio y a los hosts que coinciden con su lista de redes permitidas, y rechaza todas las demás solicitudes.

El agente genera y ejecuta código en el entorno limitado. Tenga en cuenta lo siguiente al configurarlo:

  • Mantenga la lista de permitidos al mínimo. Con una lista de permitidos vacía, el sandbox solo llega a los puntos finales del AWS servicio. Agregue entradas a la lista de permitidos solo para los hosts, métodos y rutas específicos que necesite el agente.

  • Limite las entradas de la lista de permitidos de forma restringida. Utilice patrones de host exactos y patrones de ruta específicos en lugar de caracteres comodín amplios/**, como ** y conceda solo los métodos HTTP que sean necesarios.

  • Pre-install paquetes en lugar de incluir registros en listas permitidas. Cuando preinstala los paquetes que necesita el agente, evita conceder acceso saliente a un registro de paquetes en tiempo de ejecución.

Para obtener más información sobre el modelo de seguridad del AWS DevOps agente, consulte. AWS DevOps Seguridad del agente