Configuração do Bedrock GovCloud

Configure fluxos de trabalho locais do Codex com o Amazon Bedrock no AWS GovCloud

Este guia aborda as definições de segurança para executar o Codex com o AWS GovCloud em modo API. Reveja estas definições antes de autorizar fluxos de trabalho sensíveis.

Lista de verificação · Referência de capacidades · Referência de configuração do Codex

Responsabilidade partilhada

A AWS e a sua organização partilham a responsabilidade pela segurança da implementação na nuvem. Reveja o modelo de responsabilidade partilhada da AWS e a documentação dos serviços selecionados para identificar os controlos do fornecedor e as suas responsabilidades. O seu organismo é responsável por autorizar a utilização desses serviços pelo respetivo sistema.

Numa implementação suportada, o Codex envia pedidos de inferência para o endpoint do Amazon Bedrock revisto, utilizando autenticação AWS. Os requisitos do espaço de trabalho do ChatGPT e o RBAC não se aplicam a esta via em modo API. Configure a identidade AWS, o acesso aos serviços e a estação de trabalho onde o Codex é executado.

A configuração da sua estação de trabalho, incluindo os ficheiros de políticas TOML do Codex, rege o acesso a ficheiros locais, a execução de comandos, o acesso à rede, os plugins, as ferramentas MCP e as capacidades do navegador. É responsável pela segurança das estações de trabalho, credenciais, repositórios, registos locais e quaisquer serviços de terceiros ativados. Designe responsáveis pela política de dispositivos, pelos controlos de rede, pelas atualizações e pela validação da implementação.

O AWS GovCloud e estas definições, por si só, não garantem que o seu fluxo de trabalho completo cumpra os requisitos do organismo. Reveja os serviços, modelos, regiões, destinos e fluxos de dados exatos da sua implementação e documente as suas responsabilidades enquanto cliente no plano de segurança do sistema.

Antes de começar

Confirme o suporte do GovCloud na sua versão do Codex.

Preparação O que é necessário
Acesso à AWS Conta, identidade IAM e mecanismo de credenciais aprovados; modelo, região GovCloud e endpoint permitidos.
Pacote de implementação Versão suportada da aplicação de ambiente de trabalho e do app-server incluído, política de requisitos do Bedrock revista, destinos de autenticação/armazenamento/operação aprovados e instruções de reversão.
Gestão de dispositivos Acesso à configuração do sistema ou a MDM, com políticas de rede revistas para a aplicação/o dispositivo e os comandos do agente.

1. Prepare o acesso à AWS

Selecione a conta AWS e a identidade IAM aprovadas, com acesso ao modelo e à região selecionados. Provisione as credenciais através do mecanismo aprovado pela sua organização. Mantenha as credenciais fora do TOML.

Se utilizar um perfil com nome, proteja a respetiva configuração, origem das credenciais e auxiliar de credenciais contra escritas efetuadas por tarefas.

2. Implemente os requisitos dos dispositivos

Implemente o requirements.toml do Bedrock revisto através da configuração do sistema ou de MDM antes de iniciar a aplicação ou efetuar a autenticação. As sessões em modo API não recebem os requisitos do espaço de trabalho do ChatGPT nem o RBAC.

Utilize os requisitos completos abaixo como base para a sua implementação suportada do Bedrock. Reveja a referência de capacidades, as skills locais e o acesso a comandos para o fluxo de trabalho aprovado.

Siga as instruções de Configuração gerida para as localizações dos ficheiros de sistema e a distribuição por MDM. Proteja a política gerida e verifique as suas definições efetivas no anfitrião de execução no passo 4.

requirements.toml recomendado

Esta configuração restringe intencionalmente as funcionalidades. É recomendada para o GovCloud, salvo se a sua organização impuser outras restrições. Consulte a referência de configuração para obter detalhes sobre cada definição.

A tabela final [windows] aplica-se apenas ao Windows. Confirme o suporte de sandbox_private_desktop no seu ambiente de execução aprovado.

requirements.toml

