Praktik terbaik untuk mengamankan database PaaS di Azure

Dalam artikel ini, kita membahas kumpulan praktik terbaik keamanan Azure SQL Database dan Azure Synapse Analytics untuk mengamankan aplikasi ponsel dan web platform-as-a-service (PaaS) Anda. Praktik terbaik ini berasal dari pengalaman kami dengan Azure dan pengalaman pelanggan seperti Anda.

Azure SQL Database dan Azure Synapse Analytics menyediakan layanan database hubungan untuk aplikasi berbasis internet Anda. Mari kita lihat layanan yang membantu melindungi aplikasi dan data Anda saat menggunakan Azure SQL Database dan Azure Synapse Analytics dalam penyebaran PaaS:

  • Autentikasi Microsoft Entra (bukan autentikasi SQL Server)
  • Firewall Azure SQL
  • Transparent Data Encryption (TDE)

Menggunakan repositori identitas terpusat

Azure SQL Database dapat dikonfigurasi untuk menggunakan salah satu dari dua jenis autentikasi:

  • Autentikasi SQL menggunakan nama pengguna dan kata sandi. Saat Anda membuat server untuk database Anda, Anda menentukan login "admin server" dengan nama pengguna dan kata sandi. Menggunakan info masuk ini, Anda dapat mengautentikasi ke database mana pun di server tersebut sebagai pemilik database.

  • Autentikasi Microsoft Entra menggunakan identitas yang dikelola oleh MICROSOFT Entra ID dan didukung untuk domain terkelola dan terintegrasi. Untuk menggunakan autentikasi Microsoft Entra, Anda harus membuat admin server lain yang disebut "admin Microsoft Entra", yang diizinkan untuk mengelola pengguna dan grup Microsoft Entra. Admin ini juga dapat melakukan semua operasi yang dapat dilakukan admin server reguler.

Autentikasi Microsoft Entra adalah mekanisme menyambungkan ke Azure SQL Database dan Azure Synapse Analytics dengan menggunakan identitas di ID Microsoft Entra. MICROSOFT Entra ID menyediakan alternatif untuk autentikasi SQL Server sehingga Anda dapat menghentikan proliferasi identitas pengguna di seluruh server database. Autentikasi Microsoft Entra memungkinkan Anda mengelola identitas pengguna database dan layanan Microsoft lain secara terpusat di satu lokasi pusat. Manajemen ID Pusat menyediakan satu tempat untuk mengelola pengguna database dan menyederhanakan manajemen izin.

Manfaat menggunakan ID Microsoft Entra alih-alih autentikasi SQL

  • Mengizinkan rotasi kata sandi di satu tempat.
  • Mengelola izin database menggunakan grup Microsoft Entra eksternal.
  • Menghilangkan penyimpanan kata sandi dengan mengaktifkan autentikasi Windows terintegrasi dan bentuk autentikasi lain yang didukung oleh ID Microsoft Entra.
  • Menggunakan pengguna database yang terkandung untuk mengautentikasi identitas di tingkat database.
  • Mendukung autentikasi berbasis token untuk aplikasi yang tersambung ke SQL Database.
  • Mendukung federasi domain dengan Active Directory Federation Services (ADFS) atau autentikasi pengguna/kata sandi asli untuk ID Microsoft Entra lokal tanpa sinkronisasi domain.
  • Mendukung koneksi dari SQL Server Management Studio yang menggunakan Autentikasi Universal Direktori Aktif, yang mencakup Autentikasi Multifaktor (MFA). MFA mencakup autentikasi yang kuat dengan berbagai opsi verifikasi yang mudah. Opsi verifikasi adalah panggilan telepon, pesan teks, kartu pintar dengan pin, atau pemberitahuan aplikasi seluler. Untuk informasi selengkapnya, lihat Autentikasi Universal dengan SQL Database dan Azure Synapse Analytics.

Untuk mempelajari selengkapnya tentang autentikasi Microsoft Entra, lihat:

