Proteggere database di Azure per MySQL

Database di Azure per MySQL è un servizio di database relazionale completamente gestito che offre disponibilità elevata, backup automatizzati e hosting di database compatibili con MySQL scalabile. La protezione delle distribuzioni di server flessibili consente di proteggere i dati sensibili, ridurre l'esposizione delle identità e della rete e supportare i requisiti di conformità.

Questo articolo fornisce raccomandazioni sulla sicurezza per proteggere la distribuzione di Database di Azure per MySQL.

Le raccomandazioni sulla sicurezza in questo articolo implementano i principi Zero Trust: "Verificare in modo esplicito", "Usare l'accesso con privilegi minimi" e "Presupporre violazione". Per indicazioni complete su Zero Trust, vedere Zero Trust Guidance Center.

Sicurezza di rete

I controlli di sicurezza di rete consentono di limitare il modo in cui i client raggiungono Database di Azure per MySQL istanze del server flessibili e riducono l'esposizione al traffico Internet pubblico.

Gestione delle identità e degli accessi

I controlli di identità e accesso consentono di centralizzare l'autenticazione, ridurre l'esposizione delle credenziali e applicare privilegi minimi sia per le operazioni di gestione Azure che per l'accesso al database.

  • Usare l'autenticazione di Microsoft Entra per l'accesso al database: configurare l'autenticazione di Microsoft Entra per il server flessibile di Database di Azure per MySQL in modo che utenti e applicazioni possano autenticarsi con identità Microsoft Entra anziché affidarsi solo alle password di MySQL. Per ulteriori informazioni, vedi Autenticazione di Microsoft Entra per Database di Azure per MySQL - Server flessibile.
  • Usare l'autenticazione solo Microsoft Entra quando possibile: disabilitare l'autenticazione nativa di MySQL dopo la migrazione di utenti e applicazioni all'autenticazione Microsoft Entra per ridurre i percorsi di accesso basati su password al server flessibile. Per ulteriori informazioni, vedere Autenticazione Microsoft Entra per Database di Azure per MySQL - Flexible Server.
  • Usa identità gestite per le connessioni delle applicazioni: usa identità gestite o entità servizio con l'autenticazione di Microsoft Entra per consentire alle applicazioni di connettersi ad Database di Azure per MySQL con token anziché password del database incorporate. Per altre informazioni, vedi Autenticazione Microsoft Entra per Database di Azure per MySQL - Server flessibile.
  • Assegnare autorizzazioni di database con privilegi minimi: creare utenti mySQL dedicati o utenti di database mappati Microsoft Entra per ogni applicazione o funzione amministrativa e concedere solo lo schema, la tabella e le autorizzazioni per le operazioni necessarie per ogni identità. Per altre informazioni, vedere Creare utenti in Database di Azure per MySQL.
  • Applicare l'accesso condizionale per gli amministratori di Database di Azure per MySQL: applicare criteri di accesso condizionale che richiedono l'autenticazione a più fattori per le identità in grado di gestire risorse server flessibili tramite strumenti Azure Resource Manager come il portale di Azure, interfaccia della riga di comando di Azure e Azure PowerShell. Per maggiori informazioni, vedi Richiedere MFA per la gestione Azure.

Protezione dei dati

Database di Azure per MySQL crittografa i dati inattivi con chiavi gestite dal servizio per impostazione predefinita. I controlli seguenti offrono maggiore controllo sulla crittografia, sulla gestione delle chiavi e sulle connessioni client crittografate.

  • Richiedi connessioni client crittografate: mantieni require_secure_transport abilitato in modo che le connessioni client a Database di Azure per MySQL usino la crittografia TLS e non inviino il traffico del database in testo non crittografato. Per altre informazioni, vedere Transport Layer Security (TLS) in Database di Azure per MySQL.
  • Applicare TLS 1.3 ai server MySQL 8.0: impostare tls_version su TLS 1.3 nei server flessibili di Database di Azure per MySQL 8.0 dopo aver confermato che le applicazioni client e i driver supportano TLS 1.3. Per altre informazioni, vedere Transport Layer Security (TLS) in Database di Azure per MySQL.
  • Convalidare i certificati server dai client: configurare le applicazioni client per convalidare la catena di certificati del server e considerare attendibili solo le autorità di certificazione radice, in modo che le rotazioni di certificati intermedi routine o del certificato del server non interrompano le connessioni sicure. Per altre informazioni, vedere Transport Layer Security (TLS) in Database di Azure per MySQL.
  • Usare chiavi gestite dal cliente per il controllo delle chiavi: usare chiavi gestite dal cliente archiviate in Azure Key Vault o Azure Key Vault modulo di protezione hardware gestito quando è necessaria la separazione dei compiti, la gestione del ciclo di vita delle chiavi controllata dal cliente o più controlli di conformità per la crittografia dei dati inattivi. Per altre informazioni, vedere Crittografia dei dati con chiavi gestite dal cliente per Database di Azure per MySQL.
  • Proteggere le dipendenze delle chiavi gestite dal cliente: abilitare l'eliminazione temporanea e la protezione dall'eliminazione definitiva nel Key Vault o nell'HSM gestito che archivia la chiave gestita dal cliente, assegnare le autorizzazioni necessarie sulla chiave all'identità gestita assegnata dall'utente del server e monitorare l'accesso alla chiave, perché la perdita dell'accesso alla chiave può rendere inaccessibile il server flessibile. Per altre informazioni, vedere Crittografia dei dati con chiavi gestite dal cliente per Database di Azure per MySQL.

