在线AI教程 / AI上云
[Amazon Bedrock] 在 AWS GovCloud(美国)中使用 Amazon Bedrock 配置 ChatGPT 桌面应用程序
在 AWS GovCloud(美国)中使用 Amazon Bedrock 配置 ChatGPT 桌面应用程序 ChatGPT 桌面应用程序现已登陆 AWS GovCloud US
在 AWS GovCloud(美国)中使用 Amazon Bedrock 配置 ChatGPT 桌面应用程序
ChatGPT 桌面应用程序现已登陆 AWS GovCloud (US) 中的 Amazon Bedrock,通过两个组件提供对 OpenAI 前沿模型的访问。Work 负责完成复杂的多步骤任务并交付可直接评审的成果;Codex 是一个用于开发、测试和评审软件的编码 agent。
本演练面向安全架构要求模型推理使用 AWS GovCloud (US) 身份、endpoint 和区域(Regional)管控的组织。它将 Codex 配置为经由 us-gov-west-1 中的 Amazon Bedrock Mantle 路由模型请求——在这里,访问可以用 AWS Identity and Access Management (IAM) 和现有的 AWS GovCloud (US) 网络控制来治理。
Codex 是 OpenAI 面向 AI 驱动软件开发的编码 agent。由 GPT 模型驱动推理,Codex 带来了一类针对复杂、长周期开发者工作流优化的新智能。你可以使用 ChatGPT 桌面应用程序、Codex CLI,以及 Visual Studio Code、JetBrains 和 Xcode 的 IDE 集成。模型推理经 Amazon Bedrock 上的 Responses API 路由。
对有数据驻留要求的客户,处理始终局限于你所选的 Amazon Bedrock AWS 区域(Region)之内。按 token 计费,没有席位授权,也没有按开发者的承诺。同时支持零数据保留(ZDR)。在这种可配置模式下,prompt 和响应会被处理,但 AWS 不会把它们写入持久存储,也不会与模型提供方共享。这有助于你保护敏感信息,满足严格的数据治理、隐私和安全要求。
本文演练一次受控的 ChatGPT 桌面应用程序本地部署:模型推理发往 AWS GovCloud (US-West) 中的 Amazon Bedrock。该配置使用 API 模式登录、受管设备策略、命名 AWS profile 以及网络限制。这些限制只放行到经批准的 Amazon Bedrock endpoint 的访问,同时禁用其他外部连接和需要网络的能力。最终形成的部署,可供机构的安全团队先行测试和记录,再决定是否批准更大范围使用。
使用 AWS GovCloud (US) 并照本指南操作,本身并不构成对你工作负载的授权。你的组织仍须负责将其所选模型、AWS 服务、区域、endpoint、工作站管控、代码仓库、凭证和数据流,对照自身的系统安全计划与授权流程进行审查。
方案概览
你可以用两种方式消费 ChatGPT 桌面应用程序:
Work:处理需要规划、调研、文件和最终成品的大型任务。 Codex:处理技术性工作,例如编辑代码、运行测试和评审 pull request。
ChatGPT 桌面应用程序通过桌面应用或 CLI 运行在组织管理的计算机上。它使用配置好的 AWS 凭证,把请求安全地发送到 us-gov-west-1 中的 Amazon Bedrock Mantle endpoint。由于这套设置直接走 AWS,ChatGPT 的工作区规则和用户角色无法控制它。主要的安全控制是计算机自身的策略,以及所使用的 AWS 身份与权限。
演练
配置分三个主要步骤:设置认证,设置 ChatGPT 桌面应用程序的配置文件,然后启动、初始化并验证部署。
先决条件
在为 ChatGPT 桌面应用程序配置 AWS GovCloud (US) 之前,请确认你的版本的 ChatGPT 桌面应用程序支持 AWS GovCloud (US) 中的 Amazon Bedrock。你需要一个经批准的 AWS GovCloud (US) 账号、一个 IAM 身份和经批准的凭证,以及对经批准的模型、AWS 区域和 endpoint 的访问与使用权限。你还需要设置 requirements.toml 和 config.toml 两个文件。
第 1 步:设置认证
选定经批准的 AWS GovCloud (US) 账号,以及在 us-gov-west-1 中能访问经批准模型的 IAM 身份或角色。通过你组织批准的机制获取凭证。本演练使用命名 profile codex-il5。凭证、bearer token、会话 token 及其他机密一律不要放进 TOML 文件。
保护 profile 配置、凭证来源、SSO 令牌缓存以及任何凭证助手,使其不被 ChatGPT 桌面应用程序的任务写入操作触及,同时允许经批准的认证工具维护和刷新凭证。
ChatGPT 桌面应用程序支持两条 Amazon Bedrock 认证路径:Amazon Bedrock API key 或 AWS SDK 凭证链。凭证链路径内支持经由 AWS IAM Identity Center 的 AWS SSO。
应用首先在其环境中检查 AWS_BEARER_TOKEN_BEDROCK。在桌面场景,该变量可通过 Windows 上的 %USERPROFILE%\.codex\.env 或 Linux 和 macOS 上的 ~/.codex/.env 提供。一旦存在,bearer token 优先于基于 profile 的认证。
若没有可用的 bearer token,应用回退到标准 AWS SDK 凭证链。该链条可以从 ~/.aws/credentials 读取 AWS 凭证,并从 ~/.aws/config 读取相关 profile 设置。在 Windows 上,对应的默认路径是 %USERPROFILE%\.aws\credentials 和 %USERPROFILE%\.aws\config。凭证链同样支持 SSO profile:对 SSO,它使用 AWS 配置文件中的 profile 设置和已缓存的 SSO 会话来获取临时角色凭证,这些凭证无需手工存入 AWS 凭证文件。参见 OpenAI 的 Bedrock 认证文档和 AWS IAM Identity Center 凭证提供方文档。
第 2 步:设置 ChatGPT 桌面应用程序配置文件
你必须创建两个 ChatGPT 桌面应用程序配置文件:config.toml 和 requirements.toml。
重要:配置文件必须在应用启动之前就位。文件位置见下表。
操作系统用户 config.toml管理员 requirements.toml Windows%USERPROFILE%\.codex\config.toml%ProgramData%\OpenAI\Codex\requirements.toml Linux~/.codex/config.toml/etc/codex/requirements.toml macOS~/.codex/config.toml/etc/codex/requirements.toml
从 requirements.toml 文件开始。requirements.toml 是管理员控制的规则文件,设定用户无法覆盖的安全限制,例如限制 ChatGPT 桌面应用程序允许使用的权限级别、工具或设置。
对受支持的 AWS GovCloud (US) Amazon Bedrock 部署,使用以下基线。[windows] 段仅适用于 Windows,且经批准的运行时必须支持 sandbox_private_desktop。
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.network] enabled = true
[application.network.domains] "bedrock-mantle.us-gov-west-1.api.aws" = "allow" "api.openai.com" = "deny" "chat.openai.com" = "deny" "chatgpt.com" = "deny" "ab.chatgpt.com" = "deny" "platform.openai.com" = "deny" "auth.openai.com" = "deny" "gov.api.openai.com" = "deny" "gov.chatgpt.com" = "deny" "sdfedpreastus2.oaiusercontent.com" = "deny" "o33249.ingest.us.sentry.io" = "deny" "persistent.oaistatic.com" = "deny" "oaisidekickupdates.blob.core.windows.net" = "deny"
[windows] allowed_sandbox_implementations = ["elevated"] sandbox_private_desktop = true
接下来配置 config.toml 文件。config.toml 告诉 ChatGPT 桌面应用程序如何运行,包括使用哪个模型提供方、选择哪个模型,以及权限或上下文上限之类的设置。
把模型 ID 和命名 profile(例如 codex-il5)替换为经批准的值。
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] sandbox = "elevated"
第 3 步:启动、初始化与验证
从 ChatGPT 站点下载应用并安装。安装后保持应用关闭。如果它自动打开了,或此前启动过该应用,请完全退出 ChatGPT,并结束所有残留的 ChatGPT 或 Codex 进程。
确保在首次启动应用之前,requirements.toml 和 config.toml 已就位。
启动应用以加载 requirements.toml 和 config.toml 设置。确认其显示模型提供方是 amazon-bedrock。
在 Codex CLI 中,你应该看到类似这样的 /status 标签页:

