Bagikan melalui


Aturan firewall Azure SQL Database dan Azure Synapse IP

Berlaku untuk:Azure SQL DatabaseAzure Synapse Analytics

Saat Anda membuat server baru di Azure SQL Database atau Azure Synapse Analytics dengan nama mysqlserver, contohnya, firewall level-server memblokir semua akses ke endpoint publik untuk server (yang dapat diakses di mysqlserver.database.windows.net). Untuk kemudahan, SQL Database digunakan untuk merujuk ke SQL Database dan Azure Synapse Analytics. Artikel ini tidak berlaku untuk Instans Terkelola Azure SQL. Untuk informasi tentang konfigurasi jaringan, lihat Hubungkan aplikasi Anda ke Azure SQL Managed Instance.

Catatan

ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).

Cara firewall bekerja

Percobaan Koneksi dari internet dan Azure harus melewati firewall sebelum mereka sampai di server atau database Anda, seperti yang ditunjukkan pada diagram berikut.

Diagram konfigurasi firewall

Penting

Azure Synapse hanya mendukung aturan firewall IP level-server. Itu tidak mendukung aturan firewall IP tingkat basis data.

Aturan firewall IP tingkat server

Aturan ini memungkinkan klien untuk mengakses seluruh server Anda, yang mana, semua database dikelola server. Aturan disimpan di database master. Jumlah maksimum aturan firewall IP tingkat server dibatasi hingga 256 untuk server. Jika pengaturan Memungkinkan Layanan dan sumber daya Azure mengakses server ini diaktifkan, ini dihitung sebagai satu aturan firewall untuk server.

Anda dapat mengonfigurasi aturan firewall IP level-server dengan menggunakan portal Microsoft Azure, PowerShell, atau Pernyataan Transact-SQL.

Catatan

Jumlah maksimum aturan firewall IP tingkat server dibatasi hingga 256 saat mengonfigurasi menggunakan portal Azure.

  • Untuk menggunakan portal atau PowerShell, Anda harus menjadi pemilik dari langganan atau kontributor dari langganan.
  • Untuk menggunakan Transact-SQL, Anda harus menyambungkan ke database master sebagai login utama tingkat server atau sebagai administrator Microsoft Entra. (Aturan firewall IP pada tingkat server harus terlebih dahulu dibuat oleh pengguna dengan izin tingkat Azure.)

Catatan

Secara default, selama pembuatan server SQL logis baru dari portal Microsoft Azure, pengaturan Izinkan layanan dan sumber daya Azure untuk mengakses server ini diatur ke Tidak.

Aturan firewall IP tingkat basis data

Aturan firewall IP pada tingkat database mengizinkan klien untuk mengakses database (aman) tertentu. Anda membuat aturan untuk setiap database (termasuk data master), dan aturan tersebut disimpan dalam database individual.

  • Anda hanya dapat membuat dan mengelola aturan firewall IP level-database untuk database pengguna dan master dengan menggunakan pernyataan Transact-SQL dan hanya setelah Anda mengonfigurasi firewall level-server terlebih dahulu.
  • Jika Anda menetapkan rentang alamat IP dalam aturan firewall IP taraf basis data yang di luar rentang dalam aturan firewall IP taraf server, hanya klien yang memiliki alamat IP dalam rentang taraf basis data yang dapat mengakses basis data.
  • Nilai defaultnya adalah hingga 256 aturan firewall IP pada tingkat database. Untuk informasi tentang mengonfigurasi aturan firewall IP level-database, lihat contoh berikut di artikel ini dan lihat sp_set_database_firewall_rule (Azure SQL Database).

Rekomendasi cara untuk mengatur aturan firewall

Kami menyarankan Anda menggunakan aturan firewall IP pada tingkat basis data bila memungkinkan. Praktik ini meningkatkan keamanan dan membuat database Anda lebih portabel. Gunakan aturan firewall IP tingkat server untuk administrator. Gunakan juga saat Anda memiliki banyak database yang memiliki persyaratan akses yang sama, dan Anda tidak ingin mengonfigurasi setiap database secara individual.

