Bedrock GovCloud の設定

AWS GovCloud の Amazon Bedrock を使用するローカル Codex ワークフローを設定します

このガイドでは、API モードで AWS GovCloud を使用して Codex を実行するためのセキュリティ設定について説明します。機密情報を扱うワークフローを承認する前に、これらの設定を確認してください。

検証チェックリスト · 機能リファレンス · Codex 設定リファレンス

責任共有

AWS とお客様の組織は、クラウドデプロイメントのセキュリティに対する責任を共有します。AWS 責任共有モデルと選択したサービスのドキュメントを確認し、プロバイダー側の制御とお客様の責任を明確にしてください。所属機関は、自機関のシステムによるこれらのサービスの使用を認可する責任を負います。

サポートされるデプロイメントでは、Codex は AWS 認証を使用して、レビュー済みの Amazon Bedrock エンドポイントに推論リクエストを送信します。ChatGPT ワークスペースの要件と RBAC は、この API モードの経路には適用されません。AWS の ID、サービスへのアクセス、および Codex を実行するワークステーションを設定してください。

Codex の TOML ポリシーファイルを含むワークステーションの設定は、ローカルファイルへのアクセス、コマンド実行、ネットワークアクセス、プラグイン、MCP ツール、ブラウザー機能を制御します。ワークステーション、認証情報、リポジトリ、ローカルの記録、有効化したサードパーティーサービスの保護は、お客様の責任です。デバイスポリシー、ネットワーク制御、更新、デプロイメントの検証について、それぞれ責任者を割り当ててください。

AWS GovCloud とこれらの設定だけでは、ワークフロー全体が所属機関の要件を満たすことを証明できません。デプロイメントで実際に使用するサービス、モデル、リージョン、送信先、データフローを確認し、システムセキュリティ計画にお客様側の責任を文書化してください。

始める前に

使用する Codex のバージョンが GovCloud をサポートしていることを確認してください。

準備項目 必要なもの
AWS アクセス 承認済みのアカウント、IAM ID、認証情報の仕組み、および許可されたモデル、GovCloud リージョン、エンドポイント。
デプロイメントパッケージ サポート対象のデスクトップアプリと同梱 app-server のリリース、レビュー済みの Bedrock 要件ポリシー、承認済みの認証・ストレージ・運用の接続先、およびロールバック手順。
デバイス管理 システム設定または MDM へのアクセス、およびレビュー済みのアプリケーション・デバイス用ネットワークポリシーとエージェントコマンド用ネットワークポリシー。

1. AWS アクセスを準備する

選択したモデルとリージョンにアクセスできる、承認済みの AWS アカウントと IAM ID を選択します。組織で承認された仕組みを通じて認証情報を用意してください。認証情報を TOML に含めないでください。

名前付きプロファイルを使用する場合は、その設定、認証情報の取得元、認証情報ヘルパーをタスクによる書き込みから保護してください。

2. デバイス要件を配布する

アプリの起動や認証を行う前に、システム設定または MDM を通じて、レビュー済みの Bedrock requirements.toml を配布してください。API モードのセッションには、ChatGPT ワークスペースの要件や RBAC は適用されません。

サポート対象の Bedrock デプロイメントのベースラインとして、以下の要件全体を使用してください。承認されたワークフローについて、機能リファレンス、ローカルスキル、コマンドへのアクセスを確認してください。

システムファイルの配置場所と MDM による配布については、管理対象の設定に従ってください。管理対象ポリシーを保護し、ステップ 4で実行ホスト上の実効設定を確認してください。

推奨の requirements.toml

この設定は、意図的に機能を制限します。組織で別の制限を適用していない限り、GovCloud ではこの設定を推奨します。各設定の詳細については、設定リファレンスを参照してください。

最後の [windows] テーブルは Windows にのみ適用されます。承認済みのランタイムが sandbox_private_desktop をサポートしていることを確認してください。

requirements.toml

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 destinations

[application.network]
enabled = true

[application.network.domains]
"bedrock-mantle.us-gov-west-1.api.aws" = "allow"

# OpenAI / ChatGPT, including auth and telemetry.

"api.openai.com" = "deny"
"chat.openai.com" = "deny"
"chatgpt.com" = "deny"
"ab.chatgpt.com" = "deny"
"platform.openai.com" = "deny"
"auth.openai.com" = "deny"

# FedRAMP OpenAI endpoints are also outside this Bedrock profile.

"gov.api.openai.com" = "deny"
"gov.chatgpt.com" = "deny"
"sdfedpreastus2.oaiusercontent.com" = "deny"

# Crash reporting and distribution.

"o33249.ingest.us.sentry.io" = "deny"
"persistent.oaistatic.com" = "deny"
"oaisidekickupdates.blob.core.windows.net" = "deny"

