Azure Private Link untuk Azure SQL Database dan Azure Synapse Analytics

Berlaku untuk:Azure SQL DatabaseAzure Synapse Analytics (hanya kumpulan SQL khusus)

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. Navigasikan ke sumber daya server di portal Azure.

  2. Navigasi ke halaman persetujuan titik akhir privat:

    • Di Azure SQL Database, di bawah Keamanan di menu sumber daya, pilih Jaringan. Pilih tab Akses privat.
    • Di ruang kerja Synapse, di bawah Keamanan di menu sumber daya, pilih Koneksi titik akhir privat.
  3. Halaman ini memperlihatkan hal berikut:

    • Daftar semua Koneksi Titik Akhir Privat (PEC)
    • Titik akhir privat (PE) dibuat

    Cuplikan layar yang memperlihatkan cara menemukan daftar koneksi titik akhir privat untuk sumber daya server.

  4. Jika tidak ada titik akhir privat, buat titik akhir menggunakan tombol Buat titik akhir privat. Jika tidak, pilih PEC individual dari daftar dengan memilihnya.

    Cuplikan layar yang memperlihatkan cara memilih koneksi titik akhir privat di portal Azure.

  5. Admin SQL dapat memilih untuk menyetujui atau menolak PEC dan secara opsional menambahkan respons teks pendek.

    Cuplikan layar yang memperlihatkan cara menyetujui PEC di portal Azure.

  6. Setelah persetujuan atau penolakan, daftar akan mencerminkan status yang sesuai bersama dengan teks respons.

    Cuplikan layar yang memperlihatkan PEC dalam status Disetujui setelah disetujui oleh admin.

  7. Terakhir, pilih nama titik akhir privat

    Cuplikan layar memperlihatkan detail PEC dengan nama titik akhir.

    Ini akan membawa Anda ke halaman Gambaran umum titik akhir privat. Pilih tautan Antarmuka jaringan untuk mendapatkan detail antarmuka jaringan untuk koneksi titik akhir privat.

    Cuplikan layar yang memperlihatkan detail NIC untuk koneksi titik akhir privat.

    Halaman Antarmuka jaringan memperlihatkan alamat IP privat untuk koneksi titik akhir privat.

    Cuplikan layar yang memperlihatkan alamat IP Privat untuk koneksi titik akhir privat.

Penting

Saat Anda menambahkan koneksi titik akhir privat, perutean publik ke server logis 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.

Menonaktifkan akses publik ke server logis Anda

Di server SQL logis Azure SQL Database, asumsikan Anda ingin menonaktifkan semua akses publik ke server logis 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 halaman Jaringan server logis Anda.

  2. Pilih kotak centang Tolak akses jaringan publik.

    Cuplikan layar yang memperlihatkan cara menonaktifkan akses jaringan publik untuk koneksi titik akhir privat.

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:

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 di SQL Database.

telnet 10.9.0.4 1433

Ketika Telnet berhasil tersambung, Telnet menghasilkan layar kosong di jendela perintah, seperti yang ditunjukkan pada gambar berikut:

Diagram jendela Telnet dengan layar kosong.

Gunakan perintah PowerShell untuk memeriksa konektivitas:

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

Periksa Koneksi ivitas 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

Ini adalah contoh output yang diharapkan:

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 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

Ini adalah contoh output yang diharapkan:

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 menyambungkan ke SQL Database menggunakan SQL Database, kueri berikut akan mencerminkan client_net_address yang cocok dengan alamat IP privat Azure VM yang Anda sambungkan:

SELECT client_net_address
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Menggunakan Kebijakan koneksi pengalihan dengan titik akhir privat

Sebaiknya pelanggan menggunakan tautan privat dengan kebijakan Pengalihan koneksi untuk mengurangi latensi dan throughput yang ditingkatkan. Agar koneksi menggunakan mode ini, klien harus memenuhi prasyarat berikut:

  • Izinkan komunikasi masuk ke VNET yang menghosting titik akhir privat ke rentang port 1433 hingga 65535.

  • Izinkan komunikasi keluar dari VNET yang menghosting klien ke rentang port 1433 hingga 65535.

  • Gunakan versi driver terbaru yang memiliki dukungan pengalihan bawaan. Dukungan pengalihan disertakan dalam driver ODBC, OLEDB, NET SqlClient Data Provider, Core .NET SqlClient Data Provider, dan JDBC (versi 9.4 atau lebih tinggi). Koneksi-koneksi yang berasal dari semua driver lain diproksi.

Setelah memenuhi prasyarat, klien harus secara eksplisit memilih Alihkan kebijakan koneksi.

Jika tidak memungkinkan untuk mengubah pengaturan firewall untuk memungkinkan akses keluar pada rentang port 1433-65535, solusi alternatifnya adalah mengubah kebijakan koneksi ke Proksi.

Titik akhir privat yang ada menggunakan kebijakan koneksi Default harus diproksi yaitu mereka akan menggunakan kebijakan koneksi Proksi dengan port 1433. Alasan untuk melakukan ini adalah untuk menghindari gangguan pada lalu lintas klien agar tidak mencapai Sql Database karena rentang port yang diperlukan untuk pengalihan tidak terbuka.

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. Diagram yang disederhanakan berikut menunjukkan kasus penggunaan umum.

Diagram opsi konektivitas.

Selain itu, layanan yang tidak berjalan langsung di jaringan virtual tetapi terintegrasi dengannya (misalnya, aplikasi web App Service atau Functions) 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.

Koneksi dari Azure VM di Peered Virtual Network

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

Koneksi dari Azure VM di jaringan virtual 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.

Koneksi 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.

Koneksi 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 akun Azure Storage. Jika akun Azure Storage, tempat Anda memuat data, membatasi akses hanya ke sekumpulan subnet jaringan virtual melalui Titik Akhir Privat, Titik Akhir Layanan, atau firewall berbasis IP, konektivitas dari PolyBase dan pernyataan COPY ke akun akan rusak. 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 penyelundupan 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 berikut 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 Azure VM, 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 US Barat.
    • Tentukan aturan NSG (dengan prioritas yang 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 kita telah mengurangi cakupan penyelundupan data dalam skenario di atas ke wilayah tertentu, kita belum benar-benar menghilangkannya.

Dengan Private Link, pelanggan sekarang dapat mengatur kontrol akses jaringan seperti NSG untuk membatasi akses ke titik akhir privat. Sumber daya Azure PaaS individual 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.