本文にスキップ
AI News HubLIVE
サイト内リライト6 分で読了

AWS GovCloud(米国)のAmazon BedrockでChatGPTデスクトップアプリを構成する

記事の要約

本記事では、AWS GovCloud(米国西部)環境でAmazon Bedrockを利用してChatGPTデスクトップアプリを展開・構成する方法を説明します。APIモードのサインイン、管理デバイスポリシー、名前付きAWSプロファイル、ネットワーク制限を組み合わせ、モデル推論を承認済みのBedrockエンドポイントのみにルーティングし、他の外部接続を無効化することで、セキュリティチームが本格利用前に検証できるようにします。

ソースAWS Machine Learning Blog著者: Virgil Ennes
AWS GovCloud(米国)のAmazon BedrockでChatGPTデスクトップアプリを構成する
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

ChatGPTデスクトップアプリは、AWS GovCloud(米国)のAmazon Bedrockを通じて利用できるようになりました。これにより、OpenAIのフロンティアモデルにアクセスできます。アプリは2つのコンポーネントで構成されます。Workは複雑な多段階タスクを完了し、レビュー可能な結果を提供します。Codexはソフトウェアの開発、テスト、レビューを行うコーディングエージェントです。セキュリティアーキテクチャ上、モデル推論にAWS GovCloud(米国)のID、エンドポイント、リージョン制御を使用する必要がある組織向けに、この記事は制御されたローカル展開の手順を説明します。

この構成では、Codexがモデルリクエストをus-gov-west-1のAmazon Bedrock Mantle経由でルーティングするように設定します。これにより、AWS Identity and Access Management(IAM)と既存のGovCloudネットワーク制御を用いてアクセスを管理できます。ユーザーはChatGPTデスクトップアプリ、Codex CLI、およびVisual Studio Code、JetBrains、XcodeとのIDE統合を通じて利用でき、モデル推論はAmazon Bedrock上のResponses APIを経由します。

データレジデンシー要件があるお客様の場合、処理は選択したAmazon Bedrock AWSリージョン内に留まります。料金はトークン単位で、シートライセンスや開発者ごとのコミットメントは不要です。ゼロデータ保持(ZDR)もサポートされています。この構成可能なモードでは、プロンプトと応答はAWSによって永続ストレージに書き込まれたり、モデルプロバイダーと共有されたりすることなく処理されます。これにより、機密情報を保護し、厳格なデータガバナンス、プライバシー、セキュリティ要件を満たすことができます。

この記事では、モデル推論をAWS GovCloud(米国西部)のAmazon Bedrockに送信するChatGPTデスクトップアプリの制御されたローカル展開を順を追って説明します。構成では、APIモードのサインイン、管理デバイスポリシー、名前付きAWSプロファイル、ネットワーク制限を使用します。これらの制限により、承認されたAmazon Bedrockエンドポイントへのアクセスのみが許可され、他の外部接続やネットワーク対応機能は無効になります。その結果、機関のセキュリティチームが本格利用を承認する前にテストおよび文書化できる展開が実現します。AWS GovCloud(米国)の使用とこのガイドの遵守だけでは、ワークロードが承認されるわけではありません。組織は、選択したモデル、AWSサービス、リージョン、エンドポイント、ワークステーション制御、リポジトリ、認証情報、データフローをシステムセキュリティ計画と認可プロセスに照らしてレビューする責任を負います。

ソリューションの概要として、ChatGPTデスクトップアプリは組織管理のコンピューター上でデスクトップアプリまたはCLIを介して実行されます。設定されたAWS認証情報を使用して、us-gov-west-1のAmazon Bedrock Mantleエンドポイントにリクエストを安全に送信します。この設定はAWSを直接使用するため、ChatGPTワークスペースのルールやユーザーロールでは制御されません。主なセキュリティ制御は、コンピューターのポリシーと使用されるAWS IDおよび権限です。

構成は主に3つのステップで構成されます。認証の設定、ChatGPTデスクトップアプリの構成ファイルの設定、そして起動・初期化・検証です。

前提条件として、ChatGPTデスクトップアプリのバージョンがAWS GovCloud(米国)のAmazon Bedrockをサポートしていることを確認します。承認されたAWS GovCloudアカウント、IAM IDと承認済み認証情報、承認されたモデル・リージョン・エンドポイントへのアクセス権と使用許可が必要です。また、requirements.tomlとconfig.tomlファイルを設定する必要があります。

