Bagikan melalui


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 Panduan Cepat: Membuat database tunggal - Azure SQL Database untuk Azure SQL Database dan Azure Synapse Analytics, ini menghasilkan titik akhir publik dalam format: yourservername.database.windows.net.

Secara default, server logis menolak semua koneksi untuk memastikan keamanan. Anda bisa menggunakan satu atau beberapa kontrol akses jaringan berikut ini untuk mengizinkan akses ke database secara selektif melalui titik akhir publik

  • Aturan firewall berbasis IP: Gunakan fitur ini untuk secara eksplisit mengizinkan koneksi dari alamat IP tertentu. Misalnya, dari komputer lokal atau rentang alamat IP dengan menentukan alamat IP awal dan akhir.

  • Izinkan layanan dan sumber daya Azure mengakses server ini: Saat diaktifkan, sumber daya lain dalam batas Azure dapat mengakses SQL Database. Misalnya, Azure Virtual Machine dapat mengakses sumber daya SQL Database.

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

  • Aturan firewall jaringan virtual: Gunakan fitur ini untuk mengizinkan 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.

Aturan firewall IP

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

Ada dua jenis aturan firewall:

  • Aturan firewall tingkat server: Aturan ini berlaku untuk semua database di server. Mereka dapat dikonfigurasi melalui portal Microsoft Azure, PowerShell, atau perintah T-SQL seperti sp_set_firewall_rule.
  • Aturan firewall tingkat database: Aturan ini berlaku untuk database individual dan hanya dapat dikonfigurasi menggunakan perintah T-SQL seperti sp_set_database_firewall_rule

Berikut ini adalah batasan untuk penamaan aturan firewall:

  • Nama aturan firewall tidak boleh kosong.
  • Ini tidak boleh berisi karakter berikut: <, >, *, %, &, :, \\, /, ?.
  • Ini tidak dapat diakhir dengan titik (.).
  • Nama aturan firewall tidak boleh melebihi 128 karakter.

Setiap upaya untuk membuat aturan firewall yang tidak memenuhi batasan ini gagal dengan pesan kesalahan. Setiap modifikasi yang dilakukan pada aturan firewall berbasis IP yang ada dapat memakan waktu hingga 5 menit untuk diterapkan.

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 ketika konektivitas diizinkan melalui titik akhir publik.

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

Cuplikan layar halaman kelola pengaturan firewall server.

Saat Izinkan layanan dan sumber daya Azure untuk mengakses server ini diaktifkan, server Anda mengizinkan komunikasi dari semua sumber daya di dalam batas Azure, terlepas dari apakah mereka adalah bagian dari langganan Anda. Di balik layar, aturan firewall tingkat server khusus ditambahkan yang dimulai dan diakhir dengan alamat IP 0.0.0.0.

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 menggunakan satu opsi untuk akses privat.

Penting

Dengan memeriksa Izinkan layanan dan sumber daya Azure untuk mengakses server ini, aturan firewall berbasis IP akan ditambahkan dengan alamat IP awal dan akhir 0.0.0.0

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 opsi Izinkan layanan dan sumber daya Azure untuk mengakses server ini tidak diaktifkan, Anda perlu membuat entri aturan firewall individual untuk menambahkan alamat-alamat IP dari tag layanan Sql untuk wilayah yang menjadi tuan rumah 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 untuk menghasilkan alamat IP yang sesuai 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

Kiat

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

Output skrip PowerShell ada dalam notasi Classless Inter-Domain Routing (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 berikut 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.

Tag Layanan SQL

Tag layanan dapat digunakan dalam aturan dan rute keamanan dari klien ke SQL Database. Tag layanan dapat digunakan dalam grup keamanan jaringan, Azure Firewall, dan rute yang ditentukan pengguna dengan menentukannya di bidang sumber atau tujuan aturan keamanan.
Tag layanan Sql terdiri dari semua alamat IP yang sedang digunakan oleh SQL Database. Tag disegmentasi lebih lanjut menurut wilayah. Misalnya Sql.WestUS mencantumkan semua alamat IP yang digunakan oleh SQL Database di US Barat.

Tag layanan SQL terdiri dari alamat IP yang diperlukan untuk menjalin konektivitas ke SQL Database seperti yang didokumentasikan dalam alamat IP Gateway. Selain itu, tag layanan juga akan dikaitkan dengan lalu lintas keluar dari SQL Database yang digunakan dalam fitur seperti:

Tag Layanan SqlManagement

Tag layanan SqlManagement digunakan untuk operasi sarana kontrol terhadap SQL Database.

Aturan firewall jaringan virtual

Gunakan titik akhir dan aturan layanan jaringan virtual untuk server di Azure SQL Database adalah alternatif yang lebih mudah untuk membuat dan mengelola akses dari subnet tertentu yang berisi VM Anda.

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