# Windows only

[windows]
allowed_sandbox_implementations = ["elevated"]
sandbox_private_desktop = true

3. プロバイダーへのルーティングとネットワーク制御を設定する

config.toml または管理対象のデフォルト設定で、プロバイダー、モデル、リージョン、エンドポイントを設定します。これらは requirements.toml とは別に設定してください。管理対象ポリシーで制限しない限り、ユーザーはプロバイダーのデフォルト設定を変更できます。

推奨の config.toml

us-gov-west-1 で確認済みの Mantle デプロイメントを使用する場合は、モデル ID とプロファイルを承認済みの値に置き換えてください。承認済みのエンドポイントやリージョンが異なる場合は、URL、リージョン、ネットワークポリシーをまとめて更新してください。

これらのデフォルト設定は、推論経路を設定し、管理対象の承認ポリシーに合わせ、任意の診断とデータ共有を無効にします。ユーザーは管理対象の要件の範囲内でデフォルト設定を変更できます。AWS 認証情報は TOML ファイルの外部で管理してください。最後の [windows] テーブルは Windows にのみ適用され、承認済みのランタイムと一致している必要があります。

config.toml

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 only

[windows]
sandbox = "elevated"

requires_openai_auth = false の場合も、AWS 認証は必要です。Bedrock Runtime とベアラートークンゲートウェイには、それぞれ承認済みのプロバイダー設定と認証設定が必要です。この Mantle URL や署名サービスを再利用しないでください。

ネットワーク制御を適用する

レビュー済みのアプリケーション用およびデバイス用ネットワークポリシーに加え、エージェントコマンド用の独立したポリシーを適用してください。推論、認証情報の取得と更新、テレメトリ、ストレージ、更新を対象に含めます。推論を Bedrock 経由でルーティングしても、デスクトップのすべての通信が AWS のみに限定されるわけではありません。

アプリケーションのネットワークポリシーは、サポート対象のアプリケーションと同梱 app-server のリクエストを対象とします。エージェントのサンドボックス制御とは別のものであり、オペレーティングシステムのファイアウォールではありません。ネイティブアップデーターの通信、Git、SSH、外部アプリ、認証情報ヘルパー、サブプロセスのネットワーク通信には、別途制御が必要です。

この例では、us-gov-west-1 でキャッシュ検索を選択しています。AWS Bedrock のウェブ検索ドキュメントでリージョンごとの提供状況を確認し、デプロイメントの責任者がサービスを承認した場合にのみキャッシュ検索を使用してください。それ以外の場合は、web_search = "disabled" を設定してください。

4. デプロイメントを検証する

  1. アプリを再起動します。実行ホスト上で、実効要件、AWS ID、プロバイダー、モデル、リージョン、エンドポイントを確認します。

  2. サンプルデータを使用して、承認済みのワークフローを実行します。

  3. 必要な機能制限が適用されていることを確認します。競合するユーザー設定、無効または期限切れの認証情報、ルーティングの失敗をテストしてください。コンテンツの送信先が、未承認の送信先にフォールバックしてはなりません。

デスクトップアプリと app-server のバージョン、実効設定、結果、ロールバック手順を記録してください。アクセス対象を拡大する前に、失敗した確認項目や実施できなかった確認項目を解決してください。

よくある問題のトラブルシューティング

問題 確認事項
GovCloud エンドポイントがサポートされていない デスクトップアプリと app-server の正確なリリース、エンドポイント、モデルを OpenAI に確認してください。URL を変更するだけでは、サポートされていることにはなりません。
誤った AWS ID が使用される 実際に適用されている認証情報の取得元と名前付きプロファイルを調べてください。Bedrock API key がプロファイルより優先されていないか確認してください。
機能制限が適用されていない 再起動後に実効要件全体を調べてください。API 専用サインインの設定では、機能ポリシーは適用されません。

リファレンス: Bedrock の機能制限

これらの設定は、Bedrock の初期デプロイメントプロファイルを示しています。AWS のネットワーク制御を含め、サポート対象のリリース向けに提供されるポリシー全体を適用してください。ローカル自動化とリアルタイム音声には追加の制御が必要です。上記のベースラインでは、in_app_local_automation と realtime_conversation は設定されていません。デプロイメントに合わせてこれらの制限を確認してください。

以下の値は管理対象の要件であり、ユーザーのデフォルト設定ではありません。機能を true に設定しても、アカウント、ワークスペース、プロバイダー、オペレーティングシステムの制限を回避することはできません。要件を省略した場合も、通常の設定チェックと利用可否のチェックは引き続き適用されます。