ステップ1では認証を設定します。承認されたAWS GovCloudアカウントと、us-gov-west-1の承認済みモデルにアクセスできるIAM IDまたはロールを選択します。組織の承認済みメカニズムを通じて認証情報を取得します。この記事ではcodex-il5という名前付きプロファイルを使用します。認証情報、ベアラートークン、セッショントークン、その他の秘密情報はTOMLファイルに含めないでください。プロファイル構成、認証情報ソース、SSOトークンキャッシュ、認証情報ヘルパーをChatGPTデスクトップアプリのタスク書き込みから保護しつつ、承認された認証ツールが認証情報を維持・更新できるようにします。

ChatGPTデスクトップアプリは、Amazon Bedrock APIキーまたはAWS SDK認証情報チェーンの2つの認証経路をサポートします。認証情報チェーン経路では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認証情報ファイルに手動で保存する必要はありません。

ステップ2ではChatGPTデスクトップアプリの構成ファイルを設定します。config.tomlとrequirements.tomlの2つのファイルを作成する必要があります。重要:構成ファイルはアプリを起動する前に設定する必要があります。ファイルの場所はOSによって異なります。Windowsのユーザー設定は%USERPROFILE%\.codex\config.toml、管理者ポリシーは%ProgramData%\OpenAI\Codex\requirements.tomlです。LinuxとmacOSのユーザー設定は~/.codex/config.toml、管理者ポリシーは/etc/codex/requirements.tomlです。

requirements.tomlから始めます。これは管理者制御のルールファイルで、ユーザーが上書きできないセキュリティ制限を設定します。たとえば、ChatGPTデスクトップアプリが使用できる権限レベル、ツール、設定を制限します。サポートされているAWS GovCloud(米国)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、in_app_dictation、in_app_browser、browser_use、computer_use、image_generation、memories、pluginsなどは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"、"chat.openai.com"、"chatgpt.com"、"ab.chatgpt.com"、"platform.openai.com"、"auth.openai.com"、"gov.api.openai.com"、"gov.chatgpt.com"、"sdfedpreastus2.oaiusercontent.com"、"o33249.ingest.us.sentry.io"、"persistent.oaistatic.com"、"oaisidekickupdates.blob.core.windows.net"は"deny";[windows] allowed_sandbox_implementations = ["elevated"]、sandbox_private_desktop = true。

次に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が配置されていることを確認します。アプリを起動して設定を読み込み、amazon-bedrockがモデルプロバイダーとして表示されることを確認します。Codex CLIでは/statusタブでamazon-bedrockを確認でき、ChatGPTデスクトップアプリの設定でも同様に確認できます。

トラブルシューティング:アプリがOpenAIアカウントを要求する場合は、requirements.tomlとconfig.tomlが前述の表の正確な場所とファイル名を使用していることを確認し、すべてのChatGPTおよびCodexプロセスを終了して再起動します。ファイルはアプリ起動前に存在する必要があります。AWS GovCloud(米国)エンドポイントがサポートされていないと報告される場合は、正確なデスクトップまたはアプリサーバーのリリース、エンドポイント、モデルをOpenAIに確認してください。URLを変更するだけではサポートは確立されません。誤ったAWS IDが使用されている場合は、有効な認証情報ソースと名前付きプロファイルを検査し、Amazon Bedrock APIキーがプロファイルより優先されているか確認します。機能制限が欠落している場合は、再起動後に有効な要件全体を検査します。APIのみのサインイン設定では機能ポリシーは適用されません。

ロールバックとクリーンアップ:検証チェックが失敗した場合は展開を停止します。影響を受けたデバイスを以前に承認されたポリシーとプロバイダー設定に戻し、ChatGPTデスクトップアプリを再起動します。一時的なAWS認証情報やAPIキーを取り消し、それらのデバイスがAmazon Bedrockに接続できなくなったことを確認します。テストの記録を保持し、明確に文書化します。

要点と分析を開く

記事インテリジェンス

エンジニア中級

要点

  • ChatGPTデスクトップアプリはAWS GovCloud(米国)のAmazon Bedrockに対応し、データレジデンシーや厳格なセキュリティ要件を満たしながらOpenAIのフロンティアモデルを利用可能。
  • 構成の中心はAPIモードのサインイン、管理者制御のrequirements.tomlポリシー、ユーザーconfig.toml設定、名前付きAWSプロファイル、およびBedrock Mantleエンドポイントのみを許可するネットワークルール。
  • 他のOpenAIドメイン、テレメトリ、外部ネットワーク機能はすべて無効化され、推論とデータ処理は選択したGovCloudリージョン内に留まり、ゼロデータ保持(ZDR)もサポート。
  • 組織はモデル、リージョン、エンドポイント、ワークステーション制御、データフローをシステムセキュリティ計画と認可プロセスに照らしてレビューする責任を負う。

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。