Azure Private Link untuk Azure SQL Database dan Azure Synapse Analytics

BERLAKU UNTUK: Azure SQL Database Azure Synapse Analytics (kumpulan SQL khusus (sebelumnya SQL DW) saja)

Dengan Private Link Anda dapat terhubung ke berbagai layanan PaaS di Azure melalui titik akhir privat. Untuk daftar layanan PaaS yang mendukung fungsionalitas Private Link, buka halaman Dokumentasi Private Link. Titik akhir privat adalah alamat IP privat dalam VNet dan Subnet tertentu.

Penting

Artikel ini berlaku untuk Azure SQL Database dan kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics. Pengaturan ini berlaku untuk semua database SQL Database dan database kumpulan SQL khusus (sebelumnya SQL DW) yang terkait dengan server. Untuk memudahkan, istilah 'database' mengacu pada kedua database di Azure SQL Database dan Azure Synapse Analytics. Demikian juga, setiap referensi ke 'server' mengacu pada server logis yang menghosting Azure SQL Database dan kumpulan SQL khusus (sebelumnya SQL DW) di Azure Synapse Analytics. Artikel ini tidak berlaku untuk Azure SQL Managed Instance atau kumpulan SQL khusus di ruang kerja Azure Synapse Analytics.

Proses Pembuatan

Titik Akhir Privat dapat dibuat menggunakan portal Microsoft Azure, PowerShell, atau Azure CLI:

Proses persetujuan

Setelah admin jaringan membuat Titik Akhir Privat (PE), admin SQL dapat mengelola Koneksi Titik Akhir Privat (PEC) ke SQL Database.

  1. Navigasi ke sumber daya server di portal Microsoft Azure sesuai langkah yang diperlihatkan dalam cuplikan layar di bawah ini

    • (1) Pilih koneksi titik akhir Privat di panel kiri
    • (2) Menampilkan daftar semua Koneksi Titik Akhir Privat (PEC)
    • (3) Titik Akhir Privat (PE) yang sesuai dibuat Screenshot of all PECs
  2. Pilih PEC individual dari daftar dengan memilihnya. Screenshot selected PEC

  3. Admin SQL dapat memilih untuk menyetujui atau menolak PEC dan secara opsional menambahkan respons teks pendek. Screenshot of PEC approval

  4. Setelah persetujuan atau penolakan, daftar akan mencerminkan status yang sesuai bersama dengan teks respons. Screenshot of all PECs after approval

  5. Terakhir, mengklik nama titik akhir privat Screenshot of PEC details

    mengarah ke detail Antarmuka Jaringan Screenshot of NIC details

    yang akhirnya mengarah ke alamat IP untuk titik akhir privat Screenshot of Private IP

Penting

Saat Anda menambahkan koneksi titik akhir privat, perutean publik ke server logis Azure SQL Anda tidak diblokir secara default. Di panel Firewall dan jaringan virtual, pengaturan Tolak akses jaringan publik tidak dipilih secara default. Untuk menonaktifkan akses jaringan publik, pastikan Anda memilih Tolak akses jaringan publik.

Nonaktifkan akses publik ke server logis Azure SQL Anda

Untuk skenario ini, asumsikan Anda ingin menonaktifkan semua akses publik ke server logis Azure SQL Anda dan mengizinkan koneksi hanya dari jaringan virtual Anda.

Pertama, pastikan koneksi titik akhir privat Anda diaktifkan dan dikonfigurasi. Kemudian, nonaktifkan akses publik ke server logis Azure SQL Anda:

  1. Buka panel Firewall dan jaringan virtual server logis Azure SQL Anda.
  2. Pilih kotak centang Tolak akses jaringan publik.

Screenshot that shows selecting the Deny public network access option.

Menguji konektivitas ke SQL Database dari komputer virtual di jaringan virtual yang sama

Untuk skenario ini, silakan asumsikan bahwa Anda telah membuat Azure Virtual Machine (VM) yang menjalankan versi terbaru Windows dalam jaringan virtual yang sama dengan titik akhir privat.

  1. Mulai sesi Desktop Jarak Jauh (RDP) dan sambungkan ke komputer virtual.

  2. Anda kemudian dapat melakukan beberapa pemeriksaan konektivitas dasar untuk memastikan bahwa komputer virtual terhubung ke SQL Database melalui titik akhir privat menggunakan alat berikut:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

Memeriksa Konektivitas menggunakan Telnet