機能 ポリシー設定 このプロファイルでの動作
ChatGPT の会話と Quick Chat [features] in_app_chat = false false は、ChatGPT の会話と Quick Chat のインターフェースを非表示にします。この設定は、既存のクラウドタスクを停止したり、ChatGPT Voice を無効にしたりするものではありません。
ローカル自動化 [features] in_app_local_automation = false false は、再起動後も含めてローカルのスケジュール済みタスクの開始を防ぎます。true は、その他の条件でサポートされている場合にローカルでのスケジュール設定を許可します。クラウドのスケジュールは、別の制御で管理されます。
音声入力、文字起こし、リアルタイム音声 in_app_dictation = false; realtime_conversation = false in_app_dictation は、デスクトップアプリの音声からテキストへの入力を制御します。false はこれを無効にし、true は音声入力が利用可能な場合にこれを許可します。realtime_conversation は、Codex CLI の /voice を制御します。これを false に設定しても、デスクトップの ChatGPT Voice や app-server の音声セッションが一律にブロックされるわけではありません。
アプリ内ブラウザーとブラウザー自動化 in_app_browser, browser_use, browser_use_external, browser_use_full_cdp_access = false in_app_browser は、アプリ内で利用できるブラウザーペインを制御します。browser_use はエージェントによるブラウジングを許可し、browser_use_external はその範囲をサインイン済みのブラウザーセッションに拡張します。browser_use_full_cdp_access は、ブラウザーの完全なデバッグを許可します。それぞれを false に設定すると、その経路がブロックされます。true の場合も、他の機能、サイト、承認のチェックが引き続き必要です。
コンピューター操作、Appshots、コンピューター履歴 computer_use = false; 最上位の allow_appshots = false; chronicle = false computer_use = false はネイティブアプリの操作をブロックし、allow_appshots = false はウィンドウの画像とテキストのキャプチャをブロックします。true は、それぞれの他の制御に従って各機能を許可します。chronicle = false は、Computer History の収集を停止するために使用します。
セッション間のメモリ memories = false; external_agent_memory_import = false memories = false は、チャット間でのローカルメモリの生成と使用を無効にします。true は、memories.generate_memories と memories.use_memories に従って両方を許可します。external_agent_memory_import = false は、ローカルメモリが有効な場合でも、他のコーディングエージェントからのメモリのインポートをブロックします。
画像生成 image_generation = false false は組み込みの画像生成ツールを無効にします。true は、クライアント、モデル、プロバイダーがサポートしている場合にこのツールを利用可能にします。このスイッチは、画像入力や既存の画像ファイルへのアクセスを無効にするものではありません。これらのワークフローは、ステップ 4で検証してください。
ウェブ検索 承認済みデプロイメントのウェブ検索ポリシーに従ってください。 cached は検索キャッシュを使用し、disabled はウェブ検索ツールを削除します。live はライブのウェブアクセスを許可し、indexed は検索インデックスを通じて外部アクセスを制御します。上記の要件では、cached または disabled のみが許可されます。ステップ 3でプロバイダーのサポート状況と承認済みの送信先を確認してください。
アプリ、プラグイン、MCP、自動ダウンロード apps = false; plugins = false; 明示的に空にした [mcp_servers] false は、アプリとプラグインをデフォルトで無効にします。空の mcp_servers 許可リストは、設定済みのすべての MCP server をブロックします。組織固有の要件とセキュリティ態勢に基づいて有効にしてください。
自動承認 allowed_approvals_reviewers = ["user"]; guardian_approval = false; guardianv2 = false ["user"] は、承認のレビューをユーザーのみに制限します。auto_review と Guardian 機能を許可すると、サポートされている場合に自動レビューが可能になります。レビュー担当者の設定はリクエストを誰がレビューするかを制御し、どの操作に承認が必要かは引き続き approval_policy が決定します。
デバイスのリモート操作 最上位の allow_remote_control = false false は、デバイスのリモート操作をブロックします。true を指定するか要件を省略すると、サポートされている場合に通常のリモート操作のセットアップが許可されます。どちらの場合も、それだけで接続が確立されることはありません。

追加のデプロイメント制御

領域 必要な制御
クラウドおよびリモートのワークフロー クラウドでの実行とスケジュール、SSH、共有、Library への永続保存、ホストされたプロジェクトナレッジ、ネットワーク経由の通知を利用できない状態に維持してください。個々の機能フラグですべての入口を網羅できるわけではないため、これらは別途制御してください。
テレメトリ 分析、フィードバック、OpenTelemetry、クラッシュレポート、バックグラウンド通信を個別に確認してください。feedback.enabled = false は、すべてのテレメトリチャネルを無効にするものではありません。
アプリの配布 お客様の管理下でアプリの更新を配布する場合は、サポートされている環境で in_app_updates = false を [features] の下に設定してから再起動してください。外部パッケージ、パッチ適用、失効、ロールバック、サポート対象バージョンは別途管理してください。