Service-eindpunten en -regels voor virtuele netwerken gebruiken voor Azure Database for MySQL

VAN TOEPASSING OP: Azure Database for MySQL - enkele server

Belangrijk

Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?

Regels voor virtuele netwerken zijn één firewallbeveiligingsfunctie waarmee wordt bepaald of uw Azure Database for MySQL-server communicatie accepteert die vanuit bepaalde subnetten in virtuele netwerken worden verzonden. In dit artikel wordt uitgelegd waarom de functie voor regels voor virtuele netwerken soms de beste optie is voor het veilig toestaan van communicatie met uw Azure Database for MySQL-server.

Als u een regel voor een virtueel netwerk wilt maken, moet er eerst een virtueel netwerk (VNet) en een service-eindpunt voor een virtueel netwerk zijn waarnaar de regel moet verwijzen. In de volgende afbeelding ziet u hoe een service-eindpunt voor een virtueel netwerk werkt met Azure Database for MySQL:

Example of how a VNet Service Endpoint works

Notitie

Deze functie is beschikbaar in alle regio's van Azure waar Azure Database for MySQL wordt geïmplementeerd voor servers voor algemeen gebruik en geoptimaliseerd voor geheugen. In het geval van VNet-peering, als verkeer via een gemeenschappelijke VNet-gateway met service-eindpunten stroomt en naar de peer moet stromen, maakt u een ACL/VNet-regel om Azure Virtual Machines in het gateway-VNet toegang te geven tot de Azure Database for MySQL-server.

U kunt ook overwegen Om Private Link te gebruiken voor verbindingen. Private Link biedt een privé-IP-adres in uw VNet voor de Azure Database for MySQL-server.

Terminologie en beschrijving

Virtueel netwerk: u kunt virtuele netwerken aan uw Azure-abonnement koppelen.