Catatan

Untuk informasi tentang database portabel dalam konteks kelangsungan bisnis, lihat persyaratan Otentikasi untuk pemulihan bencana.

Aturan firewall IP tingkat server versus tingkat database

Bagaimana jika pengguna salah satu database sepenuhnya terisolasi dari database lainnya?

Jika ya, gunakan aturan firewall IP tingkat basis data untuk mengizinkan akses. Metode ini menghindari penggunaan aturan firewall IP tingkat server, yang mengizinkan akses melalui firewall ke semua basis data. Itu akan mengurangi kedalaman pertahanan Anda.

Apakah pengguna alamat IP memerlukan akses ke semua database?

Jika ya, gunakan aturan firewall IP level-server untuk mengurangi berapa kali Anda harus mengonfigurasi aturan firewall IP.

Apakah seseorang atau tim yang mengonfigurasi aturan firewall IP hanya memiliki akses melalui portal Microsoft Azure, PowerShell, atau REST API?

Jika demikian, Anda harus menggunakan aturan firewall IP pada tingkat server. Aturan firewall IP level-database hanya dapat dikonfigurasi melalui Transact-SQL.

Apakah orang atau tim yang mengonfigurasi aturan firewall IP dilarang memiliki hak akses tinggi di tingkat database?

Jika demikian, gunakan aturan firewall IP tingkat server. Anda memerlukan izin CONTROL DATABASE di tingkat database setidaknya untuk mengonfigurasi aturan firewall IP tingkat database melalui Transact-SQL.

Apakah seseorang tau tim yang mengonfigurasi atau mengaudit aturan firewall IP mengelola secara terpusat aturan firewall IP untuk banyak (mungkin ratusan) database?

Dalam skenario ini, praktik terbaik ditentukan oleh kebutuhan dan lingkungan Anda. Aturan firewall IP tingkat server lebih mudah dikonfigurasi, tetapi pembuatan skrip dapat mengonfigurasi aturan di tingkat database. Bahkan jika Anda menggunakan aturan firewall IP tingkat server, Anda mungkin perlu mengaudit aturan firewall IP tingkat database untuk melihat apakah pengguna dengan izin CONTROL pada database membuat aturan firewall IP tingkat database.

Dapatkah saya menggunakan campuran aturan firewall IP level server dan level database?

Ya. Beberapa pengguna, seperti administrator, mungkin memerlukan aturan firewall IP level-server. Pengguna lainnya, seperti pengguna aplikasi database, mungkin memerlukan aturan firewall IP tingkat database.

Koneksi dari internet

Saat komputer mencoba untuk terhubung ke server Anda dari internet, firewall terlebih dahulu memeriksa alamat IP asal dari permintaan terhadap aturan firewall IP tingkat basis data untuk basis data yang diminta koneksi.

  • Jika alamat ada di dalam rentang yang ditentukan dalam aturan firewall IP pada tingkat basis data, koneksi diberikan ke database yang mengandung aturan tersebut.
  • Jika alamat tidak dalam rentang yang ditentukan di aturan firewall IP tingkat basis data, firewall memeriksa aturan firewall IP tingkat server. Jika alamat berada dalam rentang yang ada di aturan firewall IP tingkat server, koneksi diizinkan. Aturan firewall IP tingkat server diterapkan pada semua database yang dikelola oleh server.
  • Jika alamat tidak termasuk dalam rentang yang terdapat dalam aturan firewall IP level basis data atau aturan firewall IP pada suatu level server, permintaan koneksi akan gagal.

Catatan

Untuk mengakses Azure SQL Database dari komputer lokal Anda, pastikan firewall pada jaringan dan komputer lokal Anda memungkinkan komunikasi keluar pada port TCP 1433.

Koneksi dari dalam Azure

Untuk memungkinkan aplikasi yang dihosting di dalam Azure untuk menghubungkan ke server SQL Anda, koneksi Azure harus diaktifkan. Untuk mengaktifkan koneksi Azure, harus ada aturan firewall dengan memulai dan mengakhiri set alamat IP ke 0.0.0.0. Aturan yang direkomendasikan ini hanya berlaku untuk Azure SQL Database.