Telnet Client adalah fitur Windows yang dapat digunakan untuk menguji konektivitas. Bergantung pada versi OS Windows, Anda mungkin perlu mengaktifkan fitur ini secara eksplisit.

Buka jendela Prompt Perintah setelah Anda menginstal Telnet. Jalankan perintah Telnet dan tentukan alamat IP dan titik akhir privat database dalam SQL Database.

>telnet 10.9.0.4 1433

Ketika Telnet berhasil terhubung, Anda akan melihat layar kosong di jendela perintah seperti gambar di bawah ini:

Diagram of telnet

Menggunakan perintah Powershell untuk memeriksa konektivitas

Test-NetConnection -computer myserver.database.windows.net -port 1433

Memeriksa Konektivitas menggunakan Psping

Psping dapat digunakan sebagai berikut untuk memeriksa apakah titik akhir privat mendengarkan koneksi pada port 1433.

Jalankan psping sebagai berikut dengan menyediakan FQDN untuk server SQL logis dan port 1433:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

Output menunjukkan bahwa Psping dapat melakukan ping ke alamat IP privat yang terkait dengan titik akhir privat.

Memeriksa Konektivitas menggunakan Nmap

Nmap (Network Mapper) adalah alat sumber terbuka gratis yang digunakan untuk penemuan jaringan dan audit keamanan. Untuk informasi selengkapnya dan tautan unduhan, kunjungi https://nmap.org . Anda dapat menggunakan alat ini untuk memastikan bahwa titik akhir privat mendengarkan koneksi pada port 1433.

Jalankan Nmap sebagai berikut dengan menyediakan rentang alamat subnet yang menghosting titik akhir privat.

>nmap -n -sP 10.9.0.0/24
...
Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

Hasilnya menunjukkan bahwa satu alamat IP sudah habis; yang terkait dengan alamat IP untuk titik akhir privat.

Memeriksa konektivitas menggunakan SQL Server Management Studio (SSMS)

Catatan

Gunakan Nama Domain Yang Sepenuhnya Memenuhi Syarat (FQDN) server dalam string koneksi untuk klien Anda ( <server>.database.windows.net ). Setiap upaya login yang dilakukan langsung ke alamat IP atau menggunakan tautan privat FQDN (<server>.privatelink.database.windows.net) akan gagal. Perilaku ini sesuai desain, karena titik akhir privat merutekan lalu lintas ke SQL Gateway di wilayah tersebut dan FQDN yang benar perlu ditentukan agar berhasil masuk.

Ikuti langkah-langkah di sini untuk menggunakan SSMS untuk menyambungkan ke SQL Database. Setelah Anda tersambung ke SQL Database menggunakan SQL Server Management Studio, kueri berikut akan mencerminkan client_net_address yang cocok dengan alamat IP privat Azure VM yang Anda sambungkan dari:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

Batasan

Koneksi ke titik akhir privat hanya mendukung Proksi sebagai kebijakan koneksi

Konektivitas on-premise melalui private peering

Ketika pelanggan terhubung ke titik akhir publik dari komputer lokal, alamat IP mereka perlu ditambahkan ke firewall berbasis IP menggunakan Aturan firewall tingkat server. Meskipun model ini bekerja dengan baik untuk memungkinkan akses ke komputer individu untuk beban kerja pengembangan atau pengujian, sulit untuk dikelola di lingkungan produksi.

Dengan Private Link, pelanggan dapat mengaktifkan akses lintas lokasi ke titik akhir privat menggunakan ExpressRoute, peering privat, atau terowongan VPN. Pelanggan kemudian dapat menonaktifkan semua akses melalui titik akhir publik dan tidak menggunakan firewall berbasis IP untuk mengizinkan alamat IP apa pun.

Klien dapat terhubung ke titik akhir Privat dari jaringan virtual yang sama, jaringan virtual peering di wilayah yang sama, atau melalui jaringan virtual ke koneksi jaringan virtual di seluruh wilayah. Selain itu, klien dapat terhubung dari jaringan lokal menggunakan ExpressRoute, peering pribadi, atau terowongan VPN. Di bawah ini adalah diagram disederhanakan yang menunjukkan kasus penggunaan umum.

Diagram of connectivity options

Selain itu, layanan yang tidak berjalan langsung di jaringan virtual tetapi terintegrasi dengannya (misalnya, aplikasi web atau Fungsi App Service) juga dapat mencapai konektivitas privat ke database. Untuk informasi selengkapnya tentang kasus penggunaan khusus ini, lihat Aplikasi web dengan konektivitas privat ke skenario arsitektur database Azure SQL.