allowed_login_methods = ["api"]
allowed_sandbox_modes = ["read-only", "workspace-write"]
allowed_approvals_reviewers = ["user"]
allowed_approval_policies = [
  { granular = { sandbox_approval = false, rules = true, mcp_elicitations = false, request_permissions = false, skill_approval = true } },
]
allowed_web_search_modes = ["disabled", "cached"]
allow_browser_and_computer_use = false
allow_appshots = false
allow_remote_control = false
allow_login_shell = false
allow_managed_hooks_only = true
check_for_update_on_startup = false
mcp_servers = {}

[feedback]
enabled = false

[features]
network_proxy = true
in_app_chat = false
in_app_dictation = false
in_app_browser = false
browser_use = false
browser_use_external = false
browser_use_full_cdp_access = false
computer_use = false
in_app_updates = false
image_generation = false
memories = false
chronicle = false
external_agent_memory_import = false
guardian_approval = false
guardianv2 = false
guardian_ext = false
apps = false
enable_mcp_apps = false
plugins = false
remote_plugin = false
plugin_sharing = false
recommended_plugins = false
skill_mcp_dependency_install = false
skill_search = false
workspace_dependencies = false
hooks = false
standalone_web_search = false

[experimental_network]
enabled = true
managed_allowed_domains_only = true
domains = {}
unix_sockets = {}
allow_upstream_proxy = false
dangerously_allow_non_loopback_proxy = false
dangerously_allow_all_unix_sockets = false
allow_local_binding = false

# Application destinations

[application.network]
enabled = true

[application.network.domains]
"bedrock-mantle.us-gov-west-1.api.aws" = "allow"

# OpenAI / ChatGPT, including auth and telemetry.

"api.openai.com" = "deny"
"chat.openai.com" = "deny"
"chatgpt.com" = "deny"
"ab.chatgpt.com" = "deny"
"platform.openai.com" = "deny"
"auth.openai.com" = "deny"

# FedRAMP OpenAI endpoints are also outside this Bedrock profile.

"gov.api.openai.com" = "deny"
"gov.chatgpt.com" = "deny"
"sdfedpreastus2.oaiusercontent.com" = "deny"

# Crash reporting and distribution.

"o33249.ingest.us.sentry.io" = "deny"
"persistent.oaistatic.com" = "deny"
"oaisidekickupdates.blob.core.windows.net" = "deny"

# Windows only

[windows]
allowed_sandbox_implementations = ["elevated"]
sandbox_private_desktop = true

3. Configure o encaminhamento para o fornecedor e os controlos de rede

Defina o fornecedor, o modelo, a região e o endpoint em config.toml ou nas predefinições geridas, separadamente de requirements.toml. Os utilizadores podem alterar as predefinições do fornecedor, salvo se a política gerida as restringir.

config.toml recomendado

Para uma implementação Mantle confirmada em us-gov-west-1, substitua o ID do modelo e o perfil por valores aprovados. Se o endpoint ou a região aprovados forem diferentes, atualize em conjunto o URL, a região e a política de rede.

Estas predefinições estabelecem a rota de inferência, correspondem à política de aprovação gerida e desativam o diagnóstico opcional e a partilha de dados. Os utilizadores podem alterar as predefinições dentro dos limites dos requisitos geridos. Mantenha as credenciais AWS fora do ficheiro TOML. A tabela final [windows] aplica-se apenas ao Windows e tem de corresponder ao seu ambiente de execução aprovado.

config.toml

model = "REPLACE_WITH_APPROVED_MODEL_ID"
model_provider = "amazon-bedrock"
forced_login_method = "api"
approval_policy = { granular = { sandbox_approval = false, rules = true, mcp_elicitations = false, request_permissions = false, skill_approval = true } }
approvals_reviewer = "user"
sandbox_mode = "workspace-write"
web_search = "cached"
allow_login_shell = false
check_for_update_on_startup = false

[model_providers.amazon-bedrock]
base_url = "https://bedrock-mantle.us-gov-west-1.api.aws/openai/v1"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = false
supports_standalone_web_search = false

[model_providers.amazon-bedrock.aws]
region = "us-gov-west-1"
profile = "codex-il5"

[sandbox_workspace_write]
network_access = false

[features]
network_proxy = true

[analytics]
enabled = false

[feedback]
enabled = false

