Informazioni sulla crittografia in MySQL

Completato

Dati in transito

Database di Azure per MySQL supporta le connessioni crittografate con TLS 1.2. Questo protocollo è abilitato per impostazione predefinita ed è gestito dal parametro del server tls_version. Questo parametro consente di applicare la versione minima di TLS consentita dal server. È possibile selezionare più versioni, ad esempio se si vuole consentire TLS 1.2 e 1.3. Quando si modifica questo parametro, è necessario riavviare il server per applicare la modifica.

Screenshot showing the server parameter tls_version page.

Se l'applicazione client non supporta le connessioni crittografate, sarà necessario disabilitare le connessioni crittografate in Database di Azure per MySQL. Nel portale di Azure passare al server MySQL e in Impostazioni selezionare Parametri del server. Nella casella di ricerca immettere require_secure_transport. Questo parametro definisce se le connessioni client devono usare una connessione sicura, ovvero SSL su TCP/IP o connessioni che usano un file socket in Unix o memoria condivisa in Windows. Se l'applicazione client non supporta le connessioni crittografate, impostare require_secure_transport su OFF.

Nota

Se si imposta require_secure_transport su OFF e un client si connette con una connessione crittografata, la connessione verrà comunque accettata.

Per usare connessioni crittografate con le applicazioni client, scaricare il certificato SSL pubblico nel portale di Azure. Passare al server MySQL e dal menu a sinistra selezionare Rete. Nel menu in alto selezionare Scarica certificato SSL. Per consentire alle applicazioni di connettersi in modo sicuro al database tramite SSL, salvare il file del certificato nell'ambiente locale o nell'ambiente client in cui è ospitata l'applicazione.

Dati inattivi

La crittografia dei dati inattivi è supportata nel motore di archiviazione InnoDB. La crittografia viene impostata a livello di spazio di tabella e InnoDB supporta la crittografia per gli spazi di tabella seguenti: file per tabella, generale e sistema. Per MySQL versione 8.0, verificare che il parametro del server default_table_encryption sia impostato su ON (è impostato su OFF per impostazione predefinita). Per una tabella crittografata, è anche possibile crittografare il log di rollforward. Questa opzione è disabilitata per impostazione predefinita.

Per crittografare una tabella in un file per ogni spazio di tabella:

CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';

Se si modifica una tabella, è necessario specificare la clausola di crittografia:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

Database di Azure per MySQL supporta la crittografia dei dati inattivi per impostazione predefinita, usando le chiavi gestite di Microsoft. I dati e i backup vengono sempre crittografati su disco e questa opzione non può essere disabilitata.