View a markdown version of this page

Configurar uma sandbox - AWS DevOps Agente

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar uma sandbox

O Sandbox é um recurso de pré-visualização que fornece ao AWS DevOps Agente um ambiente Linux seguro e isolado, onde ele pode escrever e executar código durante as investigações. Alguns problemas são mais rápidos e confiáveis de resolver com código do que apenas com o raciocínio. Com o Sandbox, o agente complementa seu raciocínio com a computação, por exemplo, para analisar um grande arquivo de log, calcular estatísticas em um conjunto de métricas ou analisar e correlacionar dados de várias fontes durante uma investigação.

Cada sandbox é efêmera e tem como escopo uma única investigação, portanto, o código executado pelo agente permanece isolado de seus outros recursos. Você controla o acesso à rede de saída do ambiente e os pacotes que vêm pré-instalados. Por padrão, o sandbox restringe o acesso de saída à rede: até que você adicione uma entrada à lista de permissões de rede, ela pode alcançar somente os pontos finais do serviço. AWS

nota

O Sandbox está disponível em versão prévia e está sujeito a alterações.

Durante a pré-visualização, o Sandbox está disponível somente nas seguintes AWS regiões:

  • Leste dos EUA (Norte da Virgínia) us-east-1

  • Oeste dos EUA (Oregon) us-west-2

  • Ásia-Pacífico (Tóquio) ap-northeast-1

  • Europa (Irlanda) eu-west-1

Para obter mais informações, consulte Disponibilidade de recursos por região.

Como funciona o Sandbox

Quando o Sandbox é configurado para um Agent Space, o AWS DevOps Agent provisiona automaticamente um novo ambiente Linux enquanto trabalha em uma investigação. Nesse ambiente, o agente pode executar comandos shell e ler e gravar arquivos e, em seguida, ler os resultados novamente em sua análise. O ambiente dura apenas a duração dessa investigação, e não há duas investigações compartilhando uma.

O ambiente vem com AWS perfis pré-configurados para as AWS contas conectadas ao seu Espaço do Agente. O agente pode usar esses perfis para fazer chamadas AWS CLI e boto3 (SDK AWS para Python) para essas contas, com as mesmas permissões que o agente já tem. Isso permite que o agente consulte e correlacione AWS recursos programaticamente com o código durante uma investigação.

O agente também pode fazer solicitações HTTP do sandbox, usando ferramentas de linha de comando ou Python e Node.js bibliotecas, para qualquer host e caminho permitidos pela sua política de rede.

Duas configurações controlam o que o ambiente pode fazer:

  • Política de rede — Uma lista de permissões explícita dos hosts, métodos HTTP e caminhos que o ambiente pode alcançar. Uma lista de permissões vazia nega todas as solicitações de saída, exceto os endpoints de serviço. AWS

  • Pacotes — Os npm pacotes pip e que estão pré-instalados no ambiente. O código do agente pode importá-los sem buscá-los em tempo de execução.

nota

Durante a pré-visualização, o agente usa o Sandbox somente durante as investigações. Support para chat, agentes personalizados e outros recursos do DevOps Agente estará disponível em breve.

Habilidades na caixa de areia

Com o Sandbox ativado, o agente lê você a DevOps Habilidades do agente partir do sistema de arquivos do sandbox em vez de um sistema de arquivos virtual. Isso muda a forma como o agente trabalha com habilidades de duas maneiras:

  • Pesquise e leia com ferramentas de linha de comando — O agente pode usar ferramentas de linha de comando padrão para pesquisar suas habilidades e ler seus arquivos, em vez de carregá-los por meio de um sistema de arquivos virtual. Isso ajuda a encontrar e aplicar a habilidade certa para a tarefa.

  • Executar código agrupado — O agente pode executar e adaptar o código agrupado com uma habilidade. Sem o Sandbox, uma habilidade pode incluir somente arquivos não executáveis, como instruções, referências e arquivos de dados do Markdown. Com o Sandbox, uma habilidade pode incluir código executável que o agente pode executar no ambiente.

Antes de começar

O Sandbox não está configurado por padrão, portanto, até que você se inscreva, o agente não pode executar o código. A imagem a seguir mostra a seção Sandbox antes de você configurá-la.

Seção Sandbox mostrando “A sandbox não está configurada” com pacotes pip vazios, pacotes npm e campos de entradas da lista de permissões.

Antes de configurar o Sandbox, determine o seguinte:

  • Os hosts, métodos HTTP e caminhos que o código do agente precisa alcançar, se houver. Até que você adicione uma entrada na lista de permissões, a sandbox pode alcançar somente os endpoints do AWS serviço.

  • Os npm pacotes pip e que você deseja pré-instalados no ambiente.

