在 AWS GovCloud (US) 中为 ChatGPT 桌面应用配置 Amazon Bedrock
Configure the ChatGPT desktop app with Amazon Bedrock in AWS GovCloud (US)
ChatGPT 桌面应用现已在 AWS GovCloud (US) 的 Amazon Bedrock 上线,通过 Work 和 Codex 两个组件访问 OpenAI 前沿模型。
ChatGPT 桌面应用现已在 Amazon Bedrock 的 AWS GovCloud (US) 中可用,通过两个组件提供对 OpenAI 前沿模型的访问。Work 可完成复杂的多步骤任务并交付可供审核的结果,Codex 则是用于开发、测试和审查软件的编码智能体。
本演练面向安全架构要求模型推理使用 AWS GovCloud (US) 身份、终端节点和区域控制机制的组织。它将 Codex 配置为在 us-gov-west-1 中通过 Amazon Bedrock Mantle 路由模型请求,并可使用 AWS Identity and Access Management (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 步:设置身份验证
在 us-gov-west-1 中选择已获批准的 AWS GovCloud (US) 账户以及可访问已获批准模型的 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.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 桌面应用如何运行,包括使用哪个模型提供程序(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 凭证。
关于作者
Virgil Ennes
Virgil 是 AWS 的高级合作伙伴解决方案架构师,也是 GenAI 和 AI/ML 专家。他帮助合作伙伴和客户将 OpenAI 技术与 AWS 服务集成,将创新想法转化为可扩展的实际业务解决方案。
Sean Phuphanich
Sean 是应用 AI 首席技术专家,并担任 ISV 细分领域负责人。Sean 专注于利用前沿 AI 解决行业的重大挑战,并优化帕累托曲线。Sean 同时也是开发与网络安全领域的专家,并担任 AWS 政府零信任加速器(ZTAG)的项目经理。
来源:AWS Machine Learning Blog · aws.amazon.com

