Tutorial: Mengamankan database pada Azure SQL Database
Berlaku untuk: Azure SQL Database
Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat aturan firewall tingkat server dan tingkat database
- Mengonfigurasi administrator Microsoft Entra
- Mengelola akses pengguna dengan autentikasi SQL, autentikasi Microsoft Entra, dan string koneksi aman
- Aktifkan fitur keamanan, seperti Pertahanan Microsoft untuk SQL, pengauditan, penyamaran data, dan enkripsi
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Azure SQL Database mengamankan data dengan memungkinkan Anda:
- Membatasi akses menggunakan aturan firewall
- Menggunakan mekanisme autentikasi yang memerlukan identitas
- Menggunakan otorisasi dengan keanggotaan dan izin berbasis peran
- Mengaktifkan fitur keamanan
Catatan
Azure SQL Managed Instance diamankan menggunakan aturan keamanan jaringan dan titik akhir privat seperti yang dijelaskan dalam Azure SQL Managed Instance dan arsitektur konektivitas.
Untuk mempelajari selengkapnya, lihat artikel Ringkasan keamanan Azure SQL Database dan kapabilitas.
Tip
Modul Learn gratis ini menunjukkan kepada Anda cara Mengamankan database Anda di Azure SQL Database.
Prasyarat
Untuk menyelesaikan tutorial ini, pastikan prasyarat berikut dipenuhi:
- SQL Server Management Studio
- Server dan database tunggal
- Membuatnya dengan portal Microsoft Azure, CLI, atau PowerShell
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Masuk ke portal Microsoft Azure.
Untuk semua langkah di tutorial ini, masuk ke portal Microsoft Azure
Membuat aturan firewall
Database di Azure SQL Database dilindungi oleh firewall di Azure. Secara default, semua koneksi ke server dan database ditolak. Untuk mempelajari selengkapnya, lihat aturan firewall tingkat server dan tingkat database.
Atur Izinkan akses ke layanan Azure ke NONAKTIF untuk konfigurasi yang paling aman. Kemudian, buat IP khusus (penerapan klasik) untuk sumber daya yang perlu disambungkan, seperti Azure VM atau layanan cloud, dan hanya izinkan akses alamat IP tersebut melalui firewall. Jika Anda menggunakan model penerapan Azure Resource Manager, alamat IP publik khusus diperlukan untuk setiap sumber daya.
Catatan
SQL Database berkomunikasi melalui port 1433. Jika Anda mencoba terhubung dari dalam jaringan perusahaan, lalu lintas keluar melalui port 1433 mungkin tidak diizinkan oleh firewall jaringan Anda. Jika demikian, Anda tidak dapat tersambung ke server kecuali administrator membuka port 1433.
Menyiapkan aturan firewall tingkat server
Aturan firewall IP tingkat server berlaku untuk semua database dalam server yang sama.
Untuk menyiapkan aturan firewall tingkat server:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Catatan
Pastikan untuk menyalin nama server Anda yang sepenuhnya memenuhi syarat (seperti yourserver.database.windows.net) untuk digunakan nanti dalam tutorial.
Pilih Jaringan di bawah Pengaturan. Pilih tab Akses Publik, lalu pilih Jaringan yang dipilih di bawah Akses jaringan publik untuk menampilkan bagian Aturan firewall.
Pilih Tambahkan IP klien pada toolbar untuk menambahkan alamat IP Anda saat ini ke aturan firewall IP baru. Aturan firewall IP dapat membuka port 1433 untuk satu alamat IP atau rentang alamat IP.
Pilih OK untuk menyimpan pengaturan firewall Anda.
Sekarang Anda bisa menyambungkan ke database apa pun di server dengan satu alamat IP atau sekumpulan alamat IP tertentu.
Menyiapkan aturan firewall database
Aturan firewall tingkat database hanya berlaku untuk database secara individual. Database akan mempertahankan aturan ini selama kegagalan server. Aturan firewall tingkat database hanya dapat dikonfigurasi menggunakan pernyataan T-SQL, dan hanya setelah Anda mengonfigurasi aturan firewall tingkat server.
Untuk menyiapkan aturan firewall tingkat database:
Anda harus tersambung ke database, misalnya menggunakan SQL Server Management Studio.
Di Object Explorer, klik kanan database, lalu pilih Kueri Baru.
Di jendela kueri, tambahkan pernyataan ini, lalu ubah alamat IP menjadi alamat IP umum Anda:
EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
Pada bilah alat, pilih Jalankan untuk membuat aturan firewall.
Catatan
Anda juga dapat membuat aturan firewall tingkat server di SSMS dengan menggunakan perintah sp_set_firewall_rule, meskipun Anda harus tersambung ke database master.
Membuat admin Microsoft Entra
Pastikan Anda menggunakan domain terkelola Microsoft Entra ID (sebelumnya Azure Active Directory) yang sesuai. Untuk memilih domain Anda, gunakan sudut kanan atas portal Azure. Proses ini mengonfirmasi langganan yang sama digunakan untuk ID Microsoft Entra dan server logis yang menghosting database atau gudang data Anda.
Untuk mengatur administrator Microsoft Entra:
Di portal Azure, pada halaman server SQL, pilih ID Microsoft Entra dari menu sumber daya, lalu pilih Atur admin untuk membuka panel ID Microsoft Entra.
Penting
Anda harus menjadi "Administrator Global" untuk melakukan tugas ini.
Pada panel ID Microsoft Entra, cari dan pilih pengguna atau grup Microsoft Entra dan pilih Pilih. Semua anggota dan grup organisasi Microsoft Entra Anda tercantum, dan entri berwarna abu-abu tidak didukung sebagai administrator Microsoft Entra.
Penting
Kontrol akses berbasis peran Azure (Azure RBAC) hanya berlaku untuk portal dan tidak disebarluaskan ke SQL Server.
Di bagian atas halaman admin Microsoft Entra, pilih Simpan.
Proses mengubah administrator mungkin memakan waktu beberapa menit. Administrator baru akan muncul di bidang admin Microsoft Entra.
Catatan
Saat mengatur admin Microsoft Entra, nama admin baru (pengguna atau grup) tidak dapat ada sebagai login atau pengguna dalam database master . Jika ada, penyiapan akan gagal dan perubahan akan dikembalikan, yang menunjukkan bahwa nama admin tersebut sudah ada. Karena login server atau pengguna bukan bagian dari ID Microsoft Entra, upaya apa pun untuk menghubungkan pengguna menggunakan autentikasi Microsoft Entra gagal.
Untuk informasi tentang mengonfigurasi ID Microsoft Entra, lihat:
- Mengintegrasikan identitas lokal Anda dengan ID Microsoft Entra
- Menambahkan nama domain Anda sendiri ke ID Microsoft Entra
- Federasi dengan ID Microsoft Entra
- Mengelola direktori Microsoft Entra Anda
- Mengelola ID Microsoft Entra menggunakan PowerShell
- Identitas hibrida memerlukan port dan protokol
Mengelola akses database
Kelola akses database dengan menambahkan pengguna ke database, atau mengizinkan akses pengguna dengan string koneksi yang aman. String koneksi berguna untuk aplikasi eksternal. Untuk mempelajari selengkapnya, lihat Mengelola login dan akun pengguna dan autentikasi Microsoft Entra.
Untuk menambahkan pengguna, pilih tipe autentikasi database:
Untuk autentikasi SQL, gunakan nama pengguna dan kata sandi untuk login dan hanya valid dalam konteks database tertentu dalam server
Autentikasi Microsoft Entra, gunakan identitas yang dikelola oleh ID Microsoft Entra
Autentikasi SQL
Untuk menambahkan pengguna dengan autentikasi SQL:
Anda harus tersambung ke database, misalnya menggunakan SQL Server Management Studio.
Di Object Explorer, klik kanan database, lalu pilih Kueri Baru.
Di jendela kueri, masukkan perintah berikut ini:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Pada bilah alat, pilih Jalankan untuk membuat pengguna.
Secara default, pengguna dapat tersambung ke database, tetapi tidak memiliki izin untuk membaca atau menulis data. Untuk memberikan izin ini, jalankan perintah berikut di jendela kueri baru:
ALTER ROLE db_datareader ADD MEMBER ApplicationUser; ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
Catatan
Buat akun non-administrator di tingkat database, kecuali akun tersebut perlu menjalankan tugas administrator seperti membuat pengguna baru.
Autentikasi Microsoft Entra
Karena Azure SQL Database tidak mendukung prinsipal server Microsoft Entra (masuk), pengguna database yang dibuat dengan akun Microsoft Entra dibuat sebagai pengguna database mandiri. Pengguna database mandiri tidak terkait dengan login dalam master
database, bahkan jika ada login dengan nama yang sama. Identitas Microsoft Entra dapat berupa untuk pengguna individual atau grup. Untuk informasi selengkapnya, lihat Pengguna database mandiri, membuat database Anda portabel dan meninjau tutorial Microsoft Entra tentang cara mengautentikasi menggunakan ID Microsoft Entra.
Catatan
Pengguna database (tidak termasuk administrator) tidak dapat dibuat menggunakan portal Microsoft Azure. Peran Microsoft Entra tidak menyebar ke server SQL, database, atau gudang data. Mereka hanya digunakan untuk mengelola sumber daya Azure dan tidak berlaku untuk izin database.
Misalnya, peran Kontributor SQL Server tidak memberikan akses untuk menyambungkan ke database atau gudang data. Izin ini harus diberikan dalam database menggunakan pernyataan T-SQL.
Penting
Karakter khusus seperti titik dua :
atau ampersan &
tidak didukung dalam nama pengguna di pernyataan CREATE LOGIN
dan CREATE USER
T-SQL.
Untuk menambahkan pengguna dengan autentikasi Microsoft Entra:
Sambungkan ke server Anda di Azure menggunakan akun Microsoft Entra dengan setidaknya izin UBAH PENGGUNA APA PUN.
Di Object Explorer, klik kanan database, lalu pilih Kueri Baru.
Di jendela kueri, masukkan perintah berikut dan ubah
<Azure_AD_principal_name>
ke nama utama pengguna Microsoft Entra atau nama tampilan grup Microsoft Entra:CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
Catatan
Pengguna Microsoft Entra ditandai dalam metadata database dengan jenis E (EXTERNAL_USER)
dan jenis X (EXTERNAL_GROUPS)
untuk grup. Untuk informasi selengkapnya, lihat sys.databases_principals.
String koneksi yang aman
Untuk memastikan koneksi yang aman dan terenkripsi antara aplikasi klien dan Microsoft Azure SQL Database, string koneksi harus dikonfigurasi agar:
- Meminta koneksi terenkripsi
- Tidak memercayai sertifikat server
Koneksi dibuat menggunakan Transport Layer Security (TLS) dan mengurangi risiko serangan man-in-the-middle. String koneksi tersedia per database dan telah dikonfigurasi sebelumnya untuk mendukung driver klien seperti ADO.NET, JDBC, ODBC, dan PHP. Untuk informasi tentang TLS dan konektivitas, lihat pertimbangan TLS.
Untuk menyalin string koneksi yang aman:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Di halaman Ringkasan, pilih Tampilkan string koneksi database.
Pilih tab driver, lalu salin string koneksi lengkap.
Mengaktifkan fitur keamanan
Microsoft Azure SQL Database menyediakan fitur keamanan yang diakses menggunakan portal Microsoft Azure. Fitur-fitur ini tersedia untuk database dan server, kecuali untuk masking data, yang hanya tersedia di database. Untuk mempelajari lebih lanjut, lihat Pertahanan Microsoft untuk SQL, Pengauditan, Penyamaran data dinamis, dan Enkripsi data transparan.
Microsoft Defender untuk SQL
Fitur Pertahanan Microsoft untuk SQL mendeteksi potensi ancaman saat terjadi dan memberikan pemberitahuan keamanan saat terjadi aktivitas yang tidak wajar. Pengguna dapat menjelajahi peristiwa mencurigakan ini menggunakan fitur audit, dan menentukan apakah peristiwa itu dapat mengakses, melanggar, atau mengeksploitasi data di database. Pengguna juga diberikan ringkasan keamanan yang mencakup penilaian kerentanan, serta alat penemuan dan klasifikasi data.
Catatan
Contoh ancamannya adalah injeksi SQL, sebuah proses saat penyerang menyuntikkan SQL berbahaya ke dalam input aplikasi. Aplikasi kemudian tanpa sadar dapat mengeksekusi SQL berbahaya dan memungkinkan penyerang mengakses untuk melanggar atau memodifikasi data di database.
Untuk mengaktifkan Pertahanan Microsoft untuk SQL:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Pada halaman Ringkasan, pilih link Nama server. Halaman server akan terbuka.
Di halaman server SQL, temukan bagian Keamanan dan pilih Pertahanan Microsoft untuk Cloud.
Pilih ON di bagian Pertahanan Microsoft untuk SQL untuk mengaktifkan fitur tersebut. Pilih akun penyimpanan untuk menyimpan hasil penilaian kerentanan. Kemudian pilih Simpan.
Anda juga dapat mengonfigurasi email untuk menerima peringatan keamanan, detail penyimpanan, dan jenis deteksi ancaman.
Kembali ke halaman database SQL dalam database Anda dan pilih Pertahanan Microsoft untuk Cloud di bagian Keamanan. Di sini Anda akan menemukan berbagai indikator keamanan yang tersedia untuk database.
Jika aktivitas anomali terdeteksi, Anda akan menerima email berisi informasi tentang peristiwa tersebut. Ini termasuk sifat aktivitas, database, server, waktu peristiwa, kemungkinan penyebab, dan tindakan yang direkomendasikan untuk menyelidiki dan memitigasi potensi ancaman. Jika email tersebut diterima, pilih link Log Audit Azure SQL untuk meluncurkan portal Microsoft Azure dan menampilkan catatan audit yang relevan untuk waktu peristiwa terjadi.
Audit
Fitur pengauditan melacak peristiwa database dan menulis peristiwa ke log audit di penyimpanan Azure, log Azure Monitor, atau ke hub peristiwa. Audit membantu menjaga kepatuhan terhadap peraturan, memahami aktivitas database, dan memperoleh wawasan tentang adanya perbedaan dan anomali yang dapat menunjukkan dugaan ancaman keamanan.
Untuk mengaktifkan pengauditan:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Di bagian Keamanan, pilih Pengauditan.
Di bawah Pengaturan pengauditan, atur nilai berikut ini:
Atur Pengauditan ke ON.
Pilih Tujuan log audit sebagai salah satu hal berikut ini:
Penyimpanan, akun penyimpanan Azure tempat log peristiwa disimpan dan dapat diunduh sebagai file .xel
Tip
Gunakan akun penyimpanan yang sama untuk semua database yang diaudit untuk mendapatkan hasil maksimal dari mengaudit templat laporan.
Analitik Log, yang secara otomatis menyimpan peristiwa untuk kueri atau analisis lebih lanjut
Catatan
Ruang kerja Analitik Log diperlukan untuk mendukung fitur tingkat lanjut seperti analitik, aturan pemberitahuan kustom, dan ekspor Excel atau Power BI. Tanpa ruang kerja, hanya editor kueri yang tersedia.
Event Hub, yang memungkinkan acara dirutekan untuk digunakan dalam aplikasi lain
Pilih Simpan.
Sekarang Anda bisa memilih Tampilkan log audit untuk menampilkan data peristiwa database.
Penting
Lihat pengauditan SQL Database tentang cara mengkustomisasi lebih lanjut peristiwa audit menggunakan PowerShell atau REST API.
Penyelubungan data dinamis
Fitur masking data akan secara otomatis menyembunyikan data sensitif di database Anda.
Untuk mengaktifkan masking data:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Di bagian Keamanan, pilih Masking Data Dinamis.
Di bawah Pengaturan masking data dinamis, pilih Tambahkan masking untuk menambahkan aturan masking. Azure akan secara otomatis mengisi skema database, tabel, dan kolom yang tersedia untuk dipilih.
Pilih Simpan. Informasi yang dipilih sekarang diberi masking untuk privasi.
Enkripsi data transparan
Fitur enkripsi secara otomatis mengenkripsi data tidak aktif, dan tidak memerlukan perubahan pada aplikasi yang mengakses database terenkripsi. Untuk database baru, enkripsi dilakukan secara default. Anda juga dapat mengenkripsi data menggunakan SSMS dan fitur Selalu dienkripsi.
Untuk mengaktifkan atau memverifikasi enkripsi:
Di portal Microsoft Azure, pilih database SQL dari menu sebelah kiri, dan pilih database Anda di halaman database SQL.
Di bagian Keamanan, pilih Enkripsi data transparan.
Jika perlu, atur Enkripsi data ke ON. Pilih Simpan.
Catatan
Untuk menampilkan status enkripsi, sambungkan ke database menggunakan SSMS dan kueri encryption_state
kolom tampilan sys.dm_database_encryption_keys. Status 3
menunjukkan database dienkripsi.
Catatan
Beberapa item yang dianggap sebagai konten pelanggan, seperti nama tabel, nama objek, dan nama indeks, mungkin dikirimkan dalam file log untuk dukungan dan pemecahan masalah oleh Microsoft.
Konten terkait
- Coba Azure SQL Database secara gratis (pratinjau)
- Apa yang baru di Azure SQL Database?
- Mengonfigurasi dan mengelola referensi konten - Azure SQL Database
- Merencanakan dan mengelola biaya untuk Azure SQL Database
Tip
Siap untuk mulai mengembangkan aplikasi .NET? Modul Learn gratis ini menunjukkan kepada Anda cara Mengembangkan dan mengonfigurasi aplikasi ASP.NET yang meminta Azure SQL Database, termasuk pembuatan database sederhana.
Langkah selanjutnya
Lanjutkan ke tutorial berikutnya untuk mempelajari cara menerapkan distribusi geografis.