Saat aplikasi dari Azure mencoba untuk menghubungkan ke server, firewall memeriksa apakah koneksi Azure diizinkan dengan memverifikasi bahwa ada aturan firewall. Ini dapat diaktifkan langsung dari panel portal Azure dengan mengalihkan Izinkan Layanan dan sumber daya Azure untuk mengakses server ini ke AKTIF di Pengaturan Firewall dan Jaringan virtual. Mengubah pengaturan ke AKTIF membuat aturan firewall masuk untuk IP 0.0.0.0 - 0.0.0.0 yang bernama AllowAllWindowsAzureIps. Aturan dapat dilihat pada tampilan masterdatabase sys.firewall_rules Anda. Gunakan PowerShell atau Azure CLI untuk membuat aturan firewall dengan alamat IP awal dan akhir yang diatur ke 0.0.0.0 jika Anda tidak menggunakan portal.

Penting

Opsi ini mengonfigurasi firewall untuk menggunakan semua koneksi dari Azure, termasuk koneksi dari langganan pelanggan lainnya. jika Anda memilih opsi ini, pastikan bahwa login dan izin pengguna Anda membatasi akses hanya untuk pengguna yang diotorisasi.

Izin

Untuk dapat membuat dan mengelola aturan firewall IP untuk Azure SQL Server, Anda harus jadi salah satu dari:

Buat dan kelola aturan firewall IP

Anda membuat pengaturan firewall level-server terlebih dahulu dengan menggunakan portal Microsoft Azure atau secara program dengan menggunakan Azure PowerShell, Azure CLI, atau Azure REST API. Anda membuat dan mengelola aturan firewall IP level-server tambahan dengan menggunakan metode ini atau Transact-SQL.

Penting

Aturan firewall IP level-database hanya dapat dibuat dan dikelola dengan menggunakan Transact-SQL.

Untuk meningkatkan kinerja, aturan firewall IP tingkat server untuk sementara di-cache di tingkat database. Untuk menyegarkan cache, lihat DBCC FLUSHAUTHCACHE.

Tip

Anda dapat menggunakan Database Auditing untuk memantau perubahan firewall tingkat server dan tingkat database.

Gunakan portal Microsoft Azure untuk mengelola aturan firewall IP level-server

Untuk mengatur aturan firewall IP level-server di portal Microsoft Azure, buka halaman ikhtisar untuk database Anda atau server Anda.

Dari halaman ringkasan database

  1. Untuk mengatur aturan firewall IP level-server dari halaman ikhtisar database, pilih Atur firewall server pada toolbar, seperti gambar berikut ini.

    Cuplikan layar pengaturan firewall server yang diatur di portal Azure.

    Halaman Jaringan untuk server terbuka.

  2. Tambahkan aturan di bagian Aturan firewall untuk menambahkan alamat IP komputer yang Anda gunakan, lalu pilih Simpan. Aturan firewall IP tingkat server dibuat untuk alamat IP Anda saat ini.

    Cuplikan layar memperlihatkan halaman Jaringan tempat Anda dapat mengatur aturan firewall IP tingkat server.

Dari halaman ikhtisar server

Halaman ikhtisar untuk server Anda terbuka. Itu menunjukkan nama server yang memenuhi syarat (seperti mynewserver20170403.database.windows.net) dan menyediakan opsi untuk konfigurasi lanjut.

  1. Untuk mengatur aturan tingkat server dari halaman ini, pilih Jaringan dari menu Pengaturan di sisi kiri.

  2. Tambahkan aturan di bagian Aturan firewall untuk menambahkan alamat IP komputer yang Anda gunakan, lalu pilih Simpan. Aturan firewall IP di tingkat server dibuat untuk alamat IP Anda saat ini.

Gunakan TRansact-SQL untuk mengelola aturan firewall IP

