Een aangepast VNET beveiligen in Azure Container Apps met netwerkbeveiligingsgroepen
Netwerkbeveiligingsgroepen (NSG's) die nodig zijn om virtuele netwerken te configureren, lijken nauw op de instellingen die door Kubernetes zijn vereist.
U kunt een netwerk vergrendelen via NSG's met meer beperkende regels dan de standaard NSG-regels om al het inkomende en uitgaande verkeer voor de Container Apps-omgeving op abonnementsniveau te beheren.
In de omgeving met workloadprofielen worden door de gebruiker gedefinieerde routes (UDR's) en het beveiligen van uitgaand verkeer met een firewall ondersteund. Wanneer u een omgeving met externe workloadprofielen gebruikt, wordt binnenkomend verkeer naar Azure Container Apps gerouteerd via het openbare IP-adres dat bestaat in de beheerde resourcegroep in plaats van via uw subnet. Dit betekent dat het vergrendelen van inkomend verkeer via NSG of Firewall in een omgeving met externe workloadprofielen niet wordt ondersteund. Zie Netwerken in Azure Container Apps-omgevingen voor meer informatie.
In de omgeving alleen verbruik worden expressroutes niet ondersteund en aangepaste door de gebruiker gedefinieerde routes (UDR's) hebben beperkte ondersteuning. Zie de veelgestelde vragen voor meer informatie over het niveau van UDR-ondersteuning voor alleen verbruik.
NSG-regels toestaan
In de volgende tabellen wordt beschreven hoe u een verzameling NSG-regels voor toestaan configureert. De specifieke regels die vereist zijn, zijn afhankelijk van uw omgevingstype.
Inkomend
Notitie
Wanneer u workloadprofielen gebruikt, zijn binnenkomende NSG-regels alleen van toepassing op verkeer dat via uw virtuele netwerk gaat. Als uw container-apps zijn ingesteld om verkeer van het openbare internet te accepteren, gaat binnenkomend verkeer via het openbare eindpunt in plaats van het virtuele netwerk.
Protocol | Bron | Bronpoorten | Bestemming | Doelpoorten | Beschrijving |
---|---|---|---|---|---|
TCP | Uw client-IP's | * | Subnet1 van uw container-app | 80 , 31080 |
Sta toe dat uw client-IP-adressen toegang hebben tot Azure Container Apps wanneer u HTTP gebruikt. 31080 is de poort waarop de Edge-proxy van de Container Apps-omgeving reageert op het HTTP-verkeer. Deze bevindt zich achter de interne load balancer. |
TCP | Uw client-IP's | * | Subnet1 van uw container-app | 443 , 31443 |
Sta toe dat uw client-IP-adressen toegang hebben tot Azure Container Apps wanneer u HTTPS gebruikt. 31443 is de poort waarop de Edge-proxy van de Container Apps-omgeving reageert op het HTTPS-verkeer. Deze bevindt zich achter de interne load balancer. |
TCP | AzureLoadBalancer | * | Het subnet van uw container-app | 30000-32767 2 |
Sta Azure Load Balancer toe om back-endpools te testen. |
1 Dit adres wordt doorgegeven als een parameter wanneer u een omgeving maakt. Bijvoorbeeld: 10.0.0.0/21
.
2 Het volledige bereik is vereist bij het maken van uw Azure Container Apps als poort binnen het bereik door dynamisch toe te wijzen. Na het maken zijn de vereiste poorten twee onveranderbare, statische waarden en kunt u uw NSG-regels bijwerken.
Uitgaand
Protocol | Bron | Bronpoorten | Bestemming | Doelpoorten | Beschrijving |
---|---|---|---|---|---|
TCP | Het subnet van uw container-app | * | MicrosoftContainerRegistry |
443 |
Dit is de servicetag voor Het Microsoft-containerregister voor systeemcontainers. |
TCP | Het subnet van uw container-app | * | AzureFrontDoor.FirstParty |
443 |
Dit is een afhankelijkheid van de MicrosoftContainerRegistry servicetag. |
Alle | Het subnet van uw container-app | * | Het subnet van uw container-app | * | Communicatie tussen IP-adressen in het subnet van uw container-app toestaan. |
TCP | Het subnet van uw container-app | * | AzureActiveDirectory |
443 |
Als u een beheerde identiteit gebruikt, is dit vereist. |
TCP | Het subnet van uw container-app | * | AzureMonitor |
443 |
Alleen vereist bij het gebruik van Azure Monitor. Hiermee staat u uitgaande aanroepen naar Azure Monitor toe. |
TCP en UDP | Het subnet van uw container-app | * | 168.63.129.16 |
53 |
Hiermee kan de omgeving Azure DNS gebruiken om de hostnaam om te zetten. |
TCP | Subnet1 van uw container-app | * | Uw containerregister | Poort van uw containerregister | Dit is vereist om te communiceren met uw containerregister. Wanneer u bijvoorbeeld ACR gebruikt, hebt u en AzureActiveDirectory voor de bestemming nodig AzureContainerRegistry en is de poort van uw containerregister, tenzij u privé-eindpunten gebruikt.2 |
TCP | Het subnet van uw container-app | * | Storage.<Region> |
443 |
Alleen vereist wanneer u Azure Container Registry uw installatiekopieën wilt hosten. |
1 Dit adres wordt doorgegeven als een parameter wanneer u een omgeving maakt. Bijvoorbeeld: 10.0.0.0/21
.
2 Als u Azure Container Registry (ACR) gebruikt met NSG's die zijn geconfigureerd in uw virtuele netwerk, maakt u een privé-eindpunt op uw ACR zodat Azure Container Apps installatiekopieën kan ophalen via het virtuele netwerk. U hoeft geen NSG-regel voor ACR toe te voegen wanneer deze is geconfigureerd met privé-eindpunten.
Overwegingen
- Als u HTTP-servers gebruikt, moet u mogelijk poorten
80
toevoegen en443
. - Weiger het Azure DNS-adres
168.63.129.16
niet expliciet in de uitgaande NSG-regels of uw Container Apps-omgeving kan niet functioneren.