Catatan

Untuk memastikan bahwa ID Microsoft Entra cocok untuk lingkungan Anda, lihat Fitur dan batasan Microsoft Entra.

Membatasi akses berdasarkan alamat IP

Anda dapat membuat aturan firewall yang menentukan rentang alamat IP yang dapat diterima. Aturan tersebut dapat ditargetkan pada tingkat server dan database. Sebaiknya gunakan aturan firewall tingkat database jika memungkinkan untuk meningkatkan keamanan dan membuat database Anda lebih portabel. Aturan firewall tingkat server paling baik digunakan untuk admin dan saat Anda memiliki banyak database yang memiliki persyaratan akses yang sama tetapi Anda tidak ingin menghabiskan waktu untuk mengonfigurasi setiap database satu per satu.

Pembatasan alamat IP sumber default SQL Database memungkinkan akses dari alamat Azure mana pun, termasuk langganan dan penyewa lainnya. Anda dapat membatasi akses ke instans hanya untuk alamat IP Anda. Bahkan dengan pembatasan alamat IP dan firewall SQL Anda, autentikasi yang kuat masih diperlukan. Lihat rekomendasi yang dibuat sebelumnya di artikel ini.

Untuk mempelajari selengkapnya tentang pembatasan IP dan Azure SQL Firewall, lihat:

Mengenkripsi data tidak aktif

Transparent Data Encryption (TDE) diaktifkan secara default. TDE secara transparan mengenkripsi data dan file log SQL Server, Azure SQL Database, dan Azure Synapse Analytics. TDE melindungi dari kompromi akses langsung ke file atau cadangannya. Hal tersebut memungkinkan Anda mengenkripsi data tidak aktif tanpa mengubah aplikasi yang ada. TDE harus selalu diaktifkan; namun, tindakan tersebut tidak akan menghentikan penyerang menggunakan jalur akses normal. TDE menyediakan kemampuan untuk mematuhi banyak undang-undang, peraturan, dan pedoman yang ditetapkan di berbagai industri.

Azure SQL mengelola masalah terkait kunci untuk TDE. Seperti halnya TDE, perhatian khusus secara lokal harus dilakukan untuk memastikan pemulihan dan saat memindahkan database. Dalam skenario yang lebih canggih, kunci dapat dikelola secara eksplisit di Azure Key Vault melalui manajemen kunci yang dapat diperluas. Lihat Mengaktifkan TDE di SQL Server Menggunakan EKM. Tindakan tersebut juga memungkinkan Bring Your Own Key (BYOK) melalui kemampuan Azure Key Vaults BYOK.

Azure SQL menyediakan enkripsi untuk kolom melalui Always Encrypted. Enkripsi ini hanya mengizinkan akses aplikasi yang diotorisasi ke kolom sensitif. Menggunakan enkripsi semacam ini membatasi kueri SQL untuk kolom terenkripsi ke nilai berbasis kesetaraan.

Enkripsi tingkat aplikasi juga harus digunakan untuk data selektif. Masalah kedaulatan data terkadang dapat dimitigasi dengan mengenkripsi data dengan kunci yang disimpan di negara/wilayah yang benar. Hal tersebut mencegah transfer data yang tidak disengaja dari menyebabkan masalah karena tidak mungkin untuk mendekripsi data tanpa kunci, dengan asumsi algoritma yang kuat digunakan (seperti AES 256).

Anda dapat menggunakan tindakan pencegahan tambahan untuk membantu mengamankan database, seperti merancang sistem yang aman, mengenkripsi aset rahasia, dan membangun firewall di sekitar server database.

Langkah berikutnya

Artikel ini memperkenalkan Anda pada kumpulan praktik terbaik keamanan SQL Database dan Azure Synapse Analytics untuk mengamankan aplikasi ponsel dan web PaaS Anda. Untuk mempelajari selengkapnya tentang cara mengamankan penyebaran PaaS Anda, lihat: