Concetti di connettività e rete per Database di Azure per MySQL - Server flessibile

SI APPLICA A: Database di Azure per MySQL - Server flessibile

Questo articolo presenta i concetti relativi al controllo della connettività all'istanza del server flessibile Database di Azure per MySQL. Vengono illustrati in dettaglio i concetti di rete per Database di Azure per MySQL server flessibile per creare e accedere a un server in modo sicuro in Azure.

Database di Azure per MySQL server flessibile supporta tre modi per configurare la connettività ai server:

  • L'accesso pubblico al server flessibile è accessibile tramite un endpoint pubblico. L'endpoint pubblico è un indirizzo DNS risolvibile pubblicamente. L'espressione "indirizzi IP consentiti" si riferisce a un intervallo di indirizzi IP a cui si sceglie di concedere l'autorizzazione per l'accesso al server. Queste autorizzazioni si definiscono regole del firewall.

  • Endpoint privato È possibile usare endpoint privati per consentire agli host in una rete virtuale di rete virtuale di accedere in modo sicuro ai dati tramite un collegamento privato.

  • Accesso privato (integrazione rete virtuale) È possibile distribuire il server flessibile nell'Rete virtuale di Azure. Le reti virtuali di Azure forniscono comunicazioni private e sicure. Le risorse di una rete virtuale possono comunicare tramite indirizzi IP privati.

Nota

Dopo aver distribuito un server con accesso pubblico o privato (tramite integrazione rete virtuale), non è possibile modificare la modalità di connettività. In modalità di accesso pubblico, tuttavia, è possibile abilitare o disabilitare gli endpoint privati in base alle esigenze e disabilitare anche l'accesso pubblico, se necessario.

Scegliere un'opzione di rete

Scegliere Accesso pubblico (indirizzi IP consentiti) e Metodo endpoint privato se si desiderano le funzionalità seguenti:

  • Connettersi da risorse di Azure senza supporto per la rete virtuale
  • Connettersi da risorse esterne ad Azure che non sono connesse tramite VPN o ExpressRoute
  • Il server flessibile è accessibile tramite un endpoint pubblico ed è accessibile tramite risorse Internet autorizzate. Se necessario, l'accesso pubblico può essere disabilitato.
  • Possibilità di configurare gli endpoint privati per accedere al server dagli host in una rete virtuale (VNet)

Scegliere Accesso privato (integrazione rete virtuale) se si desiderano le funzionalità seguenti:

  • Connettersi al server flessibile dalle risorse di Azure all'interno della stessa rete virtuale o di una rete virtuale con peering senza la necessità di configurare un endpoint privato
  • Usare VPN o ExpressRoute per connettersi da risorse non di Azure al server flessibile
  • Nessun endpoint pubblico

Se si sceglie di usare l'accesso privato o l'opzione di accesso pubblico, si applicano le caratteristiche seguenti:

  • Le connessioni da indirizzi IP consentiti devono eseguire l'autenticazione all'istanza del server flessibile Database di Azure per MySQL con credenziali valide
  • La crittografia della connessione è disponibile per il traffico di rete
  • Il server ha un nome di dominio completo (fqdn). È consigliabile usare fqdn anziché un indirizzo IP per la proprietà nome host in stringa di connessione s.
  • Entrambe le opzioni controllano l'accesso a livello di server, non a livello di database o di tabella. È possibile usare le proprietà dei ruoli di MySQL per controllare l'accesso a database, tabelle e altri oggetti.

Scenari di rete virtuale non supportati

  • Endpoint pubblico (o IP pubblico o DNS): un server flessibile distribuito in una rete virtuale non può avere un endpoint pubblico.
  • Dopo aver distribuito il server flessibile in una rete virtuale e in una subnet, non è possibile spostarlo in un'altra rete virtuale o subnet.
  • Dopo aver distribuito il server flessibile, non è possibile spostare la rete virtuale usata dal server flessibile in un altro gruppo di risorse o in un'altra sottoscrizione.
  • Dopo la creazione di risorse non è possibile aumentare le dimensioni della subnet (spazi indirizzi).
  • La modifica dall'accesso pubblico a privato non è consentita dopo la creazione del server. Il modo consigliato consiste nell'usare il ripristino temporizzato.

