VPN Anda tidak membuat Cosmos DB privat dengan sendirinya
VPN membawa laptop Anda ke jaringan, bukan ke dalam basis data. Lihat apa yang harus dilakukan endpoint privat, zona DNS, mode koneksi, dan akses akun.
Anda menghubungkan laptop ke VNet melalui VPN, membuka URL akun Cosmos DB, dan permintaan tetap keluar melalui internet publik. Tunnel melakukan tugasnya. Yang tidak dilakukannya adalah membuat endpoint privat, menerbitkan catatan DNS privat, atau mematikan akses publik, karena itu adalah tiga perubahan terpisah pada akun, bukan properti koneksi jaringan Anda. Contoh ini menggunakan Azure Cosmos DB untuk NoSQL, endpoint privat di VNet, dan laptop yang terhubung ke VNet itu melalui VPN, dan ini menjaga alamat aplikasi tetap tidak berubah.
Mitos: berada di VPN membuat basis data menjadi privat
Berada di VNet hanya berarti paket Anda dapat mencapai alamat privat di VNet itu. Itu tidak mengatakan apa pun tentang di mana nama akun diselesaikan, dan tidak mengatakan apa pun tentang apakah akun masih menerima lalu lintas publik.
Endpoint privat adalah sumber daya terpisah dengan alamatnya sendiri, langkah persetujuannya sendiri, dan pengkabelan DNS-nya sendiri. Sampai endpoint itu ada dan disetujui, nama diselesaikan ke endpoint publik dan lalu lintas Anda pergi ke sana terlepas dari tunnel.
Apa yang sebenarnya membuat nama diselesaikan secara privat
Pertahankan endpoint akun normal SDK, sesuatu seperti https://ACCOUNT.documents.azure.com. DNS privat harus menyelesaikan nama itu melalui rantai Private Link ke alamat privat endpoint. Jangan menggantinya dengan URL numerik dan menonaktifkan pemeriksaan sertifikat, karena itu menukar masalah DNS dengan masalah keamanan.
| Example choice | Value |
|---|---|
| Cosmos API | NoSQL |
| Private endpoint subresource | Sql |
| Private DNS zone | privatelink.documents.azure.com |
| SDK connection mode | Gateway |
Nilai-nilai itu khusus untuk API NoSQL. API Cosmos lainnya bukan entri yang dapat dipertukarkan dalam contoh yang sama, dan menyalin nama subresource dari API lain menghasilkan endpoint yang tidak pernah diselesaikan.
Buat dan setujui endpoint melalui alur kerja Azure yang berwenang, lalu gunakan integrasi grup zona DNS privatnya. Laptop memerlukan resolver yang dapat menjawab zona itu, baik secara langsung maupun melalui penerusan yang disetujui, dan rute klien VPN ke setiap alamat endpoint yang relevan.
Endpoint privat dapat memiliki lebih dari satu alamat, termasuk entri global dan regional. Pertahankan integrasi DNS saat wilayah akun berubah alih-alih menyematkan satu alamat di file hosts, dan ingat bahwa jawaban dari resolver publik yang tidak terkait tidak membuktikan apa pun tentang jalur privat. Jika Anda meneruskan DNS melalui hub, pastikan penerus menjawab sebelum Anda men-debug klien. Penerus yang kedaluwarsa mengembalikan jawaban publik, yang terlihat persis seperti endpoint yang hilang.
Mode Gateway dan mode Direct tidak dapat dipertukarkan
Mode Gateway mengirim permintaan layanan melalui HTTPS pada TCP 443. Itulah sebabnya kebijakan firewall hanya untuk 443 berfungsi untuknya dan itulah sebabnya contoh ini memilihnya dengan sengaja.
Mode Direct melalui Private Link memiliki persyaratan konektivitas yang berbeda, termasuk rentang port TCP yang lebih luas yang dicantumkan dokumentasi akun. Kebijakan yang ditulis untuk mode Gateway tidak boleh digunakan kembali secara diam-diam untuk klien mode Direct, atau SDK akan terhubung lalu macet pada operasi data pertama.
Pilih satu mode, catat bersama akun, dan sesuaikan kebijakan jaringan dengannya. Tim yang berganti mode saat memecahkan masalah biasanya berakhir dengan seperangkat aturan firewall yang tidak memuaskan keduanya.
Mematikan akses publik adalah sakelar terpisah
Jika akun harus sepenuhnya privat, nonaktifkan akses jaringan publik melalui pengaturan akun yang didukung dan verifikasi hasilnya. Jangan menganggap keberadaan endpoint privat sebagai keputusan akses lengkap, karena akun dengan endpoint privat dan akses publik aktif tetap menjawab di internet.
Verifikasi dari luar VPN serta dari dalam. Permintaan dari jaringan yang seharusnya dikecualikan adalah uji yang membuktikan pengaturan itu berlaku, dan itulah uji yang dilewati sebagian besar jendela perubahan.
Keterjangkauan bukan izin
Operasi SDK yang diizinkan dari laptop VPN adalah uji penerimaan, menggunakan URL akun normal dan identitas yang dimaksud. Keterjangkauan VPN tidak memberikan izin data Cosmos; bidang data memeriksa peran atau kuncinya sendiri.
Lalu jalankan penolakan: identitas berbeda, dan jalur jaringan yang seharusnya tidak lagi mencapai akun. Jika salah satunya berhasil, batas yang Anda dokumentasikan bukan batas yang Anda bangun.
Catat empat fakta saat selesai: alamat privat endpoint, zona DNS yang menjawab nama akun, mode koneksi dengan persyaratan portnya, dan apakah akses publik dinonaktifkan. Keempatnya menjelaskan penyiapan kepada orang berikutnya, dan masing-masing gagal secara independen.