Tampilan katalog atau prosedur tersimpan Tingkat Deskripsi
sys.firewall_aturan Server Menampilkan aturan firewall IP level-server saat ini
sp_set_firewall_rule Server Membuat atau memperbarui aturan firewall IP tingkat server
sp_hapus_aturan_firewall Server Menghapus aturan firewall IP level-server
sys.database_firewall_rules Database Menampilkan aturan firewall IP pada tingkat basis data saat ini.
sp_set_database_firewall_rule Database Membuat atau memperbarui aturan firewall IP pada tingkat database
sp_delete_database_firewall_rule Database Menghapus aturan firewall IP tingkat basis data

Contoh berikut meninjau kembali aturan yang ada, mengaktifkan rentang alamat IP pada Contoso server, dan menghapus aturan firewall IP:

SELECT * FROM sys.firewall_rules ORDER BY name;

Berikutnya, tambahkan aturan firewall IP level-server.

EXECUTE sp_set_firewall_rule @name = N'ContosoFirewallRule',
   @start_ip_address = '192.168.1.1', @end_ip_address = '192.168.1.10'

Untuk menghapus aturan firewall IP level-server, lakukan prosedur tersimpan sp_delete_firewall_rule. Contoh berikut menghapus ContosoFirewallRule aturan:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

Gunakan PowerShell untuk mengelola aturan firewall IP level-server

Catatan

Artikel ini menggunakan modul Azure Az PowerShell, yang merupakan modul PowerShell yang direkomendasikan untuk berinteraksi dengan Azure. Untuk mulai menggunakan modul Az PowerShell, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Penting

Modul PowerShell Azure Resource Manager (AzureRM) tidak digunakan lagi pada 29 Februari 2024. Semua pengembangan di masa mendatang harus menggunakan modul Az.Sql. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan. Modul AzureRM tidak lagi dipertahankan atau didukung. Argumen untuk perintah dalam modul Az PowerShell dan dalam modul AzureRM secara substansial identik. Untuk informasi selengkapnya tentang kompatibilitasnya, lihat Memperkenalkan modul Az PowerShell baru.

Cmdlet Tingkat Deskripsi
Dapatkan-AzSqlServerFirewallRule Server Mengembalikan aturan firewall tingkat server saat ini
New-AzSqlServerFirewallRule Server Membuat aturan firewall pada level server baru
Set-AzSqlServerFirewallRule Server Memperbarui properti aturan firewall tingkat server yang ada
Remove-AzSqlServerFirewallRule Server Menghapus aturan firewall tingkat server

