> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Acesso seguro

export const SandboxConfigHint = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Note>Before running the example code in this document, please ensure you have properly configured environment variables. For details, please refer to <a href="/docs/pt-BR/guides/sandbox-your-first-agent-sandbox#configure-environment-variables">Configure Environment Variables</a>.</Note>;
  }
};

O acesso seguro fornece autenticação para a comunicação entre o SDK e o controlador do sandbox.

O controlador do sandbox é executado dentro de cada sandbox e expõe a interface de gerenciamento usada pelo SDK, incluindo operações do sistema de arquivos, execução de comandos e outros recursos de controle do sandbox. Quando o acesso seguro está desativado, possuir um ID de sandbox é suficiente para invocar essas interfaces, o que pode permitir controle não autorizado do sandbox a partir do ambiente.

<Note>
  A partir da versão `v2.0.0` do SDK, o acesso seguro é ativado automaticamente sempre que um sandbox é criado. Modelos personalizados mais antigos podem não oferecer suporte a isso; nesse caso, uma recompilação pode ser necessária.
</Note>

<SandboxConfigHint />

## Caminho de migração

Para modelos personalizados criados com envd antes de `v0.2.0`, o acesso seguro fica disponível somente depois que o modelo é recompilado.
Você pode definir `secure` como `false` para desativar temporariamente o acesso seguro durante a criação do sandbox, mas desativar o acesso seguro não é recomendado para uso em produção devido aos riscos de segurança.

Use `novita-sandbox-cli template list` para verificar o `Envd version` do modelo. Você também pode inspecionar modelos no dashboard.

## Versões compatíveis

Sandboxes criados a partir de modelos com envd `v0.2.0` ou posterior oferecem suporte a acesso seguro sem nenhuma configuração adicional.

No SDK para JavaScript e Python, o acesso seguro ficou disponível como uma configuração opcional a partir de `v1.5.0`.
A partir do SDK `v2.0.0`, os sandboxes são provisionados com acesso seguro ativado por padrão.

## Acessar a API do sandbox diretamente

Quando você interage com um sandbox sem usar um dos SDKs, pode enviar solicitações diretamente para a URL do controlador do sandbox.
Para sandboxes executados com acesso seguro, solicitações diretas à API são aceitas somente se incluírem o token de acesso gerado no momento da criação. Ao usar o SDK, o acesso seguro é tratado automaticamente; `X-Access-Token` só é necessário ao chamar APIs do controlador do sandbox diretamente sem o SDK.

Inclua esse token no cabeçalho `X-Access-Token` para todas as solicitações diretas ao controlador do sandbox.

Operações de [envio](/docs/pt-BR/guides/sandbox-filesystem-upload#upload-with-pre-signed-url) e [download](/docs/pt-BR/guides/sandbox-filesystem-download#download-with-pre-signed-url) por URLs exigem URLs pré-assinadas. Recomendamos usar o SDK para gerá-las.

## Desativar o acesso seguro

Desativar o acesso seguro não é recomendado porque pode expor o sandbox a riscos de segurança.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  const sandbox = await Sandbox.create({ secure: false }) // Explicitly disable
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  sandbox = Sandbox.create(secure=False)  # Explicitly disable
  ```
</CodeGroup>