Nota

Se si usa il server DNS personalizzato, è necessario usare un server d'inoltro DNS per risolvere il nome di dominio completo dell'istanza del server flessibile Database di Azure per MySQL. Per altre informazioni, vedere risoluzione dei nomi che usa il server DNS.

Hostname (Nome host)

Indipendentemente dall'opzione di rete, è consigliabile usare il nome di dominio completo (FQDN) <servername>.mysql.database.azure.com in stringa di connessione durante la connessione all'istanza del server flessibile Database di Azure per MySQL. Non è garantito che l'indirizzo IP del server rimanga statico. L'uso del nome di dominio completo eviterà di dover apportare modifiche alla stringa di connessione.

Un esempio che usa un FQDN come nome host è hostname = servername.mysql.database.azure.com. Se possibile, evitare di usare hostname = 10.0.0.4 (indirizzo privato) o nome host = 40.2.45.67 (indirizzo pubblico).

TLS e SSL

Database di Azure per MySQL server flessibile supporta la connessione delle applicazioni client all'istanza del server flessibile Database di Azure per MySQL tramite SSL (Secure Sockets Layer) con la crittografia TLS (Transport Layer Security). TLS è un protocollo standard di settore che assicura connessioni di rete crittografate tra il server di database e le applicazioni client, consentendoti di rispettare i requisiti di conformità.

Database di Azure per MySQL server flessibile supporta connessioni crittografate con Transport Layer Security (TLS 1.2) per impostazione predefinita e tutte le connessioni in ingresso con TLS 1.0 e TLS 1.1 vengono negate per impostazione predefinita. L'imposizione della connessione crittografata o la configurazione della versione TLS nel server flessibile può essere configurata e modificata.

Di seguito sono riportate le diverse configurazioni delle impostazioni SSL e TLS disponibili per il server flessibile:

Importante

In base alla rimozione del supporto per i protocolli TLS 1.0 e TLS 1.1, a partire dall'inizio di settembre 2024, i nuovi server non potranno più usare TLS 1.0 o 1.1 e i server esistenti non potranno effettuare il downgrade a queste versioni. A partire da metà settembre 2024 verrà avviato un aggiornamento obbligatorio di tutti i server che attualmente usano TLS 1.0 o 1.1 a TLS 1.2. Questo processo di aggiornamento dovrebbe essere completato entro la fine di settembre 2024. Si consiglia vivamente ai clienti di assicurarsi che le applicazioni siano completamente compatibili con TLS 1.2 prima della fine di settembre.

Scenario Impostazioni dei parametri del server Descrizione
Disabilitare SSL (connessioni crittografate) require_secure_transport = OFF Se l'applicazione legacy non supporta le connessioni crittografate all'istanza del server flessibile Database di Azure per MySQL, è possibile disabilitare l'imposizione delle connessioni crittografate al server flessibile impostando require_secure_transport=OFF.
Applicare SSL con TLS versione < 1.2 (sarà deprecato a settembre 2024) require_secure_transport = ON e tls_version = TLS 1.0 o TLS 1.1 Se l'applicazione legacy supporta connessioni crittografate ma richiede TLS versione < 1.2, è possibile abilitare le connessioni crittografate, ma configurare il server flessibile per consentire le connessioni con la versione TLS (v1.0 o v1.1) supportata dall'applicazione
Applicare SSL con TLS versione = 1.2(Configurazione predefinita) require_secure_transport = ON e tls_version = TLS 1.2 Si tratta della configurazione consigliata e predefinita per un server flessibile.
Applicare SSL con TLS versione = 1.3(Supportato con MySQL v8.0 e versioni successive) require_secure_transport = ON e tls_version = TLS 1.3 Questo è utile e consigliato per lo sviluppo di nuove applicazioni

Nota

Le modifiche apportate alla crittografia SSL nel server flessibile non sono supportate. I pacchetti di crittografia FIPS vengono applicati per impostazione predefinita quando tls_version è impostato su TLS versione 1.2. Per le versioni TLS diverse dalla versione 1.2, la crittografia SSL è impostata su impostazioni predefinite, che include l'installazione della community mySQL.

Vedere Connettersi con SSL/TLS per informazioni su come identificare la versione TLS in uso.

Passaggi successivi