Analisis rekayasa untuk GitLab yang Dikelola Sendiri di belakang VPN
Pola aman untuk menganalisis data pengiriman GitLab pribadi ketika aplikasi yang dihosting tidak dapat menjangkau jaringan pelanggan.
Pahami batasan jaringan
Backend SaaS yang dihosting biasanya tidak dapat memanggil instance GitLab yang hanya tersedia di VPN perusahaan atau jaringan pribadi. Menambahkan setiap asal pelanggan ke konfigurasi penerapan tidak akan meningkatkan skala, dan meminta pelanggan untuk mengekspos GitLab secara publik akan melemahkan batasan keamanan. Namun, browser pengguna mungkin sudah memiliki akses jaringan resmi saat terhubung ke VPN. Hal ini menciptakan rute praktis untuk sinkronisasi manual dan langsung melalui browser, asalkan produk memperlakukan browser sebagai batas yang tidak tepercaya dan meminimalkan hal-hal yang meninggalkannya.
Biarkan browser memanggil GitLab secara langsung
Dalam mode langsung browser, pengguna memasukkan asal GitLab, cakupan grup, dan token hanya-baca di halaman. JavaScript yang berjalan di browser memanggil GitLab API melalui koneksi VPN yang ada. Ini hanya menormalkan metadata pengiriman yang diperlukan oleh produk dan mengirimkan muatan yang dinormalisasi tersebut ke aplikasi yang dihosting. Token tidak boleh disertakan dalam payload, log aplikasi, pemantauan kesalahan, atau analitik tersebut. Penyimpanan praktis opsional harus berupa penyimpanan sesi dengan cakupan tab, bukan penyimpanan lokal persisten, dan menutup tab akan menghapus kredensial.
Gunakan izin praktis yang paling sempit
Buat token yang ditujukan untuk akses API hanya-baca dan cakupan sinkronisasi ke grup atau proyek yang diizinkan untuk dianalisis oleh ruang kerja. Validasi asal GitLab sebagai HTTPS, tolak kredensial yang tertanam dalam URL, dan cegah panggilan ke host internal sewenang-wenang jika memungkinkan. Rute penyerapan yang dihosting harus secara independen memverifikasi manajer ruang kerja yang masuk, jenis penyedia yang diterima, skema muatan, ukuran maksimum, cakupan repositori, dan batas kapasitas. Token yang disimpan di browser mengurangi paparan rahasia sisi server, namun tidak menghilangkan kebutuhan untuk memvalidasi semua yang dikirimkan browser.
Optimalkan sinkronisasi di sekitar halaman yang dibatasi
Ambil proyek dan permintaan penggabungan terbaru dengan ukuran halaman terbesar yang didukung, ikuti header penomoran halaman GitLab, dan batasi riwayat dengan jendela waktu atau batas rekaman yang jelas. Hindari satu permintaan per permintaan penggabungan kecuali suatu metrik benar-benar memerlukan peristiwa terperinci. Memuat data ulasan, peserta, atau iterasi yang mahal secara bersamaan dengan batas konservatif dan menunjukkan kemajuan berdasarkan pekerjaan yang telah diselesaikan, bukan berputar sembarangan. Hasil cache yang dinormalisasi dalam aplikasi sehingga laporan tidak mengulangi pengambilan VPN. Mode langsung browser manual tidak dapat memberikan sinkronisasi latar belakang atau webhook yang andal setelah tab ditutup, jadi beri label kesegaran dengan jujur.
Verifikasi janji keamanan
Selama uji coba, periksa panel jaringan browser dan konfirmasikan bahwa token dikirim hanya ke asal GitLab pelanggan. Periksa apakah permintaan aplikasi berisi metadata yang dinormalisasi, bukan rahasia mentah atau kode sumber. Tutup tab dan verifikasi bahwa token telah hilang. Uji asal yang tidak valid, token yang kedaluwarsa, pengguna tanpa izin ruang kerja, respons yang terlalu besar, dan sinkronisasi sebagian. Terakhir, bandingkan sampel proyek, permintaan penggabungan, peninjau, label, pencapaian, dan iterasi dengan GitLab itu sendiri. Arsitektur yang aman hanya berguna jika pengguna juga dapat mempercayai bukti yang dihasilkan.
Lihat sistem pengiriman Anda dengan jelas.
Jelajahi ruang kerja Troodo yang mirip produksi dan lihat bagaimana bukti pengiriman menjadi ringkasan manajemen yang terfokus.
Jelajahi demo langsung