Skydda ett anpassat VNET i Azure Container Apps med nätverkssäkerhetsgrupper
Nätverkssäkerhetsgrupper (NSG:er) som behövs för att konfigurera virtuella nätverk liknar de inställningar som krävs av Kubernetes.
Du kan låsa ett nätverk via NSG:er med mer restriktiva regler än NSG-standardreglerna för att styra all inkommande och utgående trafik för Container Apps-miljön på prenumerationsnivå.
I miljön för arbetsbelastningsprofiler stöds användardefinierade vägar (UDR) och skydd av utgående trafik med en brandvägg . När du använder en miljö för externa arbetsbelastningsprofiler dirigeras inkommande trafik till Azure Container Apps via den offentliga IP-adressen som finns i den hanterade resursgruppen i stället för via ditt undernät. Det innebär att låsning av inkommande trafik via NSG eller brandvägg i en extern miljö för arbetsbelastningsprofiler inte stöds. Mer information finns i Nätverk i Azure Container Apps-miljöer.
I förbrukningsmiljön stöds inte expressvägar och anpassade användardefinierade vägar (UDR) har begränsat stöd. Mer information om nivån för UDR-stöd som är tillgängligt i en miljö med endast förbrukning finns i Vanliga frågor och svar.
NSG-tillåtna regler
I följande tabeller beskrivs hur du konfigurerar en samling NSG-tillåtna regler. De specifika regler som krävs beror på din miljötyp.
Inkommande
Kommentar
När du använder arbetsbelastningsprofiler gäller inkommande NSG-regler endast för trafik som går via ditt virtuella nätverk. Om dina containerappar är inställda på att acceptera trafik från det offentliga Internet går inkommande trafik via den offentliga slutpunkten i stället för det virtuella nätverket.
Protokoll | Källa | Källportar | Mål | Målportar | beskrivning |
---|---|---|---|---|---|
TCP | Dina klient-IP-adresser | * | Containerappens undernät1 | 80 , 31080 |
Tillåt dina klient-IP-adresser att komma åt Azure Container Apps när du använder HTTP. 31080 är porten där Container Apps Environment Edge Proxy svarar på HTTP-trafiken. Den ligger bakom den interna lastbalanseraren. |
TCP | Dina klient-IP-adresser | * | Containerappens undernät1 | 443 , 31443 |
Tillåt dina klient-IP-adresser att komma åt Azure Container Apps när du använder HTTPS. 31443 är porten där Container Apps Environment Edge Proxy svarar på HTTPS-trafiken. Den ligger bakom den interna lastbalanseraren. |
TCP | AzureLoadBalancer | * | Containerappens undernät | 30000-32767 2 |
Tillåt att Azure Load Balancer avsöker serverdelspooler. |
1 Den här adressen skickas som en parameter när du skapar en miljö. Exempel: 10.0.0.0/21
2 Det fullständiga intervallet krävs när du skapar dina Azure Container Apps som en port inom intervallet genom att dynamiskt allokeras. När de nödvändiga portarna har skapats är de två oföränderliga, statiska värdena, och du kan uppdatera dina NSG-regler.
Utgående
Protokoll | Källa | Källportar | Mål | Målportar | beskrivning |
---|---|---|---|---|---|
TCP | Containerappens undernät | * | MicrosoftContainerRegistry |
443 |
Det här är tjänsttaggen för Microsoft Container Registry för systemcontainrar. |
TCP | Containerappens undernät | * | AzureFrontDoor.FirstParty |
443 |
Det här är ett beroende av MicrosoftContainerRegistry tjänsttaggen. |
Alla | Containerappens undernät | * | Containerappens undernät | * | Tillåt kommunikation mellan IP-adresser i containerappens undernät. |
TCP | Containerappens undernät | * | AzureActiveDirectory |
443 |
|
Om du använder en hanterad identitet krävs det. | |||||
TCP | Containerappens undernät | * | AzureMonitor |
443 |
Krävs endast när du använder Azure Monitor. Tillåter utgående anrop till Azure Monitor. |
TCP och UDP | Containerappens undernät | * | 168.63.129.16 |
53 |
Gör att miljön kan använda Azure DNS för att matcha värdnamnet. Obs! DNS-kommunikation till Azure DNS omfattas inte av NSG:er om inte tjänstens tagg används AzurePlatformDNS som mål. Om du vill blockera DNS-trafik skapar du en regel för utgående trafik för att neka trafik till AzurePlatformDNS tjänsttaggen. |
TCP | Containerappens undernät1 | * | Ditt containerregister | Containerregistrets port | Detta krävs för att kommunicera med ditt containerregister. När du till exempel använder ACR behöver AzureContainerRegistry du och AzureActiveDirectory för målet, och porten är containerregistrets port om du inte använder privata slutpunkter.2 |
TCP | Containerappens undernät | * | Storage.<Region> |
443 |
Krävs endast när du använder Azure Container Registry för att vara värd för dina avbildningar. |
1 Den här adressen skickas som en parameter när du skapar en miljö. Exempel: 10.0.0.0/21
2 Om du använder Azure Container Registry (ACR) med NSG:er konfigurerade i ditt virtuella nätverk skapar du en privat slutpunkt på din ACR så att Azure Container Apps kan hämta avbildningar via det virtuella nätverket. Du behöver inte lägga till en NSG-regel för ACR när du konfigurerar med privata slutpunkter.
Att tänka på
- Om du kör HTTP-servrar kan du behöva lägga till portar
80
och443
. - Neka inte uttryckligen Azure DNS-adressen
168.63.129.16
i de utgående NSG-reglerna, eller så fungerar inte Container Apps-miljön.