Registrazione e monitoraggio

I controlli di registrazione e monitoraggio consentono di rilevare attività sospette del database, analizzare le modifiche amministrative e mantenere le prove di controllo per la conformità.

  • Abilitare i log di controllo di MySQL: impostare su audit_log_enabledON, scegliere i tipi di evento di controllo che soddisfano i requisiti di sicurezza e conformità e acquisire la connessione, gli eventi amministrativi, DDL e DML per l'analisi. Per altre informazioni, vedere Esercitazione: Configurare i log di controllo usando Database di Azure per MySQL - Server flessibile.
  • Indirizzare i log di controllo a Monitoraggio di Azure: configurare le impostazioni di diagnostica per inviare la categoria del MySqlAuditLogs log delle risorse a un'area di lavoro Log Analytics, all'hub eventi o all'account di archiviazione in modo da poter eseguire query sugli eventi di controllo nella AzureDiagnostics tabella, conservare le prove e integrare gli eventi di controllo del database con flussi di lavoro delle operazioni di sicurezza. Per altre informazioni, vedere Esercitazione: Configurare i log di controllo usando Database di Azure per MySQL - Server flessibile.
  • Usare la cartella di lavoro di controllo: usare la cartella di lavoro di controllo predefinita Monitoraggio di Azure per Database di Azure per MySQL per esaminare le azioni amministrative, i riepiloghi di controllo, gli eventi di connessione, i riepiloghi degli accessi alle tabelle e gli errori identificati. Per altre informazioni, vedere Esercitazione: Configurare i log di controllo usando Database di Azure per MySQL - Server flessibile.
  • Abilitare Defender per i database relazionali open source: Abilitare Microsoft Defender per i database relazionali open source in Microsoft Defender per il cloud in modo che le istanze di Server flessibile di Database di Azure per MySQL possano generare avvisi per attività del database anomale o potenzialmente dannose. Per altre informazioni, vedere Abilitare Defender per database relazionali open source in Azure.

Conformità e governance

I controlli di conformità e governance consentono di applicare una configurazione sicura coerente tra Database di Azure per MySQL flotta di server flessibili e proteggere le risorse di produzione da modifiche accidentali o non autorizzate.

  • Applicare la registrazione diagnostica con Criteri di Azure: assegnare definizioni di Criteri di Azure predefinite per microsoft.dbformysql/flexibleservers le impostazioni di diagnostica, ad esempio i criteri che instradano i log a Log Analytics, Hub eventi o Archiviazione, in modo che i dati di controllo del server flessibili vengano raccolti in modo coerente. Per ulteriori informazioni, vedere Definizioni delle policy predefinite di Criteri di Azure.
  • Applica blocchi di eliminazione ai server di produzione: aggiungere un blocco CanNotDelete alle risorse del server flessibile di Database di Azure per MySQL di produzione per ridurre il rischio di cancellazione accidentale, pur mantenendo le normali modifiche operative. Per altre informazioni, vedere Bloccare le risorse di Azure per proteggere l'infrastruttura.
  • Assegnare tag alle risorse del database per la governance: applicare tag quali carico di lavoro, ambiente, classificazione dei dati, proprietario e centro di costo alle risorse del server flessibile di Database di Azure per MySQL, in modo che le assegnazioni di criteri, le query dell'inventario e le revisioni dei costi possano distinguere i carichi di lavoro di database di produzione e quelli sensibili. Per altre informazioni, vedere Usare i tag per organizzare le risorse Azure e la gerarchia di gestione.

Backup e ripristino

I controlli di backup e ripristino consentono di eseguire il ripristino da eliminazioni accidentali, danneggiamento dei dati, interruzioni a livello di area e operazioni di modifica rischiose.

Passaggi successivi