Configuración de Bedrock GovCloud
Configure flujos de trabajo locales de Codex con Amazon Bedrock en AWS GovCloud
Esta guía describe los ajustes de seguridad para ejecutar Codex con AWS GovCloud en modo API. Revise estos ajustes antes de autorizar flujos de trabajo sensibles.
Lista de verificación · Referencia de capacidades · Referencia de configuración de Codex
Responsabilidad compartida
AWS y su organización comparten la responsabilidad de proteger la implementación en la nube. Revise el modelo de responsabilidad compartida de AWS y la documentación de los servicios seleccionados para identificar los controles del proveedor y sus responsabilidades. Su agencia es responsable de autorizar el uso de esos servicios por parte de su sistema.
En una implementación compatible, Codex envía solicitudes de inferencia al endpoint de Amazon Bedrock revisado mediante autenticación de AWS. Los requisitos del espacio de trabajo de ChatGPT y el RBAC no se aplican a esta vía en modo API. Configure la identidad de AWS, el acceso a los servicios y la estación de trabajo donde se ejecuta Codex.
La configuración de su estación de trabajo, incluidos sus archivos de políticas TOML de Codex, rige el acceso a archivos locales, la ejecución de comandos, el acceso a la red, los plugins, las herramientas MCP y las capacidades del navegador. Usted es responsable de proteger las estaciones de trabajo, las credenciales, los repositorios, los registros locales y cualquier servicio de terceros habilitado. Asigne responsables para las políticas de dispositivos, los controles de red, las actualizaciones y la validación de la implementación.
AWS GovCloud y estos ajustes por sí solos no garantizan que su flujo de trabajo completo cumpla los requisitos de la agencia. Revise los servicios, modelos, regiones, destinos y flujos de datos específicos de su implementación, y documente sus responsabilidades como cliente en el plan de seguridad del sistema.
Antes de comenzar
Confirme la compatibilidad con GovCloud de su versión de Codex.
| Preparación | Qué necesita |
|---|---|
| Acceso a AWS | Cuenta, identidad de IAM y mecanismo de credenciales aprobados; modelo, región de GovCloud y endpoint permitidos. |
| Paquete de implementación | Versión compatible de la aplicación de escritorio y del app-server incluido, política de requisitos de Bedrock revisada, destinos de autenticación, almacenamiento y operaciones aprobados e instrucciones de reversión. |
| Administración de dispositivos | Acceso a la configuración del sistema o a MDM, con políticas de red revisadas para la aplicación, el dispositivo y los comandos del agente. |
1. Prepare el acceso a AWS
Seleccione la cuenta de AWS y la identidad de IAM aprobadas, con acceso al modelo y a la región seleccionados. Aprovisione las credenciales mediante el mecanismo aprobado por su organización. Mantenga las credenciales fuera de TOML.
Si utiliza un perfil con nombre, proteja su configuración, su origen de credenciales y su asistente de credenciales frente a escrituras realizadas por las tareas.
2. Implemente los requisitos del dispositivo
Implemente el requirements.toml de Bedrock revisado mediante la configuración del sistema o MDM antes de iniciar la aplicación o autenticarse. Las sesiones en modo API no reciben los requisitos del espacio de trabajo de ChatGPT ni el RBAC.
Use todos los requisitos siguientes como base para su implementación compatible de Bedrock. Revise la referencia de capacidades, las skills locales y el acceso a comandos para el flujo de trabajo aprobado.
Siga las instrucciones de Configuración administrada para conocer las ubicaciones de los archivos del sistema y la distribución mediante MDM. Proteja la política administrada y verifique sus ajustes efectivos en el host de ejecución en el paso 4.
requirements.toml recomendado
Esta configuración restringe funciones de forma intencional. Se recomienda para GovCloud, salvo que su organización aplique otras restricciones. Consulte la referencia de configuración para obtener detalles sobre cada ajuste.
La tabla final [windows] se aplica solo a Windows. Confirme la compatibilidad con sandbox_private_desktop en su entorno de ejecución aprobado.
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 = true3. Configure el enrutamiento del proveedor y los controles de red
Establezca el proveedor, el modelo, la región y el endpoint en config.toml o en los valores predeterminados administrados, por separado de requirements.toml. Los usuarios pueden cambiar los valores predeterminados del proveedor, salvo que la política administrada los restrinja.
config.toml recomendado
Para una implementación de Mantle confirmada en us-gov-west-1, sustituya el ID del modelo y el perfil por valores aprobados. Si el endpoint o la región aprobados son diferentes, actualice la URL, la región y la política de red conjuntamente.
Estos valores predeterminados establecen la ruta de inferencia, se ajustan a la política de aprobación administrada y desactivan los diagnósticos opcionales y el intercambio de datos. Los usuarios pueden cambiar los valores predeterminados dentro de los límites de los requisitos administrados. Mantenga las credenciales de AWS fuera del archivo TOML. La tabla final [windows] se aplica solo a Windows y debe corresponder a su entorno de ejecución aprobado.
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"La autenticación de AWS sigue siendo necesaria cuando requires_openai_auth = false. Bedrock Runtime y las puertas de enlace con tokens de portador necesitan su propia configuración aprobada de proveedor y autenticación; no reutilice esta URL de Mantle ni su servicio de firma.
Aplique controles de red
Aplique las políticas de red revisadas para la aplicación y el dispositivo, además de la política independiente para los comandos del agente. Abarque la inferencia, la obtención y renovación de credenciales, la telemetría, el almacenamiento y las actualizaciones. Enrutar la inferencia a través de Bedrock no hace que todo el tráfico de la aplicación de escritorio se limite a AWS.
La política de red de la aplicación abarca las solicitudes compatibles de la aplicación y del app-server incluido. Es independiente de los controles del entorno aislado del agente y no es un firewall del sistema operativo. El tráfico del actualizador nativo, Git, SSH, las aplicaciones externas, los asistentes de credenciales y el acceso a la red de los subprocesos requieren controles independientes.
El ejemplo selecciona la búsqueda en caché en us-gov-west-1. Compruebe la disponibilidad regional en la documentación de búsqueda web de AWS Bedrock y use la búsqueda en caché solo cuando el responsable de la implementación apruebe el servicio. De lo contrario, establezca web_search = "disabled".
4. Verifique la implementación
Reinicie la aplicación. En el host de ejecución, confirme los requisitos efectivos, la identidad de AWS, el proveedor, el modelo, la región y el endpoint.
Ejecute un flujo de trabajo aprobado con datos de ejemplo.
Confirme que se apliquen las restricciones de capacidades requeridas. Pruebe ajustes de usuario incompatibles, credenciales no válidas o caducadas y fallos de enrutamiento; el contenido no debe enviarse a un destino no aprobado como alternativa.
Registre las versiones de la aplicación de escritorio y del app-server, la configuración efectiva, los resultados y el procedimiento de reversión. Resuelva las comprobaciones fallidas o bloqueadas antes de ampliar el acceso.
Solucione problemas comunes
| Problema | Qué comprobar |
|---|---|
| El endpoint de GovCloud no es compatible | Confirme con OpenAI la versión exacta de la aplicación de escritorio y del app-server, el endpoint y el modelo. Cambiar únicamente la URL no garantiza la compatibilidad. |
| Se usa una identidad de AWS incorrecta | Inspeccione el origen efectivo de las credenciales y el perfil con nombre. Compruebe si una API key de Bedrock tiene prioridad sobre el perfil. |
| Faltan restricciones de capacidades | Inspeccione todos los requisitos efectivos después de reiniciar. El ajuste de inicio de sesión exclusivo mediante API no aplica la política de capacidades. |
Referencia: restricciones de capacidades de Bedrock
Estos ajustes describen el perfil de implementación inicial de Bedrock. Aplique la política completa suministrada para su versión compatible, incluidos los controles de red de AWS. La automatización local y la voz en tiempo real requieren controles adicionales: in_app_local_automation y realtime_conversation no están establecidos en la configuración base anterior. Revise estas restricciones para su implementación.
Los valores siguientes son requisitos administrados, no valores predeterminados del usuario. Establecer una función en true no elude las restricciones de la cuenta, el espacio de trabajo, el proveedor o el sistema operativo. Omitir un requisito mantiene las comprobaciones normales de configuración y disponibilidad.
| Capacidad | Ajuste de política | Comportamiento en este perfil |
|---|---|---|
| Conversaciones de ChatGPT y Quick Chat | [features] in_app_chat = false |
false oculta las interfaces de conversaciones de ChatGPT y Quick Chat. Este ajuste no detiene las tareas existentes en la nube ni desactiva ChatGPT Voice. |
| Automatización local | [features] in_app_local_automation = false |
false impide que se inicien las tareas programadas locales, incluso después de reiniciar. true permite la programación local cuando se cumplen las demás condiciones de compatibilidad. Las programaciones en la nube se gestionan mediante controles independientes. |
| Dictado, transcripción y voz en tiempo real | in_app_dictation = false; realtime_conversation = false |
in_app_dictation controla la entrada de voz a texto en la aplicación de escritorio: false la desactiva, mientras que true la permite cuando el dictado está disponible. realtime_conversation controla /voice en Codex CLI. Establecerlo en false no bloquea de forma general ChatGPT Voice en la aplicación de escritorio ni las sesiones de voz del app-server. |
| Navegador integrado y automatización del navegador | in_app_browser, browser_use, browser_use_external, browser_use_full_cdp_access = false |
in_app_browser controla el panel del navegador disponible dentro de la aplicación. browser_use permite al agente navegar y browser_use_external amplía esa capacidad a las sesiones del navegador con la sesión iniciada. browser_use_full_cdp_access permite la depuración completa del navegador. Establecer cada uno en false bloquea esa vía; true sigue requiriendo las demás comprobaciones de funciones, sitios y aprobación. |
| Control del equipo, Appshots e historial del equipo | computer_use = false; allow_appshots = false de nivel superior; chronicle = false |
computer_use = false bloquea el control de aplicaciones nativas, allow_appshots = false bloquea la captura de imágenes y texto de las ventanas. true permite cada capacidad, sujeta a sus demás controles. chronicle = false se usa para detener la recopilación de Computer History. |
| Memoria entre sesiones | memories = false; external_agent_memory_import = false |
memories = false desactiva la generación y el uso de memorias locales entre chats. true permite ambas operaciones, sujetas a memories.generate_memories y memories.use_memories. external_agent_memory_import = false también bloquea las importaciones de memoria desde otros agentes de programación, incluso si las memorias locales están habilitadas. |
| Generación de imágenes | image_generation = false |
false desactiva la herramienta integrada de generación de imágenes; true la habilita cuando el cliente, el modelo y el proveedor son compatibles con ella. Este ajuste no desactiva las entradas de imágenes ni el acceso a archivos de imagen existentes; valide esos flujos de trabajo en el paso 4. |
| Búsqueda web | Siga la política de búsqueda web de la implementación aprobada. | cached usa la caché de búsqueda; disabled elimina la herramienta de búsqueda web. live permite el acceso web en directo, mientras que indexed regula el acceso externo a través del índice de búsqueda. Los requisitos anteriores solo permiten cached o disabled. Confirme la compatibilidad del proveedor y los destinos aprobados en el paso 3. |
| Aplicaciones, plugins, MCP y descargas automáticas | apps = false; plugins = false; [mcp_servers] explícitamente vacío |
false desactiva las aplicaciones y los plugins de forma predeterminada. Una lista de permitidos mcp_servers vacía bloquea todos los MCP servers configurados. Habilítelos según los requisitos específicos y la postura de seguridad de la organización. |
| Aprobación automática | allowed_approvals_reviewers = ["user"]; guardian_approval = false; guardianv2 = false |
["user"] restringe la revisión de aprobaciones al usuario. Permitir auto_review y las funciones de Guardian permitiría la revisión automática donde sea compatible. El ajuste del revisor controla quién revisa las solicitudes y approval_policy sigue determinando qué acciones requieren aprobación. |
| Control remoto del dispositivo | allow_remote_control = false de nivel superior |
false bloquea el control remoto del dispositivo. true o la omisión del requisito permite la configuración normal del control remoto donde sea compatible; ninguno de estos valores establece una conexión por sí solo. |
Controles adicionales de implementación
| Área | Control requerido |
|---|---|
| Flujos de trabajo en la nube y remotos | Mantenga inhabilitados la ejecución y las programaciones en la nube, SSH, el uso compartido, la persistencia en Library, el conocimiento alojado del proyecto y las notificaciones entregadas por la red. Aplique estos controles por separado; los indicadores de funciones individuales no abarcan todos los puntos de entrada. |
| Telemetría | Revise de forma independiente las analíticas, los comentarios, OpenTelemetry, los informes de fallos y el tráfico en segundo plano. feedback.enabled = false no desactiva todos los canales de telemetría. |
| Distribución de la aplicación | Para que el cliente controle la distribución de las actualizaciones de la aplicación, establezca in_app_updates = false dentro de [features] donde sea compatible y luego reinicie. Gestione por separado los paquetes externos, la aplicación de parches, la revocación, la reversión y las versiones compatibles. |