Kontrol akses jaringan Azure SQL Database dan Azure Synapse Analytics

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

Saat Anda membuat server logis dari portal Azure untuk Azure SQL Database dan Azure Synapse Analytics, hasilnya adalah titik akhir publik dalam format, yourservername.database.windows.net.

Anda bisa menggunakan kontrol akses jaringan berikut untuk secara selektif mengizinkan akses ke database melalui titik akhir publik:

  • Izinkan layanan dan sumber daya Azure mengakses server ini: Saat diaktifkan, sumber daya lain dalam batas Azure, misalnya Azure Virtual Machine, dapat mengakses SQL Database
  • Aturan firewall: Gunakan fitur ini untuk secara eksplisit mengizinkan koneksi dari alamat IP tertentu, misalnya dari komputer lokal

Anda juga dapat mengizinkan akses privat ke database dari jaringan virtual melalui:

  • Aturan firewall jaringan virtual: Gunakan fitur ini untuk memungkinkan lalu lintas dari jaringan virtual tertentu dalam batas Azure
  • Private Link: Gunakan fitur ini untuk membuat titik akhir privat untuk server logis di Azure dalam jaringan virtual tertentu

Penting

Artikel ini tidak berlaku untuk SQL Managed Instance. Untuk informasi selengkapnya tentang konfigurasi jaringan, lihat menyambungkan ke Azure SQL Managed Instance.

Lihat video di bawah ini untuk penjelasan tingkat tinggi tentang kontrol akses ini dan apa yang mereka lakukan:

Izinkan Layanan Azure

Secara default selama pembuatan server logis baru dari portal Azure, Izinkan layanan dan sumber daya Azure untuk mengakses server ini tidak dicentang dan tidak diaktifkan. Pengaturan ini muncul saat konektivitas diizinkan menggunakan titik akhir layanan publik.

Anda juga dapat mengubah pengaturan ini melalui pengaturan Jaringan setelah server logis dibuat sebagai berikut:

Screenshot of manage server firewall

Saat Izinkan layanan dan sumber daya Azure untuk mengakses server ini diaktifkan, server Anda mengizinkan komunikasi dari semua sumber daya di dalam batas Azure, yang mungkin atau mungkin bukan bagian dari langganan Anda.

Dalam banyak kasus, mengaktifkan pengaturan lebih permisif daripada yang diinginkan sebagian besar pelanggan. Anda mungkin ingin menghapus centang pengaturan ini dan menggantinya dengan aturan firewall IP yang lebih ketat atau aturan firewall jaringan virtual.

Namun, melakukannya mempengaruhi fitur-fitur berikut yang berjalan pada komputer virtual di Azure yang bukan bagian dari jaringan virtual Anda dan karenanya terhubung ke database melalui alamat IP Azure:

Layanan Ekspor Impor

Layanan Ekspor Impor tidak berfungsi saat Izinkan layanan dan sumber daya Azure untuk mengakses server ini tidak diaktifkan. Namun Anda dapat mengatasi masalah dengan menjalankan SqlPackage secara manual dari Azure VM atau melakukan ekspor langsung dalam kode Anda dengan menggunakan DACFx API.

Sinkronisasi Data

Untuk menggunakan fitur Sinkronisasi data dengan Izinkan layanan dan sumber daya Azure untuk mengakses server ini tidak diaktifkan, Anda perlu membuat entri aturan firewall individual untuk menambahkan alamat IP dari tag layanan Sql untuk wilayah yang menghosting database Hub . Tambahkan aturan firewall tingkat server ini ke server yang menghosting database Hub dan Anggota (yang mungkin berada di wilayah yang berbeda)

Gunakan skrip PowerShell berikut ini untuk menghasilkan alamat IP yang terkait dengan tag layanan SQL untuk wilayah US Barat

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Tip

Get-AzNetworkServiceTag mengembalikan rentang global untuk Tag Layanan SQL meskipun menentukan parameter Lokasi. Pastikan untuk memfilternya ke wilayah yang menjadi host database Hub yang digunakan oleh grup sinkronisasi Anda

Perhatikan bahwa output skrip PowerShell ada di notasi Perutean Classless Inter-Domain (CIDR). Ini perlu dikonversi ke format alamat IP Mulai dan Akhir menggunakan Get-IPrangeStartEnd.ps1 seperti ini:

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

