Konfigurasi Bedrock GovCloud
Konfigurasikan alur kerja Codex lokal dengan Amazon Bedrock di AWS GovCloud
Panduan ini membahas pengaturan keamanan untuk menjalankan Codex dengan AWS GovCloud dalam mode API. Tinjau pengaturan ini sebelum mengizinkan alur kerja sensitif.
Daftar periksa verifikasi · Referensi kapabilitas · Referensi konfigurasi Codex
Tanggung jawab bersama
AWS dan organisasi Anda berbagi tanggung jawab untuk mengamankan penerapan cloud. Tinjau model tanggung jawab bersama AWS dan dokumentasi layanan yang dipilih untuk mengidentifikasi kontrol penyedia serta tanggung jawab Anda. Instansi Anda bertanggung jawab untuk mengizinkan penggunaan layanan tersebut oleh sistemnya.
Untuk penerapan yang didukung, Codex mengirim permintaan inferensi ke endpoint Amazon Bedrock yang telah ditinjau menggunakan autentikasi AWS. Persyaratan ruang kerja ChatGPT dan RBAC tidak berlaku untuk jalur mode API ini. Konfigurasikan identitas AWS, akses layanan, dan stasiun kerja tempat Codex berjalan.
Konfigurasi stasiun kerja Anda, termasuk berkas kebijakan TOML Codex, mengatur akses berkas lokal, eksekusi perintah, akses jaringan, plugin, alat MCP, dan kapabilitas browser. Anda bertanggung jawab untuk mengamankan stasiun kerja, kredensial, repositori, catatan lokal, dan layanan pihak ketiga apa pun yang diaktifkan. Tetapkan penanggung jawab untuk kebijakan perangkat, kontrol jaringan, pembaruan, dan validasi penerapan.
AWS GovCloud dan pengaturan ini saja tidak membuktikan bahwa keseluruhan alur kerja Anda memenuhi persyaratan instansi. Tinjau secara spesifik layanan, model, Region, tujuan, dan aliran data dalam penerapan Anda, lalu dokumentasikan tanggung jawab Anda sebagai pelanggan dalam rencana keamanan sistem.
Sebelum memulai
Pastikan versi Codex Anda mendukung GovCloud.
| Persiapan | Yang Anda perlukan |
|---|---|
| Akses AWS | Akun, identitas IAM, dan mekanisme kredensial yang disetujui; model, Region GovCloud, dan endpoint yang diizinkan. |
| Paket penerapan | Rilis aplikasi desktop beserta app-server yang didukung, kebijakan persyaratan Bedrock yang telah ditinjau, tujuan autentikasi/penyimpanan/operasional yang disetujui, dan petunjuk pengembalian ke versi sebelumnya. |
| Pengelolaan perangkat | Akses ke konfigurasi sistem atau MDM, dengan kebijakan jaringan aplikasi/perangkat dan perintah agen yang telah ditinjau. |
1. Siapkan akses AWS
Pilih akun AWS dan identitas IAM yang disetujui, dengan akses ke model dan Region yang dipilih. Sediakan kredensial melalui mekanisme yang disetujui organisasi Anda. Jangan simpan kredensial dalam TOML.
Untuk profil bernama, lindungi konfigurasi, sumber kredensial, dan pembantu kredensialnya dari operasi penulisan oleh tugas.
2. Terapkan persyaratan perangkat
Terapkan requirements.toml Bedrock yang telah ditinjau melalui konfigurasi sistem atau MDM sebelum aplikasi diluncurkan atau autentikasi dilakukan. Sesi mode API tidak menerima persyaratan ruang kerja ChatGPT atau RBAC.
Gunakan persyaratan lengkap di bawah sebagai dasar penerapan Bedrock Anda yang didukung. Tinjau referensi kapabilitas, skills lokal, dan akses perintah untuk alur kerja yang disetujui.
Ikuti Konfigurasi terkelola untuk lokasi berkas sistem dan distribusi melalui MDM. Lindungi kebijakan terkelola dan verifikasi pengaturan yang berlaku pada host eksekusi dalam langkah 4.
requirements.toml yang direkomendasikan
Konfigurasi ini sengaja membatasi fitur. Konfigurasi ini direkomendasikan untuk GovCloud kecuali organisasi Anda memberlakukan pembatasan lain. Lihat referensi konfigurasi untuk perincian setiap pengaturan.
Tabel [windows] terakhir hanya berlaku untuk Windows. Pastikan lingkungan runtime yang disetujui mendukung 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 = true3. Konfigurasikan perutean penyedia dan kontrol jaringan
Tetapkan penyedia, model, Region, dan endpoint dalam config.toml atau pengaturan default terkelola, secara terpisah dari requirements.toml. Pengguna dapat mengubah pengaturan default penyedia kecuali kebijakan terkelola membatasinya.
config.toml yang direkomendasikan
Untuk penerapan Mantle yang telah dikonfirmasi di us-gov-west-1, ganti ID model dan profil dengan nilai yang disetujui. Jika endpoint atau Region yang disetujui berbeda, perbarui URL, Region, dan kebijakan jaringan secara bersamaan.
Pengaturan default ini menetapkan rute inferensi, menyelaraskannya dengan kebijakan persetujuan terkelola, serta menonaktifkan diagnostik opsional dan berbagi data. Pengguna dapat mengubah pengaturan default dalam batas persyaratan terkelola. Simpan kredensial AWS di luar berkas TOML. Tabel [windows] terakhir hanya berlaku untuk Windows dan harus sesuai dengan lingkungan runtime yang disetujui.
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"Autentikasi AWS tetap diperlukan saat requires_openai_auth = false. Bedrock Runtime dan gateway token bearer memerlukan konfigurasi penyedia dan autentikasi tersendiri yang disetujui; jangan gunakan kembali URL Mantle atau layanan penandatanganan ini.
Terapkan kontrol jaringan
Terapkan kebijakan jaringan aplikasi dan perangkat yang telah ditinjau, beserta kebijakan terpisah untuk perintah agen. Cakup inferensi, perolehan dan penyegaran kredensial, telemetri, penyimpanan, dan pembaruan. Merutekan inferensi melalui Bedrock tidak membuat semua lalu lintas aplikasi desktop hanya menuju AWS.
Kebijakan jaringan aplikasi mencakup permintaan aplikasi yang didukung dan app-server yang disertakan. Kebijakan ini terpisah dari kontrol sandbox agen dan bukan firewall sistem operasi. Lalu lintas pembaru bawaan, Git, SSH, aplikasi eksternal, pembantu kredensial, dan jaringan subproses memerlukan kontrol terpisah.
Contoh ini memilih pencarian cache dalam us-gov-west-1. Periksa ketersediaan regional dalam dokumentasi pencarian web AWS Bedrock, dan gunakan pencarian cache hanya jika penanggung jawab penerapan menyetujui layanan tersebut. Jika tidak, tetapkan web_search = "disabled".
4. Verifikasi penerapan
Mulai ulang aplikasi. Pada host eksekusi, pastikan persyaratan, identitas AWS, penyedia, model, Region, dan endpoint yang berlaku.
Jalankan alur kerja yang disetujui dengan data contoh.
Pastikan pembatasan kapabilitas yang diwajibkan berlaku. Uji pengaturan pengguna yang bertentangan, kredensial tidak valid atau kedaluwarsa, dan kegagalan perutean; konten tidak boleh dialihkan ke tujuan yang tidak disetujui sebagai cadangan.
Catat versi aplikasi desktop dan app-server, konfigurasi yang berlaku, hasil, serta prosedur pengembalian ke versi sebelumnya. Selesaikan pemeriksaan yang gagal atau terhambat sebelum memperluas akses.
Atasi masalah umum
| Masalah | Yang perlu diperiksa |
|---|---|
| Endpoint GovCloud tidak didukung | Konfirmasikan rilis aplikasi desktop/app-server, endpoint, dan model secara spesifik dengan OpenAI. Mengubah URL saja tidak memastikan dukungan. |
| Identitas AWS yang digunakan salah | Periksa sumber kredensial dan profil bernama yang berlaku. Periksa apakah API key Bedrock diprioritaskan dibandingkan profil. |
| Pembatasan kapabilitas tidak diterapkan | Periksa seluruh persyaratan yang berlaku setelah memulai ulang. Pengaturan masuk khusus API tidak menerapkan kebijakan kapabilitas. |
Referensi: Pembatasan kapabilitas Bedrock
Pengaturan ini menjelaskan profil penerapan awal Bedrock. Terapkan kebijakan lengkap yang disediakan untuk rilis yang didukung, termasuk kontrol jaringan AWS. Otomatisasi lokal dan suara waktu nyata memerlukan kontrol tambahan: in_app_local_automation dan realtime_conversation tidak ditetapkan dalam konfigurasi dasar di atas. Tinjau pembatasan ini untuk penerapan Anda.
Nilai di bawah merupakan persyaratan terkelola, bukan pengaturan default pengguna. Menetapkan fitur ke true tidak melewati pembatasan akun, ruang kerja, penyedia, atau sistem operasi. Jika suatu persyaratan tidak dicantumkan, pemeriksaan konfigurasi dan ketersediaan normal tetap berlaku.
| Kapabilitas | Pengaturan kebijakan | Perilaku dalam profil ini |
|---|---|---|
| Percakapan ChatGPT dan Quick Chat | [features] in_app_chat = false |
false menyembunyikan antarmuka percakapan ChatGPT dan Quick Chat. Pengaturan ini tidak menghentikan tugas cloud yang sudah ada atau menonaktifkan ChatGPT Voice. |
| Otomatisasi lokal | [features] in_app_local_automation = false |
false mencegah tugas terjadwal lokal dimulai, termasuk setelah memulai ulang. true mengizinkan penjadwalan lokal jika didukung oleh ketentuan lainnya. Jadwal cloud ditangani oleh kontrol terpisah. |
| Dikte, transkripsi, dan suara waktu nyata | in_app_dictation = false; realtime_conversation = false |
in_app_dictation mengontrol masukan ucapan ke teks dalam aplikasi desktop: false menonaktifkannya, sedangkan true mengizinkannya ketika dikte tersedia. realtime_conversation mengontrol /voice dalam Codex CLI. Menetapkannya ke false tidak memblokir secara menyeluruh ChatGPT Voice pada aplikasi desktop atau sesi suara app-server. |
| Browser dalam aplikasi dan otomatisasi browser | in_app_browser, browser_use, browser_use_external, browser_use_full_cdp_access = false |
in_app_browser mengontrol panel browser yang tersedia dalam aplikasi. browser_use memungkinkan agen menjelajahi web dan browser_use_external memperluas kemampuan tersebut ke sesi browser yang sudah masuk. browser_use_full_cdp_access mengizinkan debugging browser secara penuh. Menetapkan masing-masing ke false memblokir jalur tersebut; true tetap memerlukan pemeriksaan fitur, situs, dan persetujuan lainnya. |
| Kontrol komputer, Appshots, dan riwayat komputer | computer_use = false; allow_appshots = false tingkat teratas; chronicle = false |
computer_use = false memblokir kontrol aplikasi native, allow_appshots = false memblokir pengambilan gambar dan teks jendela. true mengizinkan masing-masing kemampuan dengan tetap tunduk pada kontrol lainnya. chronicle = false digunakan untuk menghentikan pengumpulan Computer History. |
| Memori lintas sesi | memories = false; external_agent_memory_import = false |
memories = false menonaktifkan pembuatan dan penggunaan memori lokal lintas percakapan. true mengizinkan keduanya, dengan tunduk pada memories.generate_memories dan memories.use_memories. external_agent_memory_import = false juga memblokir impor memori dari agen pemrograman lain, meskipun memori lokal diaktifkan. |
| Pembuatan gambar | image_generation = false |
false menonaktifkan alat pembuatan gambar bawaan; true membuatnya tersedia ketika klien, model, dan penyedia mendukungnya. Pengaturan ini tidak menonaktifkan masukan gambar atau akses ke berkas gambar yang sudah ada; validasi alur kerja tersebut dalam langkah 4. |
| Pencarian web | Ikuti kebijakan pencarian web untuk penerapan yang disetujui. | cached menggunakan cache pencarian; disabled menghapus alat pencarian web. live mengizinkan akses web langsung, sedangkan indexed mengatur akses eksternal melalui indeks pencarian. Persyaratan di atas hanya mengizinkan cached atau disabled. Pastikan dukungan penyedia dan tujuan yang disetujui dalam langkah 3. |
| Aplikasi, plugin, MCP, dan unduhan otomatis | apps = false; plugins = false; [mcp_servers] yang secara eksplisit kosong |
false menonaktifkan aplikasi dan plugin secara default. Daftar izin mcp_servers yang kosong memblokir semua MCP server yang dikonfigurasi. Aktifkan berdasarkan persyaratan dan postur keamanan khusus organisasi. |
| Persetujuan otomatis | allowed_approvals_reviewers = ["user"]; guardian_approval = false; guardianv2 = false |
["user"] membatasi peninjauan persetujuan hanya kepada pengguna. Mengizinkan auto_review dan fitur Guardian akan memungkinkan peninjauan otomatis jika didukung. Pengaturan peninjau mengontrol siapa yang meninjau permintaan dan approval_policy tetap menentukan tindakan mana yang memerlukan persetujuan. |
| Kontrol jarak jauh perangkat | allow_remote_control = false tingkat teratas |
false memblokir kontrol jarak jauh perangkat. true atau persyaratan yang tidak dicantumkan memungkinkan penyiapan kontrol jarak jauh normal jika didukung; keduanya tidak membuat koneksi dengan sendirinya. |
Kontrol penerapan tambahan
| Area | Kontrol yang diperlukan |
|---|---|
| Alur kerja cloud dan jarak jauh | Pastikan eksekusi dan jadwal cloud, SSH, berbagi, penyimpanan persisten Library, pengetahuan proyek yang dihosting, serta notifikasi yang dikirim melalui jaringan tetap tidak tersedia. Berlakukan kontrol ini secara terpisah; flag fitur individual tidak mencakup setiap titik masuk. |
| Telemetri | Tinjau analitik, umpan balik, OpenTelemetry, laporan crash, dan lalu lintas latar belakang secara terpisah. feedback.enabled = false tidak menonaktifkan setiap saluran telemetri. |
| Distribusi aplikasi | Untuk distribusi pembaruan aplikasi yang dikendalikan pelanggan, tetapkan in_app_updates = false di bawah [features] jika didukung, lalu mulai ulang. Kelola paket eksternal, penerapan patch, pencabutan, pengembalian ke versi sebelumnya, dan versi yang didukung secara terpisah. |