Menyambungkan dari komputer virtual Azure di Peered Virtual Network

Konfigurasikan peering jaringan virtual untuk membangun konektivitas ke SQL Database dai komputer virtual Azure dalam jaringan virtual peering.

Menyambungkan dari komputer virtual Azure ke lingkungan jaringan virtual

Konfigurasikan jaringan virtual ke koneksi gateway VPN jaringan virtual untuk membangun konektivitas ke database di SQL Database dari komputer virtual Azure di wilayah atau langganan yang berbeda.

Menyambungkan dari lingkungan lokal melalui VPN

Untuk membangun konektivitas dari lingkungan lokal ke database di SQL Database, pilih dan terapkan salah satu opsi:

Pertimbangkan Skenario konfigurasi DNS juga, karena FQDN layanan dapat beralih ke alamat IP publik.

Menyambungkan dari Azure Synapse Analytics ke Azure Storage menggunakan Polybase dan pernyataan COPY

PolyBase dan pernyataan COPY umumnya digunakan untuk memuat data ke Azure Synapse Analytics dari akunAzure Storage. Jika akun Azure Storage yang Anda muat datanya dari membatasi akses hanya ke set subnet jaringan virtual melalui Titik Akhir Privat, Titik Akhir Layanan, atau firewall berbasis IP, konektivitas dari PolyBase dan pernyataan COPY ke akun akan putus. Untuk mengaktifkan skenario impor dan ekspor dengan Azure Synapse Analytics yang tersambung ke Azure Storage yang diamankan ke jaringan virtual, ikuti langkah-langkah yang diuraikan di sini.

Pencegahan eksfiltrasi data

Penyelundupan data di Azure SQL Database adalah ketika pengguna, seperti admin database, dapat mengekstrak data dari satu sistem dan memindahkannya ke lokasi atau sistem lain di luar organisasi. Misalnya, pengguna memindahkan data ke akun penyimpanan yang dimiliki oleh pihak ketiga.

Pertimbangkan skenario dengan pengguna yang menjalankan SQL Server Management Studio (SSMS) dalam komputer virtual Azure yang menyambungkan ke database di SQL Database. Database ini berada di pusat data AS Barat. Contoh di bawah ini menunjukkan cara membatasi akses dengan titik akhir publik di SQL Database menggunakan kontrol akses jaringan.

  1. Nonaktifkan semua lalu lintas layanan Azure ke SQL Database melalui titik akhir publik dengan mengatur Izinkan Layanan Azure ke NONAKTIF. Pastikan tidak ada alamat IP yang diizinkan dalam aturan firewall tingkat server dan database. Untuk informasi selengkapnya, lihat Kontrol akses jaringan Azure SQL Database dan Azure Synapse Analytics.
  2. Hanya izinkan lalu lintas ke database di SQL Database menggunakan alamat IP Privat komputer virtual. Untuk informasi selengkapnya, lihat artikel tentang Titik Akhir Layanan dan aturan firewall jaringan virtual.
  3. Pada komputer virtual Azure, persempit cakupan koneksi keluar dengan menggunakan Grup Keamanan Jaringan (NSG) dan Tag Layanan sebagai berikut
    • Tentukan aturan NSG untuk mengizinkan lalu lintas untuk Tag Layanan = SQL.WestUs - hanya mengizinkan koneksi ke SQL Database di AS Barat
    • Tentukan aturan NSG (dengan prioritas lebih tinggi) untuk menolak lalu lintas untuk Tag Layanan = SQL - menolak koneksi ke SQL Database di semua wilayah

Di akhir penyiapan ini, komputer virtual Azure hanya dapat menyambungkan ke database di SQL Database di wilayah AS Barat. Namun, konektivitas tidak dibatasi ke satu database di SQL Database. Komputer virtual masih bisa tersambung ke database apa pun di wilayah AS Barat, termasuk database yang bukan bagian dari langganan. Meskipun kami telah mengurangi cakupan eksfiltrasi data dalam sepenuhnya.

Dengan Private Link, pelanggan sekarang dapat mengatur kontrol akses jaringan seperti NSG untuk membatasi akses ke titik akhir privat. Sumber daya Azure PaaS individu kemudian dipetakan ke titik akhir privat tertentu. Orang dalam yang jahat hanya dapat mengakses sumber daya PaaS yang dipetakan (misalnya database di SQL Database) dan bukan sumber daya lainnya.

Langkah berikutnya