Anda dapat menggunakan skrip PowerShell tambahan ini untuk mengonversi semua alamat IP dari CIDR ke format alamat IP Mulai dan Akhir.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

Anda sekarang dapat menambahkan ini sebagai aturan firewall yang berbeda lalu menonaktifkan pengaturan Izinkan layanan dan sumber daya Azure untuk mengakses server ini.

Aturan firewall IP

Firewall berbasis IP adalah fitur server logis di Azure yang mencegah semua akses ke server Anda sampai Anda secara eksplisit menambahkan alamat IP komputer klien.

Aturan firewall jaringan virtual

Selain aturan IP, firewall server memungkinkan Anda untuk menentukan aturan jaringan virtual. Untuk mempelajari selengkapnya, lihat Titik akhir dan aturan layanan jaringan virtual untuk Azure SQL Database.

Terminologi Jaringan Azure

Ketahui ketentuan Jaringan Azure berikut ini saat Anda menjelajahi aturan firewall jaringan Virtual

Jaringan virtual: Anda bisa memiliki jaringan virtual yang terkait dengan langganan Azure Anda

Subnet: Jaringan virtual berisi subnet. Setiap komputer virtual Azure (VM) yang telah Anda miliki ditetapkan ke subnet. Satu subnet dapat berisi beberapa VM atau node komputasi lainnya. Node komputasi yang berada di luar jaringan virtual Anda tidak dapat mengakses jaringan virtual Anda kecuali Anda mengkonfigurasi keamanan Anda untuk memungkinkan akses.

Titik akhir layanan jaringan virtual: Titik akhir layanan jaringan Virtual adalah subnet yang nilai propertinya menyertakan satu atau beberapa nama tipe layanan Azure formal. Dalam artikel ini kami tertarik pada nama jenis Microsoft.Sql, yang merujuk ke layanan Azure bernama SQL Database.

Aturan jaringan virtual: Aturan jaringan virtual untuk server Anda adalah subnet yang tercantum dalam daftar kontrol akses (ACL) server Anda. Untuk berada di ACL untuk database Anda di Database SQL, subjaringan harus berisi nama jenis Microsoft.Sql. Aturan jaringan virtual memberi tahu server Anda untuk menerima komunikasi dari setiap simpul yang ada di subnet.

IP vs. Aturan firewall jaringan virtual

Firewall Azure SQL Database memungkinkan Anda menentukan rentang alamat IP dari mana komunikasi diterima ke dalam SQL Database. Pendekatan ini baik untuk alamat IP stabil yang berada di luar jaringan privat Azure. Namun, komputer virtual (VM) dalam jaringan privat Azure dikonfigurasi dengan alamat IP dinamis. Alamat IP dinamis dapat berubah ketika komputer virtual Anda dimulai ulang dan pada gilirannya membatalkan aturan firewall berbasis IP. Akan sia-sia untuk menentukan alamat IP dinamis dalam aturan firewall, di lingkungan produksi.

Anda dapat mengatasi batasan ini dengan mendapatkan alamat IP statik untuk komputer virtual Anda. Untuk detailnya, lihat Membuat komputer virtual dengan alamat IP publik statik menggunakan portal Microsoft Azure. Namun, pendekatan IP statik bisa menjadi sulit dikelola, dan mahal ketika dilakukan dalam skala besar.

Aturan jaringan virtual adalah alternatif yang lebih mudah untuk menetapkan dan mengelola akses dari subnet tertentu yang berisi VM Anda.

Catatan

Anda belum dapat memiliki SQL Database pada subnet. Jika server Anda adalah simpul pada subnet di jaringan virtual Anda, semua simpul dalam jaringan virtual dapat berkomunikasi dengan SQL Database Anda. Dalam hal ini, VM Anda dapat berkomunikasi dengan SQL Database tanpa memerlukan aturan jaringan virtual atau aturan IP.

Dengan Private Link Anda dapat terhubung ke server melalui titik akhir privat. Titik akhir privat adalah alamat IP privat di dalam jaringan virtual tertentu dan subnet.

Langkah berikutnya