Netwerk- en beveiligingsfuncties configureren
Belangrijke netwerk- en beveiligingsfuncties in Azure Database for MySQL - Flexibele server omvatten toegangsbeheer, connectiviteit, ondersteuning voor Microsoft Entra-id, een gecentraliseerd platform voor het beheren van identiteiten, rollen en machtigingen. Flexibele MySQL-servers versleutelen standaard alle gegevens die onderweg zijn en maken het versleutelen van data-at-rest mogelijk met door Azure of door de klant beheerde sleutels.
Netwerken
Netwerktoegang configureren
Wanneer u een flexibele MySQL-server maakt, kunt u privétoegang selecteren via een virtueel Azure-netwerk of openbare toegang voor toegestane IP-adressen met een optioneel privé-eindpunt. Nadat u de sectie Basisinformatie hebt voltooid, selecteert u Volgende: Netwerken en selecteert u vervolgens Openbare toegang en privé-eindpunt of Privétoegang:
Als u Openbare toegang en privé-eindpunt selecteert, kunt u kiezen of u de database beschikbaar wilt maken op internet. Als Openbare toegang toestaan niet is geselecteerd, is de database alleen toegankelijk via privé-eindpunten en niet met een openbaar IP-adres. Als u openbare internettoegang wilt behouden, selecteert u Openbare toegang toestaan en voegt u vervolgens in de sectie Firewallregels IP-adressen of bereiken toe aan de acceptatielijst. Als u alle Azure-services in het Azure-netwerk wilt toevoegen aan de acceptatielijst, selecteert u Openbare toegang toestaan vanuit elke Azure-service binnen Azure naar deze server.
Naast of in plaats van openbare toegang kunt u een privé-eindpunt configureren. Omdat Wingtip Toys van plan is om een VPN te gebruiken tussen hun on-premises netwerk en Azure, slaan we het privé-eindpunt over. Zie de referentiedocumentatie voor meer informatie over het instellen van een privékoppeling.
Als u alleen verbindingen vanuit het virtuele netwerk wilt toestaan, selecteert u Privétoegang en selecteert u vervolgens het juiste abonnement, het virtuele netwerk en het subnet. Als u geen virtueel netwerk en subnet selecteert, wordt er een nieuw netwerk en subnet gemaakt.
Ten slotte moet u Privé-DNS integratie instellen om verbinding te maken met een volledig gekwalificeerde domeinnaam in plaats van een IP-adres, wat kan veranderen. Selecteer een bestaande DNS-zone of laat Azure een nieuwe voor u maken.
Versleuteling tijdens overdracht configureren
Standaard accepteren flexibele MySQL-servers alleen versleutelde verbindingen met TLS (Transport Layer Security) versie 1.2. Als u nieuwe toepassingen ontwikkelt die TLS 1.3 ondersteunen, is het raadzaam om de nieuwere versie te ondersteunen of zelfs af te dwingen. Hiertoe voert u de volgende stappen uit:
- Selecteer in Azure Portal de flexibele MySQL-server waarmee u verbinding wilt maken met TLS 1.3.
- Voer in de sectie Serverparameters tls_version in de zoekbalk in de filters Top of All.
- Selecteer TLSv1.2 en/of TLSv1.3 in de vervolgkeuzelijst VALUE en selecteer Opslaan.
U kunt ook niet-versleutelde verbindingen toestaan door de waarde van de require_secure_transport
parameter in te stellen op uit, hoewel dit niet wordt aanbevolen, tenzij strikt noodzakelijk.
Microsoft Defender for Cloud
Microsoft Defender voor Cloud is een rendabele manier om afwijkende of verdachte databaseactiviteit te detecteren en te waarschuwen. Voer de volgende stappen uit om deze in te schakelen:
Selecteer in Azure Portal de flexibele MySQL-server die u wilt beveiligen met Defender.
Selecteer In de sectie Microsoft Defender voor Cloud de optie Inschakelen.
Zie de referentiedocumentatie voor meer informatie over Defender, waaronder het configureren van waarschuwingen.
Verificatie via Microsoft Entra-id inschakelen en er verbinding mee maken
Voordat u begint, hebt u een door de gebruiker beheerde identiteit (UMI) nodig. De identiteit heeft de rol Directory Readers nodig, of deze afzonderlijke machtigingen: User.Read.All, GroupMember.Read.All en Application.Read.ALL. Zie deze zelfstudie voor meer informatie over het toevoegen van deze machtigingen.
Voer de volgende stappen uit om Microsoft Entra ID-verificatie in te schakelen voor een flexibele Azure Database for MySQL-server:
Selecteer in Azure Portal de flexibele MySQL-server waarmee u verbinding wilt maken met behulp van Microsoft Entra-id.
Selecteer Verificatie in de sectie Beveiliging.
Selecteer onder de kop Toegang toewijzen aan: Alleen Microsoft Entra-verificatie (schakelt systeemeigen aanmelding van MySQL-gebruiker/wachtwoord uit) of MySQL- en Microsoft Entra-verificatie (staat systeemeigen MySQL - en Microsoft Entra-aanmeldingen toe).
Selecteer onder de kop Select Identity de UMI die eerder in deze les is genoemd.
Selecteer een Microsoft Entra-gebruiker of -groep als Microsoft Entra-beheerder. Als u een groep selecteert, zijn alle leden van de groep beheerders. U kunt slechts één gebruiker of groep met beheerdersrechten hebben en de vorige beheerder vervangen door een andere gebruiker of groep te selecteren.
Als Microsoft Entra ID is ingeschakeld, kunt u nu verbinding maken met de flexibele MySQL-server met behulp van Microsoft Entra ID-verificatie door de volgende stappen uit te voeren.
Verifieer een shell met Azure. Als u Azure Cloud Shell gebruikt, is uw identiteit al geconfigureerd in de sessie, zodat u zich niet hoeft aan te melden. Als u een niet-geverifieerde terminal gebruikt, voert u de volgende opdrachten uit:
az login az account set --subscription <subscription_id>
Voer in een geverifieerde shell de volgende opdracht uit om een toegangstoken op te halen:
az account get-access-token --resource-type oss-rdbms
Als u zich wilt aanmelden, kopieert u het weergegeven toegangstoken en gebruikt u het als wachtwoord. Voer in Linux de volgende opdracht uit om het toegangstoken rechtstreeks door te geven aan de mysql-client:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
Als u PowerShell gebruikt, voert u de volgende opdracht uit:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)
Wanneer u andere clients zoals MySQL Workbench gebruikt, plakt u het toegangstoken in het wachtwoordveld.
Data-at-rest versleutelen met door de klant beheerde sleutels
U kunt versleuteling at rest configureren met behulp van Azure Portal of met behulp van de Azure CLI. Voordat u echter versleuteling met door de klant beheerde sleutels kunt inschakelen, moet u controleren of aan de volgende vereisten is voldaan:
Door de gebruiker beheerde identiteit (UMI). U hebt een UMI nodig voor de database voor toegang tot de sleutelkluis.
Machtigingen. Stel op rollen gebaseerde toegang (IAM) of een toegangsbeleid voor een kluis in en verdeel de volgende machtigingen aan de UMI: Ophalen, Weergeven, Verpakken en Sleutel uitpakken.
Schakel [voorlopig verwijderen](/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior" in. Per ongeluk verlies van toegang tot een versleutelingssleutel kan leiden tot permanent gegevensverlies. Schakel voorlopig verwijderen in als een beveiligingslaag. Wanneer u Azure Portal gebruikt om een nieuwe sleutelkluis te maken, is voorlopig verwijderen standaard ingeschakeld.
Als u de naam van de kluis kent, maar niet de id, kunt u deze opzoeken door het volgende uit te voeren:
az keyvault show --name $KEY_VAULT_NAME
Als u voorlopig verwijderen wilt inschakelen voor een bestaande kluis, voert u het volgende uit:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
Schakel beveiliging tegen opschonen in. Een voorlopig verwijderde sleutel kan nog steeds onjuist worden verwijderd vóór het einde van de bewaarperiode vanwege een fout in de gebruiker of code. Met beveiliging tegen opschonen wordt een bewaarperiode ingesteld voor verwijderde objecten voordat ze definitief worden verwijderd.
U kunt nu Azure Portal of de Azure CLI gebruiken om de door de klant beheerde sleutel te configureren voor het versleutelen van data-at-rest.
Als u Azure Portal gebruikt:
Navigeer naar uw flexibele serverexemplaren en selecteer vervolgens onder Beveiliging de optie Gegevensversleuteling.
Selecteer + Selecteren onder Gegevensversleuteling. Selecteer in het dialoogvenster Door de gebruiker toegewezen beheerde identiteit selecteren de door de gebruiker toegewezen beheerde identiteit die is geïdentificeerd in de vereisten, selecteer de identiteit en selecteer vervolgens Toevoegen.
Selecteer vervolgens een sleutel-id en voer de id in, of selecteer in het dialoogvenster Sleutel selecteren de sleutel door de id op te geven of door een sleutelkluis en sleutel te selecteren.
Selecteer Opslaan.
Als u de Azure CLI gebruikt, voert u de volgende opdracht uit:
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY