Mengamankan Azure Database for MySQL Anda

Azure Database for MySQL adalah layanan database relasional terkelola penuh yang menyediakan ketersediaan tinggi, pencadangan otomatis, dan hosting database yang kompatibel dengan MySQL yang dapat diskalakan. Mengamankan penyebaran server fleksibel Anda membantu melindungi data sensitif, mengurangi paparan identitas dan jaringan, dan mendukung persyaratan kepatuhan.

Artikel ini memberikan rekomendasi keamanan untuk membantu melindungi penyebaran Azure Database for MySQL Anda.

Rekomendasi keamanan dalam artikel ini menerapkan prinsip-prinsip Zero Trust: "Verifikasi secara eksplisit", "Gunakan akses hak istimewa paling sedikit", dan "Asumsikan pelanggaran". Untuk panduan Zero Trust yang komprehensif, lihat Pusat Panduan Zero Trust.

Keamanan jaringan

Kontrol keamanan jaringan membantu membatasi cara klien mengakses instans flexible server Azure Database for MySQL dan mengurangi paparan terhadap lalu lintas internet publik.

Pengelolaan identitas dan akses

Kontrol identitas dan akses membantu memusatkan autentikasi, mengurangi paparan kredensial, dan memberlakukan hak istimewa paling sedikit untuk operasi manajemen Azure dan akses database.

  • Gunakan autentikasi Microsoft Entra untuk akses database: Mengonfigurasi autentikasi Microsoft Entra untuk server fleksibel Azure Database for MySQL sehingga pengguna dan aplikasi dapat mengautentikasi dengan identitas Microsoft Entra alih-alih hanya mengandalkan kata sandi MySQL. Untuk informasi selengkapnya, lihat autentikasi Microsoft Entra untuk Azure Database for MySQL - Server Fleksibel.
  • Gunakan autentikasi khusus Microsoft Entra jika memungkinkan: Nonaktifkan autentikasi asli MySQL setelah Anda memigrasikan pengguna dan aplikasi untuk Microsoft Entra autentikasi untuk mengurangi jalur akses berbasis kata sandi ke server fleksibel. Untuk informasi selengkapnya, lihat autentikasi Microsoft Entra untuk Azure Database for MySQL - Server Fleksibel.
  • Gunakan identitas terkelola untuk koneksi aplikasi: Gunakan identitas terkelola atau perwakilan layanan dengan autentikasi Microsoft Entra sehingga aplikasi terhubung ke Azure Database for MySQL dengan token alih-alih kata sandi database yang disematkan. Untuk informasi selengkapnya, lihat autentikasi Microsoft Entra untuk Azure Database for MySQL - Server Fleksibel.
  • Tetapkan izin database hak istimewa terkecil: Buat pengguna MySQL khusus atau pengguna database yang dipetakan Microsoft Entra untuk setiap aplikasi atau fungsi administratif, dan hanya berikan izin skema, tabel, dan operasi yang dibutuhkan setiap identitas. Untuk informasi selengkapnya, lihat Membuat pengguna di Azure Database for MySQL.
  • Terapkan Akses Bersyarat untuk administrator Azure Database for MySQL: Terapkan kebijakan Akses Bersyarat yang memerlukan autentikasi multifaktor untuk identitas yang dapat mengelola sumber daya server fleksibel melalui alat Azure Resource Manager seperti portal Azure, Azure CLI, dan Azure PowerShell. Untuk informasi lebih lanjut, lihat Require MFA for Azure management.

Perlindungan data

