

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
<a name="configuring-integrations-and-knowledge-sandbox"></a>

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](about-aws-devops-agent-supported-regions.md).

## Como funciona o Sandbox
<a name="how-sandbox-works"></a>

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
<a name="skills-in-the-sandbox"></a>

Com o Sandbox ativado, o agente lê você a [DevOps Habilidades do agente](about-aws-devops-agent-devops-agent-skills.md) 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
<a name="before-you-begin"></a>

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.](http://docs.aws.amazon.com/pt_br/devopsagent/latest/userguide/images/221a777b9eda.png)


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
<a name="configure-sandbox-for-an-agent-space"></a>

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

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

1. Na seção **Sandbox**, escolha **Configurar**.

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

1. 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](#remove-sandbox).

### Configurar a política de rede
<a name="configure-the-networking-policy"></a>

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` e`OPTIONS`, 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 /**.](http://docs.aws.amazon.com/pt_br/devopsagent/latest/userguide/images/02356ee2008f.png)


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
<a name="configure-pre-installed-packages"></a>

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.](http://docs.aws.amazon.com/pt_br/devopsagent/latest/userguide/images/8035f788fb71.png)

+ **pacotes pip** — Escolha **Adicionar pacote** e insira um nome de pacote, como `requests` ou`pandas`, para cada pacote Python a ser pré-instalado.
+ **pacotes npm** — Escolha **Adicionar pacote** e insira um nome de pacote, como`axios`, para cada Node.js pacote a ser pré-instalado.

Para remover um pacote, escolha **Remover** ao lado dele.

## Remover Sandbox
<a name="remove-sandbox"></a>

**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
<a name="sandbox-configuration-limits"></a>

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
<a name="security-considerations"></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, consulte[AWS DevOps Segurança do agente](aws-devops-agent-security.md).