Configure the ChatGPT desktop app with Amazon Bedrock in AWS GovCloud (US)

TL;DR · AI 摘要
Configure the ChatGPT desktop app with Amazon Bedrock in AWS GovCloud US Artificial Intelligence Configure the ChatGPT d...
核心要点
- 主题聚焦:Configure the ChatGPT desktop app with Amazon Be
- 来源:AWS Machine Learning Blog,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
在 AWS GovCloud (US) 中使用 Amazon Bedrock 配置 ChatGPT 桌面应用 | 人工智能
在 AWS GovCloud (US) 中使用 Amazon Bedrock 配置 ChatGPT 桌面应用
ChatGPT 桌面应用现已在 AWS GovCloud (US) 的 Amazon Bedrock 上提供,通过两个组件实现对 OpenAI 前沿模型的访问。Work 能够完成复杂的多步骤任务并提供可审查的结果,而 Codex 是用于开发、测试和审查软件的编码代理。
本操作指南适用于需要通过 AWS GovCloud (US) 身份、端点和区域控制进行模型推理的组织架构。它将配置 Codex 通过 Amazon Bedrock Mantle(位于 us-gov-west-1)路由模型请求,从而可以使用 AWS 身份和访问管理(IAM)及现有的 AWS GovCloud (US) 网络控制来管理访问权限。
Codex 是 OpenAI 用于 AI 驱动软件开发的编码代理。通过 GPT 模型进行推理,Codex 引入了一种专为复杂、长期开发者工作流优化的新一代智能。您可以使用 ChatGPT 桌面应用、Codex 命令行工具(CLI)以及与 Visual Studio Code、JetBrains 和 Xcode 的集成开发环境(IDE)。模型推理通过 Amazon Bedrock 的 Responses API 进行路由。
对于有数据驻留要求的客户,处理过程将保留在您选择的 Amazon Bedrock AWS 区域内。您按 token 计费,无需座位许可证,也无需按开发者承诺。还支持零数据保留(ZDR)模式。在此可配置模式下,提示和响应在 AWS 或模型提供商处不会被写入持久存储或共享。这有助于您保护敏感信息并满足严格的数据治理、隐私和安全要求。
本文档将逐步演示一个受控的本地部署方案,该方案将 ChatGPT 桌面应用的模型推理发送到 AWS GovCloud (US-West) 中的 Amazon Bedrock。配置使用 API 模式登录、托管设备策略、命名的 AWS 配置文件和网络限制。这些限制仅允许访问批准的 Amazon Bedrock 端点,同时禁用其他外部连接和网络功能。最终实现的部署方案可供机构安全团队进行测试和文档记录,然后再批准更广泛的使用。
使用 AWS GovCloud (US) 并遵循本指南本身并不能授权您的工作负载。您的组织仍需负责根据其系统安全计划和授权流程,审查所选模型、AWS 服务、区域、端点、工作站控制、存储库、凭证和数据流。
解决方案概述
您可以通过以下两种方式使用 ChatGPT 桌面应用:
- Work:用于需要规划、研究、文件和最终结果的大型任务。
- Codex:用于技术性工作,如编辑代码、运行测试和审查拉取请求。
ChatGPT 桌面应用通过桌面应用或 CLI 在组织管理的计算机上运行。它使用配置的 AWS 凭据,安全地将请求发送到 us-gov-west-1 区域的 Amazon Bedrock Mantle 端点。由于此设置直接使用 AWS,ChatGPT 工作区规则和用户角色不会控制它。主要的安全控制措施是计算机的策略以及使用的 AWS 身份和权限。
操作步骤
配置包含三个主要步骤:设置身份验证、设置 ChatGPT 桌面应用的配置文件,然后启动、初始化并验证部署。
先决条件
在使用 AWS GovCloud (US) 设置 ChatGPT 桌面应用之前,请确保您的 ChatGPT 桌面应用版本支持 AWS GovCloud (US) 中的 Amazon Bedrock。您需要一个已获批准的 AWS GovCloud (US) 账户、一个 IAM 身份和已获批准的凭证、对已获批准模型的访问权限、AWS 区域和端点,以及使用这些资源的权限。您还需要设置 requirements.toml 和 config.toml 文件。
步骤 1:设置身份验证
选择已获批准的 AWS GovCloud (US) 账户以及具有对 us-gov-west-1 中已获批准模型访问权限的 IAM 身份或角色。通过组织批准的机制获取凭证。本操作指南使用名为 codex-il5 的命名配置文件。请确保凭证、承载令牌、会话令牌和其他秘密信息不要存储在 TOML 文件中。
保护配置文件、凭证来源、SSO 令牌缓存和任何凭证辅助工具,防止被 ChatGPT 桌面应用任务写入,同时允许已批准的身份验证工具维护和刷新凭证。
ChatGPT 桌面应用支持两种 Amazon Bedrock 身份验证方式:Amazon Bedrock API 密钥或 AWS SDK 凭证链。AWS IAM Identity Center 通过 AWS SSO 的身份验证在凭证链路径中得到支持。
应用首先检查其环境中的 AWS_BEARER_TOKEN_BEDROCK 变量。对于桌面使用,该变量可以通过 Windows 上的 %USERPROFILE%\.codex\.env 或 Linux 和 macOS 上的 ~/.codex/.env 提供。当该变量存在时,承载令牌将优先于基于配置文件的身份验证。
如果没有可用的承载令牌,应用将回退到标准的 AWS SDK 凭证链。该链可以从 ~/.aws/credentials 读取 AWS 凭证,并从 ~/.aws/config 读取相关的配置文件设置。在 Windows 上,对应的默认路径是 %USERPROFILE%\.aws\credentials 和 %USERPROFILE%\.aws\config。该链还支持 SSO 配置文件。对于 SSO,它使用 AWS 配置文件中的配置设置和缓存的 SSO 会话来获取临时角色凭证。这些凭证不需要手动存储在 AWS 凭证文件中。请参阅 OpenAI 的 Bedrock 身份验证文档和 AWS IAM Identity Center 凭证提供者文档。
步骤 2:设置 ChatGPT 桌面应用配置文件
您必须创建两个 ChatGPT 桌面应用配置文件:config.toml 和 requirements.toml。
重要提示:配置文件需要在应用启动之前设置。下表显示了文件位置。
操作系统
用户
config.toml管理员
requirements.tomlWindows
%USERPROFILE%\.codex\config.toml%ProgramData%\OpenAI\Codex\requirements.tomlLinux
~/.codex/config.toml/etc/codex/requirements.tomlmacOS
从 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 桌面应用如何运行,包括使用哪个模型提供商(amazon-bedrock)、选择哪个模型,以及权限或上下文限制等设置。
将模型 ID 和命名配置文件(例如 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) 端点被报告为不支持。请与 OpenAI 确认确切的桌面版或应用服务器版本、端点和模型。仅更改 URL 无法建立支持。
使用了错误的 AWS 身份。检查有效的凭证来源和命名配置文件。确认 Amazon Bedrock API 密钥是否优先于配置文件。
能力限制缺失。重启后检查完整的有效需求。仅 API 登录设置不会应用能力策略。
## 回滚与清理
如果验证检查失败,请停止部署。将受影响的设备恢复到之前批准的策略和提供商设置,然后重新启动 ChatGPT 桌面应用。撤销任何临时 AWS 凭证或 API 密钥,并确认这些设备无法再连接到 Amazon Bedrock。记录测试过程并明确记录失败原因,然后再尝试一次。
## 结论
在 AWS GovCloud (US) 的 Amazon Bedrock 上运行 ChatGPT 桌面应用,为你提供一种受控方式来使用 OpenAI 前沿模型和编码辅助功能。推理过程保留在 AWS GovCloud (US) 区域内。通过验证配置、确认批准的 AWS 身份和端点,并验证安全控制,你可以自信地为更广泛的应用做好部署准备。这种方法支持创新,同时使部署决策与每个组织的安全、授权和数据处理要求保持一致。
准备好在 AWS GovCloud (US) 的 Amazon Bedrock 上使用 Codex 的 ChatGPT 桌面应用了吗?从受控部署开始,验证安全控制,并与安全团队合作为更广泛的应用做好准备。
## 相关资源
- Bedrock AWS GovCloud (US) 配置 – ChatGPT 桌面应用设备、提供商、网络、验证和故障排查指南。
- Amazon Bedrock 上的 Responses API – Responses API 的 AWS 区域、端点行为、身份验证和权限。
- AWS GovCloud (US) 合规性 – 合规计划和客户授权考虑因素。
- OpenAI 的 Bedrock 身份验证文档 – Amazon Bedrock API 密钥和 AWS SDK 凭证链身份验证,包括 SSO。
- AWS IAM Identity Center 凭证提供者文档 – SSO 配置文件设置和临时 AWS 凭证。
## 作者信息
'"` /status