[otel]
exporter = "none"
trace_exporter = "none"
metrics_exporter = "none"
log_user_prompt = false

[memories]
generate_memories = false
use_memories = false

[skills.bundled]
enabled = false

[apps._default]
enabled = false

# Windows only

[windows]
sandbox = "elevated"

A autenticação AWS continua a ser necessária quando requires_openai_auth = false. O Bedrock Runtime e os gateways com tokens de portador necessitam das suas próprias configurações aprovadas de fornecedor e autenticação; não reutilize este URL do Mantle nem este serviço de assinatura.

Aplique controlos de rede

Aplique as políticas de rede revistas da aplicação e do dispositivo, juntamente com a política separada para comandos do agente. Abranja a inferência, a obtenção e renovação de credenciais, a telemetria, o armazenamento e as atualizações. Encaminhar a inferência através do Bedrock não faz com que todo o tráfego da aplicação de ambiente de trabalho se limite à AWS.

A política de rede da aplicação abrange os pedidos suportados da aplicação e do app-server incluído. É distinta dos controlos da sandbox do agente e não é uma firewall do sistema operativo. O tráfego do atualizador nativo, o Git, o SSH, as aplicações externas, os auxiliares de credenciais e o acesso à rede dos subprocessos exigem controlos separados.

O exemplo seleciona a pesquisa em cache em us-gov-west-1. Verifique a disponibilidade regional na documentação de pesquisa na Web do AWS Bedrock e utilize a pesquisa em cache apenas quando o responsável pela implementação aprovar o serviço. Caso contrário, defina web_search = "disabled".

4. Verifique a implementação

  1. Reinicie a aplicação. No anfitrião de execução, confirme os requisitos efetivos, a identidade AWS, o fornecedor, o modelo, a região e o endpoint.

  2. Execute um fluxo de trabalho aprovado com dados de exemplo.

  3. Confirme que as restrições de capacidades exigidas produzem efeito. Teste definições de utilizador em conflito, credenciais inválidas ou expiradas e falhas de encaminhamento; o conteúdo não pode ser encaminhado para um destino não aprovado como alternativa.

Registe as versões da aplicação de ambiente de trabalho e do app-server, a configuração efetiva, os resultados e o procedimento de reversão. Resolva as verificações falhadas ou bloqueadas antes de alargar o acesso.

Resolução de problemas comuns

Problema O que verificar
O endpoint do GovCloud não é suportado Confirme com a OpenAI a versão exata da aplicação de ambiente de trabalho/do app-server, o endpoint e o modelo. Alterar apenas o URL não garante o suporte.
É utilizada a identidade AWS errada Inspecione a origem efetiva das credenciais e o perfil com nome. Verifique se uma API key do Bedrock tem precedência sobre o perfil.
Faltam restrições de capacidades Inspecione todos os requisitos efetivos após reiniciar. A definição de início de sessão apenas por API não aplica a política de capacidades.

Referência: restrições de capacidades do Bedrock

Estas definições descrevem o perfil de implementação inicial do Bedrock. Aplique a política completa fornecida para a sua versão suportada, incluindo os controlos de rede AWS. A automatização local e a voz em tempo real exigem controlos adicionais: in_app_local_automation e realtime_conversation não estão definidos na configuração de base acima. Reveja estas restrições para a sua implementação.

Os valores abaixo são requisitos geridos, não predefinições do utilizador. Definir uma funcionalidade como true não contorna as restrições da conta, do espaço de trabalho, do fornecedor ou do sistema operativo. Omitir um requisito mantém as verificações normais de configuração e disponibilidade.