Contoh berikut menggunakan PowerShell untuk mengatur aturan firewall IP level-server:

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
    -ServerName $servername `
    -FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"

Tips

Untuk $servername, tentukan nama server dan bukan nama DNS yang sudah memenuhi syarat, misalnya tentukan mysqldbserver bukan mysqldbserver.database.windows.net.

Untuk contoh PowerShell dalam konteks panduan memulai cepat, lihat Buat DB - PowerShell dan Buat sebuah database tunggal dan konfigurasikan aturan firewall IP tingkat server dengan menggunakan PowerShell.

Gunakan CLI untuk mengelola aturan firewall IP tingkat server

Cmdlet Tingkat Deskripsi
az sql server firewall-aturan buat Server Membuat aturan firewall untuk IP server
az sql server firewall-aturan daftar Server Buat daftar aturan firewall IP pada server
az sql server firewall-rule tampilkan Server Tunjukkan detail aturan firewall IP
az sql server perbarui aturan firewall Server Pembaruan aturan firewall IP
az sql server hapus aturan firewall Server Hapus aturan firewall IP

Contoh berikut menggunakan CLI untuk mengatur aturan firewall IP level-server:

az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255

Tip

Untuk $servername, tentukan nama server dan bukan nama DNS yang sepenuhnya memenuhi syarat. Misalnya, gunakan mysqldbserver, bukan mysqldbserver.database.windows.net.

Untuk contoh CLI dalam konteks panduan memulai cepat, lihat Buat DB - Azure CLI dan Buat satu database dan konfigurasi aturan firewall IP tingkat server menggunakan Azure CLI.

Untuk Azure Synapse Analytics, lihat contoh berikut:

Cmdlet Tingkat Deskripsi
Perintah az synapse workspace firewall-rule create digunakan untuk membuat aturan firewall pada ruang kerja Azure Synapse. Server Membuat aturan firewall
az synapse workspace firewall-rule delete Server Hapus aturan firewall
daftar aturan firewall pada ruang kerja az synapse Server Daftar semua aturan firewall
az synapse workspace firewall-rule show Server Dapatkan aturan firewall
pembaruan aturan firewall ruang kerja az synapse Server Perbarui aturan firewall
az synapse workspace firewall-rule wait Server Tempatkan CLI dalam status tunggu hingga kondisi aturan firewall terpenuhi

Contoh berikut menggunakan CLI untuk mengatur aturan firewall IP tingkat server di Azure Synapse:

az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

Gunakan REST API untuk mengelola aturan firewall IP level-server

API Tingkat Deskripsi
Buat daftar aturan firewall Server Menampilkan aturan firewall IP level-server saat ini
Buat atau perbarui aturan firewall Server Membuat atau memperbarui aturan firewall IP tingkat server
Hapus aturan firewall Server Menghapus aturan firewall IP tingkat server
Dapatkan aturan firewall Server Mengambil aturan firewall IP di tingkat server

Pemecahan masalah firewall database

Pertimbangkan poin berikut saat mengakses Azure SQL Database tidak bekerja sesuai yang Anda harapkan.

  • Konfigurasi firewall lokal:

    Sebelum komputer Anda dapat mengakses Azure SQL Database, Anda mungkin perlu membuat pengecualian firewall pada komputer Anda untuk port TCP 1433. Untuk membuat koneksi di dalam Batas cloud Azure, Anda mungkin harus membuka port tambahan. Untuk informasi lebih lanjut, lihat bagian "SQL Database: Di Luar vs Di Dalam" dari Port di atas 1433 untuk ADO.NET 4.5 dan Azure SQL Database.

  • Terjemahan alamat jaringan:

    Karena terjemahan alamat jaringan (NAT), alamat IP yang digunakan oleh komputer Anda untuk terhubung dengan Azure SQL Database mungkin berbeda dari alamat IP di pengaturan konfigurasi IP komputer Anda. Untuk melihat alamat IP yang sedang digunakan komputer Anda untuk terhubung ke Azure:

    1. Masuk ke portal.
    2. Buka tab Konfigurasi pada server yang menghosting database Anda.
    3. Alamat IP Klien Saat Ini ditampilkan di bagian Alamat IP Yang Diizinkan. Pilih Tambahkan untuk Alamat IP Yang Diizinkan untuk memungkinkan komputer ini mengakses server.
  • Perubahan pada daftar yang diperbolehkan belum berlaku:

    Keterlambatan hingga lima menit mungkin terjadi sebelum perubahan pada konfigurasi firewall Azure SQL Database mulai berlaku.

  • Login tidak diizinkan, atau kata sandi salah digunakan:

    Jika login tidak memiliki izin pada server atau kata sandi salah, koneksi ke server ditolak. Membuat pengaturan firewall hanya memberi klien kesempatan untuk mencoba terhubung dengan server. Klien masih harus menyediakan kredensial keamanan yang diperlukan. Untuk informasi lebih lanjut tentang menyiapkan login, lihat Mengontrol dan berikan akses database.

  • Alamat IP Dinamis:

    Jika Anda memiliki koneksi internet yang menggunakan alamat IP dinamis dan Anda memiliki masalah melewati firewall, cobalah solusi berikut ini:

    • Tanyakan penyedia layanan internet Anda rentang alamat IP yang ditetapkan untuk komputer klien yang mengakses server. Tambahkan rentang alamat IP sebagai aturan firewall IP.
    • Dapatkan alamat IP statis sebagai gantinya untuk komputer klien Anda. Tambahkan alamat IP sebagai aturan IP firewall.

Langkah berikutnya