跳到正文
AWS Machine Learning Blog· Virgil Ennes·· 2 小時前精選AI 評分63

如何在 AWS GovCloud (US) 的 Amazon Bedrock 上設定 ChatGPT 桌面應用程式

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

AI 導讀

AWS 教學示範如何在 AWS GovCloud (US) 的 Amazon Bedrock 上設定 ChatGPT 桌面應用程式,並將 Codex 的模型推理請求路由至 us-gov-west-1 的 Amazon Bedrock Mantle。

推薦理由

文章把設定檔、AWS 身份驗證與網絡限制串成受控部署流程,並列出驗證、故障排查及回復步驟,方便機構按自身授權要求評估。

正文 · 繁體中文

ChatGPT 桌面應用程式現已可在 Amazon Bedrock 的 AWS GovCloud (US) 上使用,透過兩個部分提供存取 OpenAI 前沿模型的途徑。Work 可完成複雜的多步驟任務,並提供可供審閲的成果;Codex 則是用於開發、測試和審閲軟件的編碼 Agent。

本指南適用於安全架構要求模型推理使用 AWS GovCloud (US) 身份、端點及區域控制措施的機構。本指南會設定 Codex,讓模型請求經由 us-gov-west-1 中的 Amazon Bedrock Mantle 傳送,並可透過 AWS Identity and Access Management (IAM) 和現有的 AWS GovCloud (US) 網絡控制措施管理存取權限。

Codex 是 OpenAI 的編碼 Agent,支援以 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 檔案。

防止 ChatGPT 桌面應用程式的任務寫入設定檔、憑證來源、SSO 權杖快取及任何憑證輔助程式,同時允許已獲批准的身份驗證工具維護及更新憑證。

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分頁,畫面如下:

Codex CLI /status tab showing amazon-bedrock configured as the model provider

圖 1:Codex CLI 的 /status 分頁,確認 amazon-bedrock 為模型供應商

在 ChatGPT 桌面應用程式中,你亦可確認amazon-bedrock為模型供應商。

ChatGPT desktop app settings confirming amazon-bedrock as the model provider

圖 2:ChatGPT 桌面應用程式設定,顯示 amazon-bedrock 為模型供應商

疑難排解

應用程式提示需要 OpenAI 帳戶。確認requirements.toml和config.toml使用前表所示的確切位置和檔名,結束所有 ChatGPT 和 Codex 程序,然後重新啟動。必須先放置這些檔案,才能啟動應用程式。

系統回報 AWS GovCloud (US) 端點不受支援。向 OpenAI 確認桌面版或 app-server 的確切版本、端點及模型。單靠更改 URL 並不能確立是否支援。

使用了錯誤的 AWS 身分。檢查實際使用的憑證來源和具名設定檔。確認 Amazon Bedrock API 金鑰是否優先於設定檔使用。

缺少能力限制。重新啟動後,檢查完整的有效需求。API-only 登入設定不會套用能力政策。

回復與清理

如果驗證檢查失敗,請停止推行。將受影響的裝置還原至先前核準的政策和供應商設定,然後重新啟動 ChatGPT 桌面應用程式。撤銷任何臨時 AWS 憑證或 API 金鑰,並確認這些裝置已無法連線至 Amazon Bedrock。保留測試記錄,並在再次嘗試前清楚記錄失敗之處。

結論

在 AWS GovCloud (US) 上使用 Amazon Bedrock 的 ChatGPT 桌面應用程式,讓你能以受控方式使用 OpenAI 前沿模型和編碼輔助功能。推理過程會留在 AWS GovCloud (US) 區域內。透過驗證設定、確認已核准的 AWS 身分和端點,以及核實安全控制措施,你便可有信心地為擴大部署作好準備。這種做法既支援創新,也讓部署決策符合各機構對安全、授權和資料處理的要求。

準備好探索在 AWS GovCloud (US) 上透過 Amazon Bedrock 使用 ChatGPT 桌面應用程式和 Codex 嗎?從受控部署開始,驗證安全控制措施,並與安全團隊合作,為更廣泛採用作好準備。

相關資源


作者簡介

Virgil Ennes

Virgil Ennes

Virgil 是 AWS 的資深合作夥伴解決方案架構師,專門研究生成式 AI 及 AI/ML。他協助合作夥伴和客戶將 OpenAI 技術整合至 AWS 服務,把創新構想轉化為可擴展、適用於實際業務的解決方案。

Sean Phuphanich

Sean Phuphanich

Sean 是應用 AI 首席技術專家,亦是獨立軟件供應商(ISV)業務範疇主管。他致力運用前沿 AI 為業界解決重大挑戰,並優化帕累托曲線。Sean 亦是開發及網絡安全領域的主題專家,並擔任 AWS Zero Trust Accelerator for Government (ZTAG) 計劃經理。

來源:AWS Machine Learning Blog · aws.amazon.com