Regole del firewall in Database di Azure per PostgreSQL - Server singolo

SI APPLICA A: Database di Azure per PostgreSQL - Server singolo

Importante

Database di Azure per PostgreSQL - Server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere What's happening to Database di Azure per PostgreSQL Single Server?.

Database di Azure per PostgreSQL server è sicuro per impostazione predefinita, impedendo tutto l'accesso al server di database fino a quando non si specificano gli host IP autorizzati ad accedervi. Il firewall concede l'accesso al server in base all'indirizzo IP di origine di ogni richiesta. Per configurare il firewall, creare regole del firewall che specificano gli intervalli di indirizzi IP accettabili. È possibile creare regole firewall a livello di server.

Regole firewall: queste regole consentono ai client di accedere all'intero Database di Azure per il server PostgreSQL, ovvero a tutti i database all'interno dello stesso server logico. Le regole firewall a livello di server possono essere configurate usando il portale di Azure o i comandi dell'interfaccia della riga di comando di Azure. Per creare regole firewall a livello di server è necessario essere il proprietario o un collaboratore della sottoscrizione.

Panoramica del firewall

Per impostazione predefinita, l'accesso al server di Database di Azure per PostgreSQL è bloccato dal firewall. Per accedere al server da un altro computer/client o applicazione, è necessario specificare una o più regole del firewall a livello di server per abilitare l'accesso al server. Usare le regole del firewall per specificare gli intervalli di indirizzi IP pubblici consentiti. L'accesso al sito Web del portale di Azure non è determinato dalle regole firewall. Connessione tentativi di connessione da Internet e Azure devono prima passare attraverso il firewall prima di poter raggiungere Postgre database SQL, come illustrato nel diagramma seguente:

Esempio del flusso di funzionamento del firewall

Connessione da Internet

Le regole firewall a livello di server si applicano a tutti i database dello stesso Database di Azure per il server PostgreSQL. Se l'indirizzo IP di origine della richiesta rientra in uno degli intervalli specificati nelle regole del firewall a livello di server, la connessione viene concessa in caso contrario viene rifiutata. Ad esempio, se l'applicazione si connette con il driver JDBC per PostgreSQL, potrebbe verificarsi questo errore durante il tentativo di connessione quando il firewall blocca la connessione.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL

Nota

Per accedere Database di Azure per PostgreSQL dal computer locale, assicurarsi che il firewall nella rete e nel computer locale consenta la comunicazione in uscita sulla porta TCP 5432.

Connessione da Azure

È consigliabile trovare l'indirizzo IP in uscita di qualsiasi applicazione o servizio e consentire esplicitamente l'accesso a tali singoli indirizzi IP o intervalli. Ad esempio, è possibile trovare l'indirizzo IP in uscita di un servizio app Azure o usare un indirizzo IP pubblico associato a una macchina virtuale o a un'altra risorsa (vedere di seguito per informazioni sulla connessione con l'IP privato di una macchina virtuale sugli endpoint di servizio).

Se un indirizzo IP in uscita fisso non è disponibile per il servizio di Azure, è possibile valutare la possibilità di abilitare le connessioni da tutti gli indirizzi IP del data center di Azure. Questa impostazione può essere abilitata dal portale di Azure impostando l'opzione Consenti l'accesso ai servizi di Azure su dal riquadro di sicurezza Connessione ion e premendo Salva. Dall'interfaccia della riga di comando di Azure, un'impostazione di regola del firewall con indirizzo iniziale e finale uguale a 0.0.0.0 esegue l'equivalente. Se il tentativo di connessione viene rifiutato dalle regole del firewall, non raggiunge il server Database di Azure per PostgreSQL.

Importante

L'opzione Consenti servizi di Azure configura il firewall in maniera tale da consentire tutte le connessioni da Azure, incluse le connessioni di altri clienti. Quando si seleziona questa opzione, verificare che l'account di accesso e le autorizzazioni utente limitino l'accesso ai soli utenti autorizzati.

Configurare Possibilità di accedere ai servizi di Azure nel portale

Connessione da una rete virtuale

Per connettersi in modo sicuro al server Database di Azure per PostgreSQL da una rete virtuale, è consigliabile usare gli endpoint servizio di rete virtuale.

Gestione di regole del firewall a livello di programmazione

Oltre al portale di Azure, le regole firewall possono essere gestite a livello di programmazione usando l'interfaccia della riga di comando di Azure. Vedere anche Create and manage Azure Database for PostgreSQL firewall rules using Azure CLI (Creare e gestire regole firewall per il Database di Azure per PostgreSQL tramite l'interfaccia della riga di comando di Azure)

Risoluzione dei problemi del firewall

Quando si effettua l'accesso al servizio Database di Microsoft Azure per il server PostgreSQL non si comporta come previsto, considerare quanto segue:

  • Le modifiche all'elenco Consentiti non sono state ancora applicate: per rendere effettive le modifiche apportate al firewall del Database di Azure per il server PostgreSQL possono essere necessari fino a cinque minuti.

  • L'accesso non è autorizzato oppure è stata usata una password errata: quando un account di accesso non dispone delle autorizzazioni per il Database di Azure per il server PostgreSQL o la password usata non è corretta, la connessione al Database di Azure per il server PostgreSQL verrà negata. La creazione di un'impostazione del firewall fornisce ai client soltanto un'opportunità di connessione al server; ogni client deve ancora fornire le credenziali di sicurezza necessarie.

    Ad esempio, se si usa un client JDBC potrebbe essere visualizzato l'errore seguente.

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: autenticazione della password non riuscita per l'utente "yourusername"

  • Indirizzo IP dinamico: se si dispone di una connessione Internet con indirizzi IP dinamici e si verificano problemi di comunicazione attraverso il firewall, è possibile provare una delle seguenti soluzioni:

    • Richiedere al provider di servizi Internet (ISP) l'intervallo di indirizzi IP assegnato ai computer client che accedono al Database di Azure per il server MySQL, quindi aggiungere l'intervallo di indirizzi IP come regola firewall.

    • Ottenere indirizzi IP statici per i computer client, quindi aggiungere gli indirizzi IP statici come una regola del firewall.

  • L'INDIRIZZO IP del server sembra essere pubblico: le Connessione al server di Database di Azure per PostgreSQL vengono instradate tramite un gateway di Azure accessibile pubblicamente. Tuttavia, l'indirizzo IP effettivo del server è protetto dal firewall. Per altre informazioni, vedere l' articolo sull'architettura della connettività.

  • Non è possibile connettersi dalla risorsa di Azure con l'indirizzo IP consentito: verificare se l'endpoint del servizio Microsoft.Sql è abilitato per la subnet da cui ci si connette. Se Microsoft.Sql è abilitato, indica che si vogliono usare solo le regole dell'endpoint del servizio di rete virtuale in tale subnet.

    Ad esempio, è possibile che venga visualizzato l'errore seguente se ci si connette da una macchina virtuale di Azure in una subnet con Microsoft.Sql abilitato ma non ha una regola di rete virtuale corrispondente: FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • Regola del firewall non disponibile per il formato IPv6: le regole del firewall devono essere in formato IPv4. Se si specificano regole del firewall in formato IPv6, verrà visualizzato l'errore di convalida.

Passaggi successivi