Protezione di una rete virtuale personalizzata nelle app contenitore di Azure con gruppi di sicurezza di rete
I gruppi di sicurezza di rete (NSG) necessari per configurare le reti virtuali sono simili alle impostazioni richieste da Kubernetes.
È possibile bloccare una rete tramite gruppi di sicurezza di rete con regole più restrittive rispetto alle regole predefinite del gruppo di sicurezza di rete per controllare tutto il traffico in ingresso e in uscita per l'ambiente app contenitore a livello di sottoscrizione.
Nell'ambiente dei profili di carico di lavoro sono supportate route definite dall'utente e protezione del traffico in uscita con un firewall . Quando si usa un ambiente di profili di carico di lavoro esterno, il traffico in ingresso verso App Contenitore di Azure viene instradato tramite l'indirizzo IP pubblico presente nel gruppo di risorse gestite anziché tramite la subnet. Ciò significa che il blocco del traffico in ingresso tramite un gruppo di sicurezza di rete o un firewall in un ambiente di profili di carico di lavoro esterno non è supportato. Per altre informazioni, vedere Rete negli ambienti di App Azure Container.
Nell'ambiente Solo consumo le route rapide non sono supportate e le route definite dall'utente personalizzate hanno un supporto limitato. Per altre informazioni sul livello di supporto della route definita dall'utente disponibile nell'ambiente solo a consumo, vedere le domande frequenti.
Regole di autorizzazione del gruppo di sicurezza di rete
Le tabelle seguenti descrivono come configurare una raccolta di regole di autorizzazione dei gruppi di sicurezza di rete. Le regole specifiche necessarie dipendono dal tipo di ambiente.
In entrata
Nota
Quando si usano i profili di carico di lavoro, le regole del gruppo di sicurezza di rete in ingresso si applicano solo per il traffico che attraversa la rete virtuale. Se le app contenitore sono impostate per accettare il traffico dalla rete Internet pubblica, il traffico in ingresso passa attraverso l'endpoint pubblico anziché la rete virtuale.
Protocollo | Origine | Porte di origine | Destinazione | Porte di destinazione | Descrizione |
---|---|---|---|---|---|
TCP | Indirizzi IP client | * | Subnet 1 dell'appcontenitore | 80 , 31080 |
Consentire agli indirizzi IP client di accedere alle app di Azure Container quando si usa HTTP. 31080 è la porta in cui il proxy Edge dell'ambiente delle app contenitore risponde al traffico HTTP. Si trova dietro il servizio di bilanciamento del carico interno. |
TCP | Indirizzi IP client | * | Subnet 1 dell'appcontenitore | 443 , 31443 |
Consentire agli indirizzi IP client di accedere alle app di Azure Container quando si usa HTTPS. 31443 è la porta in cui il proxy Edge dell'ambiente delle app contenitore risponde al traffico HTTPS. Si trova dietro il servizio di bilanciamento del carico interno. |
TCP | AzureLoadBalancer | * | Subnet dell'app contenitore | 30000-32767 2 |
Consentire ad Azure Load Balancer di eseguire il probe dei pool back-end. |
1 Questo indirizzo viene passato come parametro quando si crea un ambiente. Ad esempio: 10.0.0.0/21
.
2 L'intervallo completo è necessario quando si creano le app contenitore di Azure come porta all'interno dell'intervallo verrà allocato in modo dinamico. Dopo la creazione, le porte necessarie sono due valori statici non modificabili ed è possibile aggiornare le regole del gruppo di sicurezza di rete.
In uscita
Protocollo | Origine | Porte di origine | Destinazione | Porte di destinazione | Descrizione |
---|---|---|---|---|---|
TCP | Subnet dell'app contenitore | * | MicrosoftContainerRegistry |
443 |
Questo è il tag del servizio per il registro contenitori Microsoft per i contenitori di sistema. |
TCP | Subnet dell'app contenitore | * | AzureFrontDoor.FirstParty |
443 |
Si tratta di una dipendenza del tag del MicrosoftContainerRegistry servizio. |
Any | Subnet dell'app contenitore | * | Subnet dell'app contenitore | * | Consentire la comunicazione tra indirizzi IP nella subnet dell'app contenitore. |
TCP | Subnet dell'app contenitore | * | AzureActiveDirectory |
443 |
Se si usa l'identità gestita, è necessario. |
TCP | Subnet dell'app contenitore | * | AzureMonitor |
443 |
Obbligatorio solo quando si usa Monitoraggio di Azure. Consente chiamate in uscita a Monitoraggio di Azure. |
TCP e UDP | Subnet dell'app contenitore | * | 168.63.129.16 |
53 |
Consente all'ambiente di usare DNS di Azure per risolvere il nome host. |
TCP | Subnet 1 dell'appcontenitore | * | Registro Contenitori | Porta del registro contenitori | Questa operazione è necessaria per comunicare con il registro contenitori. Ad esempio, quando si usa Registro Azure Container, è necessario AzureContainerRegistry e AzureActiveDirectory per la destinazione e la porta sarà la porta del registro contenitori, a meno che non usi endpoint privati.2 |
TCP | Subnet dell'app contenitore | * | Storage.<Region> |
443 |
Obbligatorio solo quando si usa Azure Container Registry per ospitare le immagini. |
1 Questo indirizzo viene passato come parametro quando si crea un ambiente. Ad esempio: 10.0.0.0/21
.
2 Se si usa Registro Azure Container (ACR) con gruppi di sicurezza di rete configurati nella rete virtuale, creare un endpoint privato nel Registro Azure Container per consentire alle app di Azure Container di eseguire il pull delle immagini attraverso la rete virtuale. Non è necessario aggiungere una regola del gruppo di sicurezza di rete per Registro Azure Container quando è configurata con endpoint privati.
Considerazioni
- Se si eseguono server HTTP, potrebbe essere necessario aggiungere porte
80
e443
. - Non negare in modo esplicito l'indirizzo
168.63.129.16
DNS di Azure nelle regole del gruppo di sicurezza di rete in uscita o l'ambiente app contenitore non sarà in grado di funzionare.