图 1:Codex CLI 的 /status 标签页,确认模型提供方为 amazon-bedrock
在 ChatGPT 桌面应用程序中,你同样可以确认模型提供方是 amazon-bedrock。

图 2:ChatGPT 桌面应用程序的设置界面显示 amazon-bedrock 为模型提供方
故障排查
应用提示登录 OpenAI 账号。 核对 requirements.toml 和 config.toml 是否使用了上表所示的确切位置和文件名,终止所有 ChatGPT 和 Codex 进程后重新启动。文件必须先于应用启动就位。
报告 AWS GovCloud (US) endpoint 不受支持。 与 OpenAI 确认确切的桌面或 app-server 版本、endpoint 和模型。仅改 URL 并不能构成支持。
用错了 AWS 身份。 检查实际生效的凭证来源和命名 profile,确认 Amazon Bedrock API key 是否优先于 profile。
能力限制没有生效。 重启后检查完整生效的 requirements。仅 API 登录这一设置并不会应用能力策略。
回滚与清理
如果某个验证检查失败,立即停止推广。把受影响的设备恢复到先前批准的策略与提供方设置,然后重启 ChatGPT 桌面应用程序。吊销任何临时 AWS 凭证或 API key,并确认这些设备再也无法连接 Amazon Bedrock。保留测试记录,把失败之处记录清楚,然后再尝试。
总结
AWS GovCloud (US) 中运行于 Amazon Bedrock 之上的 ChatGPT 桌面应用程序,为你提供了一种受控方式使用 OpenAI 前沿模型与编码辅助。推理留在 AWS GovCloud (US) 各区域内。通过验证配置、确认经批准的 AWS 身份与 endpoint、核验安全控制,你可以稳妥地为更大范围使用做好准备。这一路径既支持创新,又让部署决策与每个组织的安全、授权和数据处理要求保持一致。
准备在 AWS GovCloud (US) 中用 Amazon Bedrock 上的 Codex 探索 ChatGPT 桌面应用程序了?从一个受控部署开始,验证你的安全控制,并与安全团队合作为更大范围采纳做好准备。
相关资源
Bedrock AWS GovCloud (US) 配置 – ChatGPT 桌面应用程序的设备、提供方、网络、验证与故障排查指南。 Amazon Bedrock 上的 Responses API – Responses API 的 AWS 区域、endpoint 行为、认证与权限。 AWS GovCloud (US) 合规 – 合规计划与客户授权注意事项。 OpenAI 的 Bedrock 认证文档 – Amazon Bedrock API key 与 AWS SDK 凭证链认证,含 SSO。 AWS IAM Identity Center 凭证提供方文档 – SSO profile 配置与临时 AWS 凭证。
关于作者