Dokumen ini menunjukkan kepada administrator dan arsitek keamanan cara men-deploy dan mengonfigurasi gateway perusahaan untuk Google Antigravity.
Organisasi perusahaan di industri yang diatur sering kali mempertahankan kontrol jaringan yang ketat yang mencegah workstation developer membuat koneksi internet langsung ke layanan eksternal atau menyelesaikan login Google interaktif berbasis browser.
Antigravity Enterprise Gateway memungkinkan Anda merutekan traffic Antigravity melalui gateway perusahaan yang dioperasikan organisasi Anda sebelum meneruskan permintaan inferensi ke Google. Arsitektur ini merutekan permintaan inferensi model melalui gateway Anda dan menghapus login interaktif sekaligus mempertahankan atribusi penagihan kontrak Gemini Enterprise Anda.
Ringkasan
Saat Anda mengonfigurasi Antigravity Enterprise Gateway, workstation developer akan berkomunikasi dengan gateway perusahaan, bukan terhubung langsung ke Google. Developer melakukan autentikasi ke gateway dengan kunci API yang dikeluarkan oleh gateway Anda, sehingga Antigravity tidak meminta mereka untuk login ke Akun Google individual. Gateway Anda kemudian menggunakan akun layananGoogle Cloud terpusat untuk mengautentikasi dan meneruskan permintaan Antigravity ke Google.
Antigravity otomatis melampirkan header atribusi klien untuk mengidentifikasi perintah chat developer dan alur kerja agen. Untuk memastikan penggunaan model ini dikenali dan ditagih berdasarkan perjanjian Gemini Enterprise yang ada di organisasi Anda, bukan ditagih sebagai konsumsi API mentah yang tidak berkomitmen, gateway Anda harus mempertahankan dan meneruskan header Antigravity ini ke Google:
User-Agent: Antigravity otomatis memunculkan header identifikasi:User-Agent: antigravity/VERSION (aidev_client; auth_method=gateway)X-Goog-Api-Client: Mengidentifikasi runtime klien Antigravity dan telemetri SDK sehingga Google mengatribusikan aktivitas tersebut ke deployment perusahaan berlisensi Anda.
Alat dan versi yang didukung
Antigravity Enterprise Gateway mendukung alat developer AI berikut:
| Alat | Versi minimum | Platform yang didukung |
|---|---|---|
| Aplikasi Antigravity |
|
macOS, Windows, dan Linux |
Antigravity CLI (agy) |
|
macOS dan Linux |
| Antigravity untuk IDE |
|
Visual Studio Code, Visual Studio, JetBrains IDE, dan Zed. Untuk mengetahui informasi selengkapnya, lihat Ekstensi Antigravity IDE. |
Sebelum memulai
Sebelum men-deploy gateway, pastikan Anda memiliki hal berikut:
- Project Google Cloud: Project Google Cloud dengan akses ke
Gemini Enterprise Agent Platform (sebelumnya Vertex AI)
dan Gemini Enterprise Agent Platform API
(
aiplatform.googleapis.com) diaktifkan. Men-deploy gateway perusahaan tidak memerlukan akun Penagihan Cloud dengan invoice. Siapa pun yang memiliki akses ke Gemini Enterprise Agent Platform dapat menggunakan gateway. - Akun layanan: Akun layanan Google Cloud di project Anda yang diberi peran IAM
roles/aiplatform.user. Gateway Anda menggunakan akun layanan ini untuk mengautentikasi permintaan Antigravity ke Google Cloud. - Log audit Akses Data: Untuk memverifikasi atribusi penagihan di Cloud Logging, aktifkan log audit Akses Data untuk Gemini Enterprise Agent Platform API. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan log audit Akses Data.
- Versi klien yang didukung: Developer harus menggunakan versi yang didukung dari setiap alat Antigravity. Untuk mengetahui informasi selengkapnya, lihat Alat Antigravity yang didukung.
Men-deploy gateway perusahaan
Anda dapat menghosting gateway perusahaan menggunakan platform dalam container atau terkelola, seperti Cloud Run, Envoy, LiteLLM, atau Apigee.
Gateway Anda harus memenuhi tiga persyaratan infrastruktur:
Mempertahankan header atribusi klien: Teruskan header klien yang masuk tanpa perubahan ke Google, termasuk
User-Agent,X-Goog-Api-Client, dan header kustom apa pun yang dikonfigurasi digateway.customHeaders(sepertiX-Cost-Center).Klien antigravitasi tidak mengirimkan informasi project Google Cloud dalam mode gateway. Jika gateway Anda meneruskan permintaan ke project selain project yang berisi akun layanan gateway, konfigurasikan gateway Anda untuk memasukkan header
X-Goog-User-Projectdengan project ID target untuk atribusi penagihan dan kuota.Mendukung streaming tanpa buffering: Segera kosongkan potongan Server-Sent Events (SSE) saat memproses permintaan streaming (
:streamGenerateContent?alt=sse). Jangan melakukan buffering potongan di lapisan gateway.Mengonfirmasi endpoint telemetri: Berikan respons dengan HTTP
200 OK({}) ke panggilan metrik latar belakang (POST /v1beta:*), atau teruskan ke sistem informasi keamanan dan manajemen peristiwa (SIEM) Anda.
Jalur permintaan wajib
Gateway Anda harus merutekan jalur inferensi berikut. Jalur bersifat relatif terhadap URL gateway Anda. Misalnya, permintaan streaming ke
https://gateway.cymbal.com menggunakan
https://gateway.cymbal.com/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse.
- Inferensi streaming:
POST /v1beta/models/MODEL_ID:streamGenerateContent?alt=sse - Inferensi unary:
POST /v1beta/models/MODEL_ID:generateContent
Gateway Anda juga harus menerima jalur Gemini Enterprise Agent Platform lengkap yang setara:
- Inferensi streaming:
POST /v1beta1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_ID:streamGenerateContent?alt=sse - Inferensi unary:
POST /v1beta1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_ID:generateContent
Isi permintaan menggunakan skema JSON generateContent standar (contents,
generationConfig, safetySettings, dan systemInstruction).
Protokol kabel yang didukung
Antigravity Enterprise Gateway mendukung dua protokol kabel untuk permintaan inferensi:
- Protokol Gemini (
genai): Protokol kabel default. Antigravity mengirimkan permintaan inferensi yang diformat dalam skemagenerateContentGoogle ke endpointPOST /v1beta/models/...yang dijelaskan sebelumnya. - Protokol wire OpenAI (
openai): Saat Anda menetapkangateway.wireProtocolkeopenai(atau menetapkanAGY_LLM_GATEWAY_WIRE_PROTOCOL=openai), Antigravity memformat permintaan inferensi dalam protokol Chat Completions OpenAI dan mengirimkannya kePOST /v1/chat/completions.
Mengautentikasi permintaan ke gateway Anda
Antigravity melakukan autentikasi ke gateway Anda dengan kunci API yang
dikeluarkan oleh gateway Anda. Antigravity mengirimkan kunci dari
gateway.apiKey (atau variabel lingkungan AGY_LLM_GATEWAY_API_KEY) sebagai
token pemilik di header Authorization:
Authorization: Bearer GATEWAY_API_KEY
Antigravity tidak mendapatkan kredensial Google Cloud , token OAuth, atau sertifikat klien atas nama developer. Gateway Anda harus mengautentikasi setiap permintaan dan menolak permintaan yang tidak menyertakan kunci yang valid.
Karena kunci API disimpan di workstation developer, gabungkan dengan kontrol tingkat jaringan:
- Menjaga gateway tetap pribadi: Ekspos gateway hanya di jaringan perusahaan Anda, misalnya melalui Load Balancer Aplikasi internal yang dijangkau workstation melalui Cloud VPN atau Cloud Interconnect. Jangan berikan endpoint publik ke gateway.
- Batasi perangkat yang dapat terhubung: Izinkan koneksi hanya dari workstation terkelola, misalnya dengan menggunakan aturan firewall, proxy akses jaringan zero-trust, atau pemeriksaan postur perangkat.
- Melindungi dan merotasi kunci: Simpan kunci di Secret Manager, validasi kunci pada setiap permintaan, dan rotasi kunci secara rutin. Untuk mengatribusikan penggunaan ke setiap developer, berikan kunci terpisah kepada setiap developer.
Untuk mengetahui informasi selengkapnya, lihat Pertimbangan keamanan.
Menghubungkan gateway Anda ke Gemini Enterprise Agent Platform
Gateway Anda memanggil Gemini Enterprise Agent Platform API menggunakan akun layanan Google Cloud . Anda dapat membangun gateway di gateway API terkelola seperti Apigee, atau men-deploy gateway seperti Envoy atau LiteLLM di infrastruktur Anda sendiri.
Aktifkan API yang diperlukan:
gcloud services enable \ aiplatform.googleapis.com \ secretmanager.googleapis.com \ --project=PROJECT_IDGanti
PROJECT_IDdengan project ID Google Cloud Anda.Buat akun layanan untuk gateway dan berikan peran
roles/aiplatform.user:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --project=PROJECT_ID \ --display-name="Antigravity Enterprise Gateway" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"Ganti
SERVICE_ACCOUNT_NAMEdengan nama untuk akun layanan, sepertiagy-gateway-sa.Buat kunci API gateway, simpan di Secret Manager, dan izinkan akun layanan membacanya:
openssl rand -base64 32 | tr -d '\n' | gcloud secrets create SECRET_NAME \ --project=PROJECT_ID \ --data-file=- gcloud secrets add-iam-policy-binding SECRET_NAME \ --project=PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"Ganti
SECRET_NAMEdengan nama untuk secret, sepertiagy-gateway-api-key. Anda mendistribusikan kunci ini ke workstation sebagaigateway.apiKeydiadmin_settings.json.Konfigurasikan gateway Anda untuk melakukan hal berikut:
- Lakukan autentikasi ke Gemini Enterprise Agent Platform sebagai akun layanan.
- Membaca kunci API dari Secret Manager dan menolak permintaan yang tidak menyediakannya.
- Izinkan permintaan berjalan setidaknya selama 60 menit agar respons streaming yang panjang tidak terputus.
Untuk mengonfirmasi bahwa gateway berfungsi sebelum Anda mengonfigurasi workstation, lihat Menguji gateway secara langsung.
Men-deploy setelan menggunakan MDM
Untuk mengonfigurasi workstation developer secara terpusat, deploy file konfigurasi admin_settings.json menggunakan sistem pengelolaan perangkat seluler (MDM) Anda, seperti Jamf, Microsoft Intune, Ansible, atau MDM Google Workspace.
Antigravity membaca admin_settings.json dari jalur sistem operasi berikut:
- macOS:
/Library/Application Support/Antigravity/admin_settings.json - Linux:
/etc/antigravity/admin_settings.json - Windows:
%ProgramData%\Antigravity\admin_settings.json
Untuk men-deploy file setelan, lakukan hal berikut:
- Buat file
admin_settings.jsondengan URL gateway, kunci API, dan model yang disetujui. Untuk contoh, lihat Contoh konfigurasi. Di sistem MDM, buat paket, kebijakan, atau skrip yang menyalin file ke jalur untuk setiap sistem operasi target. Jalankan dengan hak istimewa administrator sehingga file dimiliki oleh akun administrator, dan developer dapat membaca, tetapi tidak dapat mengubahnya. Misalnya, skrip MDM Anda dapat menjalankan perintah berikut:
macOS
Di shell, jalankan perintah berikut sebagai administrator:
sudo mkdir -p "/Library/Application Support/Antigravity" sudo install -m 644 -o root -g wheel admin_settings.json \ "/Library/Application Support/Antigravity/admin_settings.json"
Linux
Di shell, jalankan perintah berikut sebagai administrator:
sudo install -D -m 644 -o root -g root admin_settings.json \ /etc/antigravity/admin_settings.json
Windows
Di PowerShell, jalankan perintah berikut sebagai administrator:
$dir = Join-Path $env:ProgramData "Antigravity" # Remove any folder that a non-admin created first, so they can't keep ownership. if (Test-Path $dir) { Remove-Item -Recurse -Force $dir } New-Item -ItemType Directory -Path $dir | Out-Null # Administrators own the folder; only admins and SYSTEM can write; users can read. icacls $dir /setowner "*S-1-5-32-544" icacls $dir /inheritance:r /grant:r "*S-1-5-32-544:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F" "*S-1-5-32-545:(OI)(CI)RX" Copy-Item admin_settings.json (Join-Path $dir "admin_settings.json")
Perintah ini membuat folder dan file dapat dibaca oleh semua pengguna dan hanya dapat ditulis oleh administrator.
Tetapkan paket atau kebijakan ke perangkat atau grup perangkat yang menggunakan Antigravity.
Mulai ulang Antigravity di workstation agar memuat setelan baru.
Untuk mengonfirmasi bahwa workstation terhubung ke gateway, lihat Memverifikasi koneksi klien.
Prioritas setelan
Antigravity membaca setelan gateway dari tiga sumber. Jika setelan yang sama ditentukan di lebih dari satu sumber, sumber dengan prioritas lebih tinggi akan menang:
- File setelan administrator (tertinggi):
admin_settings.jsondi-deploy oleh sistem MDM Anda. - Variabel lingkungan:
AGY_LLM_GATEWAY_*variabel yang ditetapkan di workstation. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan Antigravity ke Gateway Enterprise. - File setelan pengguna (terendah):
~/.antigravity/settings.jsondi folder beranda developer.
Setelan digabungkan kolom demi kolom. Misalnya, jika admin_settings.json menetapkan
URL gateway, tetapi bukan kunci API, Antigravity akan menggunakan kunci API
dari variabel lingkungan. Karena file setelan administrator memiliki prioritas tertinggi, developer tidak dapat mengganti nilai yang Anda tetapkan di dalamnya.
Contoh konfigurasi
Contoh file admin_settings.json berikut mengonfigurasi
Antigravity untuk merutekan traffic AI melalui gateway perusahaan
di https://gateway.cymbal.com, melampirkan header pusat biaya perusahaan, dan
membatasi pemilihan model ke model yang disetujui:
{
"gateway": {
"enabled": true,
"url": "https://gateway.cymbal.com",
"apiKey": "GATEWAY_API_KEY",
"wireProtocol": "genai",
"customHeaders": {
"X-Cost-Center": "Platform-Engineering",
"X-Corporate-BU": "DevTools"
}
},
"caCertPath": "/etc/ssl/certs/cymbal-root-ca.pem",
"models": {
"defaultModelId": "gemini-3.8-flash",
"list": [
{ "modelId": "gemini-3.8-flash" },
{ "modelId": "gemini-3.7-flash" },
{ "modelId": "gemini-3.1-pro-preview" }
]
}
}
Contoh konfigurasi ini menentukan setelan berikut:
gateway.enabled: Mengaktifkan mode pemilihan rute gateway. Jika disetel ketrue, Antigravity akan mengirimkan semua permintaan inferensi ke gateway Anda, bukan mengirimkannya langsung ke Google, dan tidak akan meminta developer untuk login dengan Akun Google.gateway.url: Endpoint HTTPS gateway perusahaan Anda (https://gateway.cymbal.com).gateway.apiKey: Kunci API (GATEWAY_API_KEY) yang diperlukan gateway Anda untuk mengizinkan permintaan. Gateway Anda yang menerbitkan kunci ini, bukan Google. Antigravity mengirimkannya sebagai token pemilik di headerAuthorization.gateway.wireProtocol: Protokol kabel API. Nilai yang didukung adalah:genai(default): Menggunakan protokol Gemini API (POST /v1beta/models/...).openai: Menggunakan protokol jaringan OpenAI Chat Completions (POST /v1/chat/completions).
gateway.customHeaders: Header HTTP kustom (X-Cost-CenterdanX-Corporate-BU) yang ditambahkan Antigravity ke setiap permintaan. Gunakan header ini untuk mengatribusikan penggunaan ke tim atau pusat biaya di log gateway atau SIEM Anda.caCertPath: Jalur absolut ke paket root certificate authority (CA) perusahaan Anda. Setelan ini memastikan workstation memercayai sertifikat TLS internal gateway Anda.models.defaultModelId: Model yang dipilih Antigravity secara default (sepertigemini-3.8-flash).models.list: Model yang disetujui yang dapat dipilih developer di Antigravity. Setiap entri memerlukanmodelIdyang cocok dengan model yang disajikan oleh gateway Anda. Untuk mengetahui daftar model Google yang didukung, lihat Model yang didukung.
Pertimbangan keamanan
Saat Anda merencanakan autentikasi dan atribusi gateway, pertimbangkan hal berikut:
- Header yang disediakan klien tidak tepercaya: Developer mengontrol workstation mereka sendiri, sehingga mereka dapat mengubah header yang ditetapkan oleh variabel lingkungan (
AGY_LLM_GATEWAY_HEADERS) atau dalam file setelan pengguna. Jangan mengandalkan header ini untuk logging audit yang penting bagi keamanan atau atribusi penagihan. - Sematkan header menggunakan MDM: Untuk mencegah developer mengganti
header atribusi atau kebijakan, tentukan header tersebut di
gateway.customHeadersdiadmin_settings.json. Nilai diadmin_settings.jsonlebih diutamakan daripada variabel lingkungan dan setelan pengguna. - Melakukan autentikasi di lapisan jaringan atau lapisan transpor: Untuk memverifikasi identitas developer atau menerapkan atribusi pusat biaya yang ketat, autentikasi traffic di lapisan jaringan atau lapisan transpor, seperti dengan mutual TLS (mTLS), single sign-on (SSO) tingkat proxy, atau mikrosegmentasi jaringan. Jangan hanya mengandalkan kunci API atau header HTTP.
Memverifikasi deployment
Sebelum men-deploy file konfigurasi ke workstation developer, pastikan gateway perusahaan Anda merutekan traffic dengan benar dan informasi atribusi sampai ke Cloud Logging.
Menguji gateway secara langsung
Uji endpoint gateway perusahaan Anda secara langsung menggunakan curl sebelum menguji di workstation developer. Menguji gateway secara langsung akan mengonfirmasi bahwa perutean jaringan, validasi sertifikat TLS, autentikasi, dan streaming Server-Sent Events (SSE) tanpa buffering berfungsi secara independen dari Antigravity.
Contoh perintah curl berikut mengirimkan permintaan streaming langsung ke endpoint gateway Anda:
curl -N -X POST "https://gateway.cymbal.com/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse" \
-H "Authorization: Bearer GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-H "User-Agent: antigravity/1.2.15 (aidev_client; auth_method=gateway)" \
-d '{"contents": [{"role": "user", "parts": [{"text": "Reply with PONG"}]}]}'
Dalam perintah ini:
-N: Menonaktifkan buffering respons dicurlsehingga Peristiwa yang Dikirim Server (SSE) langsung di-streaming.MODEL_ID: Model yang disetujui darimodels.listAnda (sepertigemini-3.8-flashataugemini-3.7-flash). Sebaiknya lakukan pengujian dengan model Flash untuk verifikasi awal. Untuk mengetahui daftar model yang tersedia, lihat Model yang didukung.Authorization: Mengirim kunci API gateway (GATEWAY_API_KEY) untuk mengautentikasi permintaan dengan gateway.User-Agent: Mengirim string atribusi klien yang digunakan Google untuk mengatribusikan penggunaan ke perjanjian Gemini Enterprise Anda.streamGenerateContent?alt=sse: Memanggil endpoint API streaming untuk model yang ditentukan.
Pastikan gateway langsung menstreaming potongan respons. Jika Anda mengalami error koneksi, peringatan sertifikat, atau penundaan buffering respons, lihat Pemecahan masalah.
Memverifikasi koneksi klien
Periksa status klien di workstation yang dikonfigurasi:
- Aplikasi Antigravity: Di status bar bawah, pastikan indikator menampilkan Connected: Enterprise Gateway. Di Account Settings, pastikan Enterprise Gateway Mode Active ditampilkan.
Antigravity CLI: Jalankan perintah pengujian:
agy -p "Explain binary search in Go"Perintah ini mengirimkan perintah pengujian ke gateway. Pastikan respons di-streaming di terminal Anda tanpa menampilkan dialog login Google interaktif. Jika klien gagal terhubung atau meminta autentikasi Google, lihat Pemecahan masalah.
Memverifikasi atribusi di Cloud Logging
Di konsol Google Cloud , pastikan header atribusi diterima:
Di konsol Google Cloud , buka halaman Logs Explorer:
Jalankan kueri berikut:
resource.type="aiplatform.googleapis.com/Endpoint" OR protoPayload.serviceName="aiplatform.googleapis.com"Periksa metadata entri log. Pastikan
protoPayload.requestMetadata.callerSuppliedUserAgentberisiantigravity/VERSION (aidev_client; auth_method=gateway).
Jika tidak ada entri log yang muncul, pastikan log audit Akses Data diaktifkan untuk Gemini Enterprise Agent Platform API.
Orientasi developer
Setelah memverifikasi gateway, siapkan developer Anda untuk menggunakan Antigravity:
- Workstation terkelola: Jika Anda men-deploy
admin_settings.jsonmenggunakan sistem MDM, developer tidak perlu melakukan konfigurasi apa pun. Antigravity terhubung ke gateway secara otomatis saat dimulai. - Sandbox dan pipeline CI/CD: Untuk developer yang bekerja di runner dalam container, host SSH jarak jauh, atau lingkungan pengembangan yang tidak dikelola, berikan URL gateway, kunci API, dan jalur root CA Anda. Arahkan developer ke Menghubungkan Antigravity ke Gateway Enterprise.
Pemecahan masalah
Tabel berikut mencantumkan masalah deployment umum dan cara mengatasinya:
| Gejala | Penyebab | Resolusi |
|---|---|---|
x509: certificate signed by unknown authority |
Workstation tidak memercayai sertifikat TLS gateway. | Tentukan jalur ke paket root CA perusahaan Anda menggunakan caCertPath di admin_settings.json. |
401 Unauthorized atau 403 Forbidden |
Kunci API tidak valid atau akun layanan gateway tidak memiliki akses. | Verifikasi nilai gateway.apiKey, dan pastikan akun layanan gateway memiliki peran IAM roles/aiplatform.user di project target. |
404 Not Found |
Model yang diminta tidak tersedia di gateway perusahaan, atau ID model salah ketik. | Pastikan setiap ID model yang dikonfigurasi di models.list di admin_settings.json cocok dengan nama model yang disajikan oleh gateway perusahaan Anda. |
gateway.wireProtocol 'openai' is not supported by the ACP server |
admin_settings.json atau variabel lingkungan menentukan protokol kabel openai, yang tidak didukung oleh server ACP. |
Tetapkan wireProtocol ke genai (atau hapus untuk menggunakan default) untuk workstation JetBrains IDE dan Zed. |
| Waktu tunggu respons streaming habis | Gateway melakukan buffering pada respons HTTP. | Konfigurasi gateway untuk menonaktifkan buffering respons untuk Server-Sent Events (text/event-stream). |
| Perintah Antigravity untuk login dengan Google | Mode gateway tidak diaktifkan, atau Antigravity tidak dapat menemukan file setelan. | Pastikan admin_settings.json di-deploy ke jalur sistem operasi yang benar dan berisi "enabled": true serta url di bagian gateway. |
Langkah berikutnya
- Pelajari cara developer terhubung dari sandbox jarak jauh: Menghubungkan Antigravity ke Gateway Enterprise.
- Pelajari lebih lanjut fitur dan alur kerja Antigravity: Dokumentasi Antigravity.
- Tinjau metrik dan penggunaan alat developer: Lihat metrik alat developer AI.
- Konfigurasikan kebijakan keamanan project: Konfigurasikan setelan alat developer AI.