Azure Database for MySQL secara default mengenkripsi data yang disimpan dengan kunci yang dikelola oleh layanan. Kontrol berikut memberi Anda lebih banyak kontrol atas enkripsi, manajemen kunci, dan koneksi klien terenkripsi.

  • Memerlukan koneksi klien terenkripsi: Tetap require_secure_transport aktifkan sehingga koneksi klien Azure Database for MySQL menggunakan enkripsi TLS dan tidak mengirim lalu lintas database dalam teks yang jelas. Untuk informasi selengkapnya, lihat Keamanan Lapisan Transportasi (TLS) di Azure Database for MySQL.
  • Terapkan TLS 1.3 untuk server MySQL 8.0: Atur tls_version ke TLS 1.3 di server fleksibel Azure Database for MySQL 8.0 setelah Anda mengonfirmasi bahwa aplikasi dan driver klien mendukung TLS 1.3. Untuk informasi selengkapnya, lihat Keamanan Lapisan Transportasi (TLS) di Azure Database for MySQL.
  • Memvalidasi sertifikat server dari klien: Mengonfigurasi aplikasi klien untuk memvalidasi rantai sertifikat server dan mempercayai hanya otoritas sertifikat akar sehingga rotasi CA perantara rutin atau sertifikat server tidak merusak koneksi yang aman. Untuk informasi selengkapnya, lihat Keamanan Lapisan Transportasi (TLS) di Azure Database for MySQL.
  • Gunakan kunci yang dikelola pelanggan untuk kontrol kunci: Gunakan kunci yang dikelola pelanggan yang disimpan di Azure Key Vault atau Azure Key Vault HSM Terkelola saat Anda memerlukan pemisahan tugas, manajemen siklus hidup kunci yang dikontrol pelanggan, atau kontrol kepatuhan lainnya untuk enkripsi data tidak aktif. Untuk informasi selengkapnya, lihat Enkripsi data dengan kunci yang dikelola pelanggan untuk Azure Database for MySQL.
  • Lindungi dependensi pada kunci yang dikelola pelanggan: Aktifkan penghapusan sementara dan proteksi pembersihan permanen pada Key Vault atau Managed HSM yang menyimpan kunci yang dikelola pelanggan, tetapkan izin kunci yang diperlukan kepada identitas terkelola yang ditetapkan pengguna milik server, dan pantau akses ke kunci karena hilangnya akses ke kunci dapat membuat Flexible Server tidak dapat diakses. Untuk informasi selengkapnya, lihat Enkripsi data dengan kunci yang dikelola pelanggan untuk Azure Database for MySQL.

Pencatatan dan pemantauan

Kontrol pengelogan dan pemantauan membantu Anda mendeteksi aktivitas database yang mencurigakan, menyelidiki perubahan administratif, dan mempertahankan bukti audit untuk kepatuhan.

Kepatuhan dan tata kelola

Kontrol kepatuhan dan tata kelola membantu Anda menerapkan konfigurasi aman yang konsisten di seluruh armada server yang fleksibel Azure Database for MySQL dan melindungi sumber daya produksi dari perubahan yang tidak disengaja atau tidak sah.

  • Terapkan pembuatan log diagnostik dengan Azure Policy: Tetapkan definisi Azure Policy bawaan untuk microsoft.dbformysql/flexibleservers pengaturan diagnostik, seperti kebijakan yang merutekan log ke Log Analytics, Azure Event Hubs, atau Storage, sehingga data audit server yang fleksibel dikumpulkan secara konsisten. Untuk informasi selengkapnya, lihat Definisi kebijakan bawaan Azure Policy.
  • Terapkan kunci penghapusan pada server produksi: Tambahkan kunci CanNotDelete ke resource server fleksibel Azure Database for MySQL produksi untuk mengurangi risiko penghapusan yang tidak disengaja tanpa memengaruhi perubahan operasional normal. Untuk informasi selengkapnya, lihat Mengunci sumber daya Azure Anda untuk melindungi infrastruktur Anda.
  • Menandai sumber daya database untuk tata kelola: Menerapkan tag seperti beban kerja, lingkungan, klasifikasi data, pemilik, dan pusat biaya untuk Azure Database for MySQL sumber daya server yang fleksibel sehingga penetapan kebijakan, kueri inventaris, dan tinjauan biaya dapat membedakan beban kerja database produksi dan sensitif. Untuk informasi selengkapnya, lihat Gunakan tag untuk mengatur sumber daya Azure dan hierarki manajemen Anda.

Pencadangan dan pemulihan

Kontrol pencadangan dan pemulihan membantu Anda pulih dari penghapusan yang tidak disengaja, kerusakan data, pemadaman regional, dan operasi perubahan berisiko.

Langkah berikutnya