Subnet: Een virtueel netwerk bevat subnetten. Virtuele Azure-machines (VM's) die u hebt toegewezen aan subnetten. Eén subnet kan meerdere VM's of andere rekenknooppunten bevatten. Rekenknooppunten die zich buiten uw virtuele netwerk bevinden, hebben geen toegang tot uw virtuele netwerk, tenzij u uw beveiliging configureert om toegang toe te staan.

Service-eindpunt voor virtueel netwerk: een service-eindpunt voor een virtueel netwerk is een subnet waarvan de eigenschapswaarden een of meer formele Azure-servicetypenamen bevatten. In dit artikel zijn we geïnteresseerd in de typenaam Microsoft.Sql, die verwijst naar de Azure-service met de naam SQL Database. Deze servicetag is ook van toepassing op de Azure Database for MySQL- en PostgreSQL-services. Het is belangrijk om te weten wanneer u de Microsoft.Sql-servicetag toepast op een VNet-service-eindpunt dat verkeer voor service-eindpunten configureert voor alle Azure SQL Database-, Azure Database for MySQL- en Azure Database for PostgreSQL-servers in het subnet.

Regel voor virtueel netwerk: een regel voor een virtueel netwerk voor uw Azure Database for MySQL-server is een subnet dat wordt vermeld in de toegangsbeheerlijst (ACL) van uw Azure Database for MySQL-server. Als u de ACL voor uw Azure Database for MySQL-server wilt hebben, moet het subnet de naam van het Microsoft.Sql-type bevatten.

Een regel voor een virtueel netwerk vertelt uw Azure Database for MySQL-server om communicatie te accepteren van elk knooppunt dat zich in het subnet bevindt.

Voordelen van een regel voor een virtueel netwerk

Totdat u actie onderneemt, kunnen de VM's in uw subnetten niet communiceren met uw Azure Database for MySQL-server. Een actie die de communicatie tot stand brengt, is het maken van een regel voor een virtueel netwerk. De logica voor het kiezen van de VNet-regelbenadering vereist een vergelijkings- en contrastdiscussie met betrekking tot de concurrerende beveiligingsopties die door de firewall worden aangeboden.

A. Toegang tot Azure-services toestaan

Het deelvenster Verbinding maken ionbeveiliging heeft een knop AAN/UIT met het label Toegang tot Azure-services toestaan. Met de instelling ON kunt u communicatie van alle Azure-IP-adressen en alle Azure-subnetten toestaan. Deze Azure-IP-adressen of subnetten zijn mogelijk niet eigendom van u. Deze ON-instelling is waarschijnlijk opener dan u wilt dat uw Azure Database for MySQL-database is. De regelfunctie voor virtuele netwerken biedt een veel nauwkeuriger beheer.

B. IP-regels

Met de Azure Database for MySQL-firewall kunt u IP-adresbereiken opgeven van waaruit communicatie wordt geaccepteerd in de Azure Database for MySQL-database. Deze benadering is prima voor stabiele IP-adressen die zich buiten het privénetwerk van Azure bevinden. Maar veel knooppunten in het privénetwerk van Azure zijn geconfigureerd met dynamische IP-adressen. Dynamische IP-adressen kunnen veranderen, bijvoorbeeld wanneer uw VIRTUELE machine opnieuw wordt opgestart. Het zou folly zijn om een dynamisch IP-adres op te geven in een firewallregel, in een productieomgeving.

U kunt de IP-optie herstellen door een statisch IP-adres voor uw VIRTUELE machine te verkrijgen. Zie Privé-IP-adressen voor een virtuele machine configureren met behulp van Azure Portal voor meer informatie.

De statische IP-benadering kan echter moeilijk te beheren zijn en het is kostbaar wanneer ze op schaal worden uitgevoerd. Regels voor virtuele netwerken zijn eenvoudiger te bepalen en te beheren.

Details over regels voor virtuele netwerken

In deze sectie worden verschillende details over regels voor virtuele netwerken beschreven.

Slechts één geografische regio

Elk service-eindpunt voor een virtueel netwerk is van toepassing op slechts één Azure-regio. Met het eindpunt kunnen andere regio's geen communicatie van het subnet accepteren.

Elke regel voor een virtueel netwerk is beperkt tot de regio waarop het onderliggende eindpunt van toepassing is.

Serverniveau, niet databaseniveau

Elke regel voor virtuele netwerken is van toepassing op uw hele Azure Database for MySQL-server, niet alleen op één bepaalde database op de server. Met andere woorden, de regel voor virtuele netwerken is van toepassing op serverniveau, niet op databaseniveau.

Beveiligingsbeheerrollen

Er is een scheiding van beveiligingsrollen in het beheer van service-eindpunten voor virtual network. Actie is vereist voor elk van de volgende rollen:

  • Netwerk Beheer: schakel het eindpunt in.
  • Database Beheer: Werk de toegangsbeheerlijst (ACL) bij om het opgegeven subnet toe te voegen aan de Azure Database for MySQL-server.

Azure RBAC-alternatief:

De rollen netwerk Beheer en database Beheer meer mogelijkheden hebben dan nodig zijn voor het beheren van regels voor virtuele netwerken. Er is slechts een subset van hun mogelijkheden nodig.

U hebt de mogelijkheid om op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) in Azure te gebruiken om één aangepaste rol te maken die alleen de benodigde subset van mogelijkheden heeft. De aangepaste rol kan worden gebruikt in plaats van het netwerk Beheer of de database-Beheer. Het oppervlak van uw beveiligingsblootstelling is lager als u een gebruiker toevoegt aan een aangepaste rol, in plaats van de gebruiker toe te voegen aan de andere twee hoofdbeheerdersrollen.

Notitie