Capacidade Definição de política Comportamento neste perfil
Conversas do ChatGPT e Quick Chat [features] in_app_chat = false false oculta as interfaces de conversas do ChatGPT e do Quick Chat. Esta definição não interrompe as tarefas existentes na nuvem nem desativa o ChatGPT Voice.
Automatização local [features] in_app_local_automation = false false impede o início de tarefas locais agendadas, incluindo após reiniciar. true permite o agendamento local quando este é suportado pelas restantes condições. Os agendamentos na nuvem são geridos por controlos separados.
Ditado, transcrição e voz em tempo real in_app_dictation = false; realtime_conversation = false in_app_dictation controla a entrada de voz para texto na aplicação de ambiente de trabalho: false desativa-a, enquanto true a permite quando o ditado está disponível. realtime_conversation controla /voice no Codex CLI. Definir este valor como false não bloqueia de forma generalizada o ChatGPT Voice na aplicação de ambiente de trabalho nem as sessões de voz do app-server.
Navegador integrado na aplicação e automatização do navegador in_app_browser, browser_use, browser_use_external, browser_use_full_cdp_access = false in_app_browser controla o painel do navegador disponível na aplicação. browser_use permite ao agente navegar e browser_use_external alarga essa capacidade a sessões do navegador com sessão iniciada. browser_use_full_cdp_access permite a depuração completa do navegador. Definir cada um como false bloqueia essa via; true continua a exigir as restantes verificações de funcionalidades, sites e aprovação.
Controlo do computador, Appshots e histórico do computador computer_use = false; allow_appshots = false de nível superior; chronicle = false computer_use = false bloqueia o controlo de aplicações nativas, allow_appshots = false bloqueia a captura de imagens e texto das janelas. true permite cada capacidade, sujeita aos respetivos controlos adicionais. chronicle = false é utilizado para interromper a recolha do Computer History.
Memória entre sessões memories = false; external_agent_memory_import = false memories = false desativa a geração e a utilização de memórias locais entre conversas. true permite ambas, sujeitas a memories.generate_memories e memories.use_memories. external_agent_memory_import = false também bloqueia a importação de memórias de outros agentes de programação, mesmo que as memórias locais estejam ativadas.
Geração de imagens image_generation = false false desativa a ferramenta integrada de geração de imagens; true disponibiliza-a quando o cliente, o modelo e o fornecedor a suportam. Esta opção não desativa as entradas de imagens nem o acesso a ficheiros de imagem existentes; valide esses fluxos de trabalho no passo 4.
Pesquisa na Web Siga a política de pesquisa na Web da implementação aprovada. cached utiliza a cache de pesquisa; disabled remove a ferramenta de pesquisa na Web. live permite o acesso à Web em tempo real, enquanto indexed condiciona o acesso externo através do índice de pesquisa. Os requisitos acima permitem apenas cached ou disabled. Confirme o suporte do fornecedor e os destinos aprovados no passo 3.
Aplicações, plugins, MCP e transferências automáticas apps = false; plugins = false; [mcp_servers] explicitamente vazio false desativa aplicações e plugins por predefinição. Uma lista de permissões mcp_servers vazia bloqueia todos os MCP servers configurados. Ative-os de acordo com os requisitos específicos e a postura de segurança da organização.
Aprovação automática allowed_approvals_reviewers = ["user"]; guardian_approval = false; guardianv2 = false ["user"] restringe a análise dos pedidos de aprovação ao utilizador. Permitir auto_review e as funcionalidades Guardian permitiria a análise automática quando suportada. A definição do revisor controla quem analisa os pedidos e approval_policy continua a determinar que ações exigem aprovação.
Controlo remoto do dispositivo allow_remote_control = false de nível superior false bloqueia o controlo remoto do dispositivo. true ou a omissão do requisito permite a configuração normal do controlo remoto quando suportada; nenhum dos valores estabelece uma ligação por si só.

Controlos adicionais da implementação

Área Controlo exigido
Fluxos de trabalho na nuvem e remotos Mantenha indisponíveis a execução e os agendamentos na nuvem, o SSH, a partilha, a persistência na Library, o conhecimento de projetos alojado e as notificações entregues pela rede. Imponha estes controlos separadamente; as opções individuais de funcionalidades não abrangem todos os pontos de entrada.
Telemetria Reveja de forma independente a análise de utilização, o feedback, o OpenTelemetry, os relatórios de falhas e o tráfego em segundo plano. feedback.enabled = false não desativa todos os canais de telemetria.
Distribuição da aplicação Para uma distribuição das atualizações da aplicação controlada pelo cliente, defina in_app_updates = false em [features] quando suportado e, em seguida, reinicie. Faça a gestão dos pacotes externos, das correções, da revogação, da reversão e das versões suportadas separadamente.