Configurar o Sandbox para um espaço de agente

  1. Faça login no console AWS de gerenciamento e abra o console do AWS DevOps agente.

  2. Selecione seu Espaço do agente e escolha a guia Capacidades.

  3. Na seção Sandbox, escolha Configurar.

  4. Configure uma política de rede e pacotes pré-instalados conforme descrito nas seções a seguir.

  5. Salve sua configuração.

Depois de configurar o Sandbox, a seção Sandbox mostra seus npm pacotes pré-instalados pip e o número de entradas da lista de permissões. Para remover a configuração posteriormente, consulte Remover Sandbox.

Configurar a política de rede

O sandbox restringe as solicitações de saída a uma lista de permissões explícita. Uma lista de permissões vazia nega todas as solicitações de saída, exceto os endpoints de serviço. AWS Para permitir que o ambiente alcance qualquer outro host, adicione uma entrada na lista de permissões para ele.

Escolha Adicionar entrada e configure o seguinte para a entrada da lista de permissões:

  • Padrão de host — O host ao qual a entrada se aplica. A correspondência parcial de rótulos não é suportada. Use um dos seguintes formulários:

    • **— Todos os anfitriões.

    • *.example.com— Um nível de subdomínio.

    • **.example.com— Qualquer profundidade de subdomínio.

    • example.com— Um hospedeiro exato.

  • Métodos HTTP — Os métodos HTTP permitidos para esse host. Escolha um ou mais métodos, como GET eOPTIONS, na lista suspensa.

  • Padrões de caminho — Os caminhos permitidos para esse host. Escolha Adicionar caminho para adicionar um ou mais padrões:

    • *corresponde a um segmento, como/repos/*/pulls.

    • A correspondência parcial é permitida, tal como/users/aws-*/.

    • /**permite todos os subcaminhos.

    • Os parâmetros de consulta são ignorados.

A imagem a seguir mostra uma entrada completa da lista de permissões.

Entrada da lista de permissões com padrão de host *.github.com, métodos GET e OPTIONS e padrão de caminho /**.

Escolha Adicionar entrada para cada host adicional que o código do agente precisa acessar. Para remover uma entrada, escolha Remover.

Configurar pacotes pré-instalados

Na seção Pacotes, especifique os npm pacotes pip e a serem pré-instalados no ambiente sandbox. O código do agente pode então importar esses pacotes diretamente, e o ambiente não precisa de acesso externo a um registro de pacotes para usá-los. A imagem a seguir mostra a seção Pacotes com exemplos de pacotes configurados.

Seção de pacotes com solicitações de pacotes pip e axios de pacotes pandas e npm, cada um com um botão Remover.
  • pacotes pip — Escolha Adicionar pacote e insira um nome de pacote, como requests oupandas, para cada pacote Python a ser pré-instalado.

  • pacotes npm — Escolha Adicionar pacote e insira um nome de pacote, comoaxios, para cada Node.js pacote a ser pré-instalado.

Para remover um pacote, escolha Remover ao lado dele.

Remover Sandbox

Para optar por não participar, remova a configuração do Sandbox: selecione seu Espaço do Agente, vá até a guia Capacidades e, na seção Sandbox, escolha Remover. Depois de remover a configuração, o agente não provisiona mais ambientes de sandbox para novas investigações.

Limites de configuração do sandbox

Os limites a seguir se aplicam a cada configuração do Sandbox durante a pré-visualização.

Limite Valor
pacotes pip 50
pacotes npm 50
Entradas da lista de permissões de rede 100
Padrões de caminho por entrada da lista de permissões 50
Métodos HTTP por entrada da lista de permissões Pelo menos 1

Considerações sobre segurança

AWS DevOps O agente isola cada investigação em seu próprio ambiente de sandbox, para que o código e os dados de uma investigação nunca sejam compartilhados com outra. AWS DevOps O agente inspeciona e filtra todo o tráfego que sai da sandbox para que somente solicitações seguras e permitidas cheguem aos seus destinos. Ele permite solicitações para endpoints AWS de serviço e hosts que correspondam à sua lista de permissões de rede e nega todas as outras solicitações.

O agente gera e executa o código na sandbox. Lembre-se do seguinte ao configurá-lo:

  • Mantenha a lista de permissões mínima. Com uma lista de permissões vazia, a sandbox alcança somente os pontos finais do AWS serviço. Adicione entradas da lista de permissões somente para os hosts, métodos e caminhos específicos de que o agente precisa.

  • Defina o escopo das entradas da lista de permissões de forma restrita. Use padrões de host exatos e padrões de caminho específicos em vez de curingas amplos/**, como ** e, e conceda somente os métodos HTTP necessários.

  • Pre-install pacotes em vez de permitir registros. Ao pré-instalar os pacotes de que o agente precisa, você evita conceder acesso de saída a um registro de pacotes em tempo de execução.

Para obter mais informações sobre o modelo de segurança do AWS DevOps Agente, consulteAWS DevOps Segurança do agente.