In sommige gevallen bevinden de Azure Database for MySQL en het VNet-subnet zich in verschillende abonnementen. In deze gevallen moet u de volgende configuraties controleren:

  • Beide abonnementen moeten zich in dezelfde Microsoft Entra-tenant bevinden.
  • De gebruiker heeft de vereiste machtigingen voor het initiëren van bewerkingen, zoals het inschakelen van service-eindpunten en het toevoegen van een VNet-subnet aan de opgegeven server.
  • Zorg ervoor dat zowel het abonnement de resourceprovider Microsoft.Sql als Microsoft.DBforMySQL heeft geregistreerd. Raadpleeg resource-manager-registratie voor meer informatie

Beperkingen

Voor Azure Database for MySQL heeft de functie regels voor virtuele netwerken de volgende beperkingen:

  • Een web-app kan worden toegewezen aan een privé-IP in een VNet/subnet. Zelfs als service-eindpunten zijn ingeschakeld vanuit het opgegeven VNet/subnet, hebben verbindingen van de web-app naar de server een openbare IP-bron van Azure, niet een VNet/subnetbron. Als u connectiviteit wilt inschakelen van een web-app naar een server met VNet-firewallregels, moet u Toestaan dat Azure-services toegang krijgen tot de server op de server.

  • In de firewall voor uw Azure Database for MySQL verwijst elke regel van het virtuele netwerk naar een subnet. Al deze subnetten waarnaar wordt verwezen, moeten worden gehost in dezelfde geografische regio die als host fungeert voor de Azure Database for MySQL.

  • Elke Azure Database for MySQL-server kan maximaal 128 ACL-vermeldingen hebben voor een bepaald virtueel netwerk.

  • Regels voor virtuele netwerken zijn alleen van toepassing op virtuele Netwerken van Azure Resource Manager; en niet naar klassieke implementatiemodelnetwerken .

  • Als u service-eindpunten voor virtuele netwerken inschakelt in Azure Database for MySQL met behulp van de servicetag Microsoft.Sql , worden ook de eindpunten ingeschakeld voor alle Azure Database-services: Azure Database for MySQL, Azure Database for PostgreSQL, Azure SQL Database en Azure Synapse Analytics.

  • Ondersteuning voor VNet-service-eindpunten is alleen voor servers voor algemeen gebruik en geoptimaliseerd voor geheugen.

  • Als Microsoft.Sql is ingeschakeld in een subnet, geeft dit aan dat u alleen VNet-regels wilt gebruiken om verbinding te maken. Niet-VNet-firewallregels van resources in dat subnet werken niet.

  • Ip-adresbereiken zijn van toepassing op de volgende netwerkitems, maar regels voor virtuele netwerken zijn niet van toepassing op de firewall:

ExpressRoute

Als uw netwerk is verbonden met het Azure-netwerk via het gebruik van ExpressRoute, wordt elk circuit geconfigureerd met twee openbare IP-adressen in Microsoft Edge. De twee IP-adressen worden gebruikt om verbinding te maken met Microsoft-services, zoals met Azure Storage, met behulp van openbare Azure-peering.

Als u communicatie van uw circuit naar Azure Database for MySQL wilt toestaan, moet u IP-netwerkregels maken voor de openbare IP-adressen van uw circuits. Als u de openbare IP-adressen van uw ExpressRoute-circuit wilt vinden, opent u een ondersteuningsticket met ExpressRoute met behulp van Azure Portal.

Een VNET-firewallregel toevoegen aan uw server zonder VNET-service-eindpunten in te schakelen

Het instellen van een VNet-firewallregel helpt niet om de server naar het VNet te beveiligen. U moet ook VNet-service-eindpunten inschakelen om de beveiliging van kracht te laten worden. Wanneer u service-eindpunten inschakelt, ondervindt uw VNet-subnet downtime totdat de overgang van Uit naar Aan is voltooid. Dit is met name relevant voor grote VNets. U kunt de vlag IgnoreMissingServiceEndpoint gebruiken om de downtime tijdens de overgang te verminderen of te elimineren.

U kunt de vlag IgnoreMissingServiceEndpoint instellen met behulp van de Azure CLI of portal.

Volgende stappen

Zie voor artikelen over het maken van VNet-regels: